Processor Backgrounder

Introduction / Instruction Set Technology / The Platform / The Workstation / Computer Architecture / MMX Technology / SIMD / Compilers & Interpreters / Java / Clone Processors


       Introduction

A microprocessor or CPU can do nothing without instructions and at the base level an instruction set provides the repertoire of 'machine language' instructions that the CPU can follow. In the business desktop market, two processor designs have risen to give the 'platforms' of today. Each platform has its own 'instruction set and programs written with one set of instructions will not run on a processor which reads a different set of instructions. Java is an exception to this. Processors from alternative manufacturers to Intel are available and are called 'Clone' processors in much the same way as copies of the IBM PC were called clones. Clone processors must be fully Intel 'x86' code compatible to enjoy compatibility >>>> {short description of image} with all existing PC software and also new developments. The two main business 'platforms' which have evolved are Apple based systems using a Motorola series processor or the more popular 'Wintel' system (Windows/ Intel), the latter being the harmony which has created such a large 3rd party investment and a de-facto standard ( but not necessarily the best ), the 'Windows' Operating System from Microsoft and the Intel processor range. Another type of platform is from 'Sun Microsystems', a brand name strongly associated with Workstations for engineers and scientists and based on RISC principles. Sun were also responsible for development of JAVA, a 'cross platform' approach to program development.



       Instruction Set Technology, 'RISC' and 'CISC'

Intel x86 CISC (Complex Instruction Set Computing) architecture would face severe competition from the current 'resurrection' of RISC (Reduced Instruction Set Computing) processors with their superior performance, but because PC software is designed for and compiled to run exclusively on an x86 platforms, CISC is reprieved. The lack of Microsoft Operating System support on RISC processors is a major hurdle to the progression of RISC platforms, although Windows NT has been 'ported' over. However, the newer Intel and clone x86 processors have implemented many of the key features of RISC, making the most of both worlds and the performance gap significantly less ( notably the AMD 'K6' ). RISC, as its name suggests, is defined by a more simple instruction set etched into logic circuits, the most basic, {short description of image} often used commands that can be executed in a single clock cycle ( the smallest definable level of CPU operation ). Therefore more simplified circuitry is used for the instruction decoding and execution. A reduced chip complexity (in respect of the logic needed for instructions) creates room ( accepting the max density using the current design and manufacturing process) for more 'avenues of execution' or 'pipelines' which can execute multiple instructions simultaneously ( superscalar execution ). In other words RISC enables more functionality on a chip than CISC designs allow. The more complex circuitry in CISC designs comprises a 'translation layer' to produce 'micro-instructions', or micro-code, to be presented to the CPU for execution.

With RISC designs the micro-code layer and associated overhead is eliminated and so execution of instructions is faster as they drive the CPU directly. RISC based compilers do more work than CISC based ones, having to generate software routines using simpler instructions to perform what would normally be performed by a single, complex instruction in CISC. Also CISC enables the computer architect to more easily add new types of machine instructions without having to design and make new electronic circuits (handy for MMX). In the past, higher cost RISC designs ( they need more memory and cache than CISC ) precluded themselves from wide acceptance in low-cost consumer and commercial applications, {short description of image} even though designers were aware of the performance difference. Making a single instruction do more seemed to be the right way to go, although RISC technology was used extensively in high-performance Workstations for scientific and engineering applications where performance at the cost premium could be justified. 'Sun Microsystems' is a brand name strongly associated with the RISC workstation platform, a company responsible for development of JAVA, a 'cross platform' approach to program development. RISC designs give off more heat and therefore differ to CISC in cooling requirements.

top


       The 'platform' ... hardware or software ?

The term originally dealt exclusively with hardware, and is still used to refer to a CPU model or computer family. For example, the Intel x86 (that is 086, 286, 386, 486, 586) processor is part of the world's largest hardware platform, also called the 'PC' platform, and was part of the PC standard. VAX, AS/400 and SPARC are other examples of hardware platforms. A platform can be a software architecture, such as an Operating System, in which case the hardware may or may not be implied. For example, when a program is said to "run on the Windows platform," it means that the program has been compiled into the Intel x86 machine language and that it communicates with the Windows OS. If Windows were to become extremely popular on Alpha hardware, then to say " it runs {short description of image} on the Windows platform " would be ambiguous. In order to differentiate, one would have to say "Windows for Alpha" or "Windows for Intel. This is especially true for the UNIX operating system. Since some variation of UNIX runs on almost every hardware platform today, the phrase "the program runs on the UNIX platform" is not precise. It generally means that the application runs on the most popular UNIX workstations, but you would have to find out which ones to be sure. Microsoft have a version of Windows NT (New Technology) for MIPs and Alpha RISC processors, but Win 95 is only available on (compiled for) x86.

top


       The Workstation

This term generally refers to a RISC based desktop computer or minicomputer ( free standing tower ) used for Computer Aided Engineering, Simulations and Scientific Applications that run under some variation of the UNIX Operating System. For years Workstations used for Computer Aided Design, Medical Imaging and Scientific Visualization have used large, {short description of image} high resolution monitors and by tradition have been UNIX-based. These systems are always pushing performance where costs can be met by Industry and Science rather than Business and Home users. However today, the 'high - end' PC platform competes with Workstation performance and is popular amongst application developers.



'CISC' chips

Platform Developed by... and use
x86 Intel, Advanced Micro Device (AMD), Cyrix. All PCs.
680x0 Motorola. Mostly earlier Macintoshes, early Sun
Vax Digital's mini series. VMS Operating System
S/370 IBM mainframes
S/390 IBM mainframes
AS/400 IBM midrange. Formerly System/38
S/36 Early IBM mini, System/36
Tandem Fault tolerant systems, Non-Stop
Unisys Unisys mainframes
PDP/11 Digital's 1st mini




'RISC' chips

Platform Developed by... and use
88000 Motorola, DG, Encore
MIPS SGI, Pyramid, Tandem, NEC, Siemens
SPARC / UltraSPARC Sun and SPARC-licened clones
PA-RISC HP workstations, servers
Alpha Digital workstations, servers
PowerPC Apple, IBM, Motorola
i860 Intel, Stratus systems
ARM Arm Ltd., embedded systems, NCs

top



       Computer architecture and Client/Server

The 'design' of a computer system. It sets the standard for all devices that connect to the system and all the software that runs on the system. 'open architecture' is a system in which the specifications are made public in order to encourage third-party vendors to develop add-on products. This was the concept behind the IBM PC. Much of Apple's early success was due to the Apple II's 'open architecture'. Computers designed for a specific purposes, such as array processors and database machines, require special designs. As the name suggests, Client / Server is an architecture in which the Client ( PC or Workstation form ) is the 'requesting' machine and the Server is the 'supplying' machine, both are connected via a network. {short description of image} Since the early 1990s and thanks to more computing power, C/S has been a buzzword for developing applications software on Local Networks in contrast to a larger centralized computer with terminals attached. The client contains the 'user interface' (program interface) and may perform some or all of the application processing. The Server can be a micro, mini or mainframe and maintains the database and processes requests from the Client to extract data from, or update the database. C/S is more than a dedicated server on a network which simply downloads files or shares a program or database. It implies that the application was originally designed to run on a network, and that the server takes on part of the processing task thereby reducing traffic on the network.

top


       MMX Technology

Multimedia Instructions (MMX) technology is an enhancement physically in the chip architecture which recognizes and processes those instructions, 'MMX technology' also defines an extension to the instruction set (57 extra) specifically designed to manipulate and process video, audio and graphical data efficiently including video conferencing for business. MMX operations rely on the fact that highly parallel, {short description of image} repetitive sequences of instructions and data are often found in multimedia operations. However the difference will only be noticed by those applications compiled with MMX instructions and run on a processor incorporating the technology. MMX applications are of course backwards compatible with non MMX processors, and non MMX applications are compatible with MMX processors.

top


       SIMD

To days multimedia and communication applications often use repetitive loops that, while occupying 10% or less of the overall application code, can account for up to 90% of the execution time. A process called 'Single Instruction Multiple Data' enables one instruction to perform the same function on multiple pieces of data. {short description of image} It allows the chip to reduce compute intensive loops common with video, audio, graphics and animation. This is analogous to a drill sergeant telling an entire platoon "About face" rather than commanding each soldier individually.



       Compilers and Interpreters, translators

The process of compiling is performed by software called a compiler. After a program is written in a high level language (the 'source' code) such as 'C' or C++' for a particular platform (say Windows or Apple) it is then 'compiled' ( reduced to a fundamental instruction level, the 'object' code ) for the target platform. Compiled programs are translated in whole into the machine language ( the fundamental instruction level ) of the target computer, the program being in binary coded instructions and a "ready to run" condition when loaded. The program is then machine dependant. The 'source' code has been converted into m/c language instructions or 'object' code.

The process of Interpreting is performed by an 'Interpreter' program. Interpreted programs are kept in the same source

{short description of image}

language format the programmer wrote in i.e. as text files, not machine language files, and run with the interpreter in 'real time'. One program statement is translated into machine language, is executed, then the next statement, which means they run more slowly than when compiled. For example, Visual Basic applications are interpreted, and the Visual Basic interpreter must be present in the computer to run the program. However, it is very convenient to write an interpreted program, since a single line of code can be tested interactively. If a language can be both interpreted and compiled, a program may undergo development with the interpreter for ease of testing and debugging and later compiled for production use.

top


       Java, the 'cross-platform' approach

To clarify Java , we can look to how other high level programming languages such as C, C++ and Pascal produce executable programs by being translated in to a form ( the machine language ) that a specific hardware platform can understand. In order for a program to run, it must be presented to the computer as binary-coded machine instructions ( complying to the instruction set ) that are specific to that CPU model or family. In 1994, Sun introduced the Java programming language and ushered in a new era for application development on the Internet, being one of the major proponents behind the Network Computer (NC) which are 'leaner' client workstations that download all their software from the server. {short description of image} Java can be used to create complex applications that may run on a single computer or be distributed among servers and clients in a network. It can also be used to build small application modules or applets for use as part of a Web page. These make it possible for a Web page user to interact with the page. A Java program is compiled into byte code that can be run on any server or client in a network that has a Java Virtual Machine. The JVM interprets the byte code into code that will run on the real machine (not a virtual one.) This means that individual computer platform differences can be recognized and accomodated locally without requiring different versions of your program.
What is the Java Platform? What is Java (local)
Sun Glossary javaquiz.htm

top


       'Clone' Processors

A 'clone' processor works like the original, but does not necessarily look like it. It implies 100% functional compatibility, a necessity for compatibility with the bulk of software products. Intel is not without rivals and today a number of companies offer 'compatible' or 'clone' processors which can fill niche product areas not well covered by the Intel range. 'Fight backs' by the competition can provide new or enhanced features, otherwise near copies ( claims about performance vary accordingly ) are offered at a reduced price. Consumers need a slight incentive to divert from a 'no risk' Intel chip.

Advanced Micro Device (AMD) processors have always been functionally compatible (understand the same Instruction Set) and 'pin' compatible (fit into the same sockets) as Intel models. Their first 'Pentium Class' product from AMD was the 'K5' which is not a clone of the Pentium as it does not use any Intel technology. The future 'K7' will use AMD's version of 'slot 1', similar mechanically with the proprietary

{short description of image}

architecture but different electrical and signalling specs. The 'K6' can be a popular alternative to the Pentium II but fits 'socket 7'. Compatibility with 'socket 7' means inclusion within the industries most cost effective and widely used 'PC' infrastructure (motherboards, chipsets and BIOS). By working within the 'socket 7' environment, PC manufacturers and re sellers can leverage high volumes and low cost system designs and mature infrastructure.

The K6 also boasts use of RISC technology, so how can it be compatible with x86 instructions ? It internally decodes x86 instructions into RISC86 operations that directly support the x86 instruction set while adhering to RISC performance principles Cyrix (IBM's answer to the first Pentium) produced the M1 followed by the 6x686MX (socket 7) and NexGen the NX586 which was not pin and bus compatible, making it difficult to use with other standard system components.

http://www.amd.com
http://www.evertech.com
http://www.ibm.com


back forward top
 
 

Site Map