Look for online version of RAM in March issue of MAXIMUM PC (pp. 67-69.).
Supercomputers, Competing Countries; nice short sound bite and graph. (my backup copy)
NEC  laser chips and petaflop supercomputers. (my backup copy)
Japan' quest for "supercomputer on a chip".  
alert_red.gifupdated.gifLAST UPDATE: 10/15/07alert_red.gif
Under  Reconstruction!


LEARNING MODULE IIIB
THE CENTRAL PROCESSING UNIT
& PRIMARY MEMORY

        In the OVERVIEW OF COMPUTERS the hardware involved in the input-Process-Output mechanism was outlined; the following presentation amplifies these ideas although it is important to remember that this is still greatly simplified. While keeping in mind that "a little knowledge is a dangerous thing!", it is important to have a "feeling" for how a computer accomplishes its processing. This LM is separated from LM IIIC in order to distinguish concepts that apply to all types of computers from those that apply to microcomputers (covered in LM IIIC), so our goals of this Learning Module IIIB are to help the student learn:

  1. to distinguish hardware concepts apply to all types of computers, in general,
  2. to distinguish four basic categories of computers and their subcategories,
  3. to distinguish the categories computer memory and storage
  4. the fundamental hardware components of a generic computer system
  5. a simplified view of how programs are executed by a generic computer
  6. the basic designs of processors
  7. to distinguish basic computing environments
redstar.gifNOTE:  If you are an independent learner (not attending the on-campus classes), it is especially important to read the study guide for this LM.  Even though it is virtually impossible to simulate the interactive in-class presentation on this Web site, I do try.  However, I need your help, so read the study guide to try to understand what I am trying to do.  (I'd appreciate your feedback on how to imporve this simulations of the class environment.)

TPQ 1: Rewrite the preceding objectives in terms of personal accomplishments to be attained after finishing the study of this learning module.
 

The sequence of presentations in this learning module is as follows.  You can click on any link to jump directly to that section.

  1. MICROS, MINICOMPUTERS, MAINFRAMES, & SUPERCOMPUTERS
  2. CATEGORIES OF COMPUTER MEMORY
  3. THE CENTRAL PROCESSING UNIT (CPU )
  4. HOW DOES A COMPUTER EXECUTE A PROGRAM?
  5. PROCESSOR DESIGN
  6. COMPUTING ENVIRONMENTS
  7. SUMMARY
1 MICROS, MINICOMPUTERS, MAINFRAMES, & SUPER COMPUTERS:

        The distinction between microcomputers, minicomputers, mainframes, and super computers is vague and ever-changing; there is also a great deal of overlap in capabilities especially when comparing new models of one type with old models of another type. Textbook specifications, being a year or so out of date, are not reliable as to the state of the art. In the sequence below the prices, size and processing power increases with each category.  These four categories are traditional but are, I think, obsolete. There is no clear, time independent distinction between computers, but I would prefer to categorize computers as personal computers, multiuser computers, and super computers.

1.1 Micros are built around a Microprocessor (MP):

  1. Microcomputers are distinguished from all the others in that they are designed for the single user, i.e. the microprocessor is actually in the user's computer.
  2. Older micros use words that are 8 bits (IBM PC and XT, Apple IIe, Commodore 64, etc.) 16 bits (IBM AT, Apple Macintosh, Atari ST, Commodore Amiga 2000, etc.), or 32 bits or 64 bits (current PCs).
  3. The micro category can be subdivided (See Learning Module IIIC, PERSONAL COMPUTERS.) into:
    1. personal computers
    2. workstations: special purpose, high performance, client-server microcomputers connected to networks.
    3. portables (including "laptops", "notebooks", "palmtops", etc): specifically designed to perform anywhere. They are compact and use batteries for power.
    4. "Pen-based computers" include Personal Digital assistants (PDAs) or Personal Information Managers (PIMs) are a recent evolution combining digitizing tablets and screen input. Both are actually like hand-held writing tablets that allow users to input text, graphics, or commands by writing or drawing directly on a flat-panel screen. PDAs currently have very little "computer" facilities other than personal productivity software and communications. They are not truly programmable.
    5. modern cellphones are essentially networked computers although they are very specialized and consequently wouldn't be called a computer in the classic sense.
1.2 Minis and Superminis:
  1. Minicomputers are the smallest multiuser computers in which the user sits at a terminal (keyboard and monitor) which is connected with a central CPU at another location; they were originally designed as scaled-down, special purpose mainframes servicing several hundred terminals.
  2. may have coupled CPUs or parallel (simultaneous) processing CPUs; and
  3. sit on the floor, fill a small room, and need little or no environmental control.
1.3 Mainframes (See Figure CPU-1.):
  1. Mainframes, the oldest category of computers, are designed to be accessed by a large number of users (several thousand terminals), perhaps for all the employees of a given company.
  2. may have parallel processing CPUs for simultaneous operations;
  3. take up a whole room and older types often require temperature and humidity control.

1.4 Supercomputers (now called "High Performance Computers", HPC):
  1. are usually custom designed from modular components.
  2. have vector processing CPUs which handle huge number collections all at once;
  3. usually provide parallel processing (multiple CPU/Memory modules capable of processing independent parts of a single program simultaneously) and often involve massively parallel processing (MPP), with thousands of cooperating CPUs.
SAQ 1: Categorize the preceding types of computers as to whether they are PCs or multiuser computers.
SAQ 2: Distinguish the different types of multiuser computers.

2. CATEGORIES OF COMPUTER MEMORY AND STORAGE:

        Although secondary storage doesn't really belong in this learning module (See Learning Module V, Secondary Storage), it is instructive include it in the following summary to show how it interacts with primary memory and how it is an integral part of the overall computer system.  (The organization of the following summary is from slowest to fastest and cheapest to most expensive.)  For more details and informative pictures, see How Computer Memory Works from How Stuff Works.

  1. Secondary Storage  (slowest data access) (This is covered in more detail in LM IV.)
    1. Tape (permanent magnetic storage) is, by far, the slowest access storage.  It is now used only for backup.
    2. Magnetic disks (permanent magnetic storage) include diskettes (floppies), hard disks, and removable cartridges.
    3. Magneto-optical disks (permanent magnetic storage; laser assisted writing; permanent) combine magnetic and optical techniques.
    4. Optical disks (e.g. DVD, recordable CDs, etc.) utilizing laser technology allow data to be stored in much greater densities than magnetic storage media.  This will revolutionize secondary storage capabilities.
    5. USB Flash drives are flash memory devices that plug into a USB port, serving as secondary storage; they are also called "flash drives", "pen drives", "keychain drives",  "jump drives", "thumb drives", etc.  Small and light enough to hook onto a key chain, they serve efficient portable secondary storage devices allows data to be transferred at much higher rates than disk media.  See section 2.B.c.iii, below and the explanation in the TechEncyclopedia which has illustrations of the numerous kinds of flash memory.
  2. Primary Memory
    1. RAM, Random Access Memory, (read/write; electronic; volatile) provides temporary storage of programs in execution and the data being processed. There are several different types of RAM, the most popular of which include:
      1. SRAM, static RAM, unlike DRAM, does not need to be refreshed; its storage is fixed (as long as power is supplied to the computer).  This newer, more dependable type of RAM is faster, but more expensive than DRAM.  SRAM is often used for cache memory; see below.
      2. DRAM, dynamic RAM, although its name sounds sophisticated, is the oldest and simplest (and therefore the slowest) type of RAM used today.  The word "dynamic" comes from the fact that it must be electronically "refreshed" constantly in order to maintain the data it stores.
      3. EDO RAM, enhanced data output DRAM,  is a type of RAM that improves the memory access time on faster microprocessors such as the Intel Pentium. EDO RAM was initially optimized for the 66 MHz Pentium. It is now being superseded by . . .
      4. SDRAM, synchronous DRAM, is a new form  of RAM that can be synchronized to the clock speed of the computer, a powerful feature that optimizes data access by the system buses.
      5. RDRAM, Rambus DRAM, is Intel's designated successor to SDRAM has an effective speed of 800 MHz and a peak data transfer rate of 1.6 GBps. However, it has yet to prove itself, and there are several rivals, e.g.
      6. DDR (double data rate RAM) is SDRAM, that is slower than RDRAM but uses a technology that can theoretically double older transfer rates.  It activates output on both the rising and falling edge of the system clock rather than on just the rising edge, potentially doubling output. DDR2 is the second generation of DDR.
      For more information on these subtypes of RAM as well as other less-important subtypes see the excellent article, CNET Lab's Guide to buying RAM.  Two more acronyms associated with RAM, SIMM and DIMM, are not different types of RAM; they are two different ways to modularize memory chips for installation on a PC motherboard.  The SIMM (single in-line memory module) is the oldest and is limited to a data path (word) of 32 bits; the DIMM (dual in-line memory modules) provides 64-bit path which, everything else being equal, make data access  ______(1) as fast as on a DIMM.
    2. ROM, read-only memory, PROM, programmable ROM (write once) are used for permanent storage of programs and data built into the computer by the manufacturer.
    3. EPROM, EEPROM, and flash memory are rewritable PROM, that, unlike RAM, retains its storage when power is turned off.
      1. EPROM (erasable PROM) is erased by  shining ultraviolet light on the exposed chip. To write to or erase and EPROM, one must use a PROM burner.
      2. EEPROM (electronically erasable PROM) is more convenient than EPROM because it can be erased electronically and can be written to in bytes.
        1. Unlike flash memory (See next item.), EEPROM is erased and rewritten at the byte level, which is slower than flash memory updating.
      3. Flash memory (also called "flash RAM"), a special type of EEPROM, can be erased and rewritten in multi-byte blocks rather than the single bytes characteristic of EEPROM.  Although, in theory, it could be, flash memory is not used as primary memory because RAM needs to be addressable at the byte (not the block) level.
        1. Flash memory is most often used in motherboard chips to hold control code escpecilly the BIOS of microcomputers which are called "flash BIOS".  When BIOS needs to be changed (rewritten), the flash memory can be written to in block (rather than byte) sizes, making it easy to update.
        2. Flash memory is much less expensive than EEPROM; therefore it is commonly used when large amounts of non-volatile, solid-state storage is needed.
        3. It is now used in efficient, very portable, nonvolital secondary storage devices called "USB drives", "Embedded Flash drives", etc.
  3. Cache memory (small, fast RAM) is designed to hold frequently used data.  (See section 2.1, below.)
  4. Registers (fastest data access) are built into the CPU itself.  There are many kinds of registers and their number and type depend on the manufacturer's design.  An oversimplified generic set of registers (described in subsequent sections) would include the following: (Explanations are give in section 3, below.)
    1. accumulator (ALU)
    2. storage registers (ALU)
    3. decoder (CU)
    4. instruction register (CU)
    5. address register (CU)
    6. program register or program counter (CU)
    7. several others (depending on the CPU)
SAQ 3: What is the difference between memory and storage as used above?
SAQ 4: (a) What is the difference between the various types of RAM given above?   What is the (b) similarity and (c) difference between RAM and flash memory?
SAQ 5: What are the differences between ROM, PROM, EPROM, EEPROM and Flash memory?

2.1 Reducing the Time of Primary Memory Access:

  1. In general, Cache (high speed RAM that is configured to hold the most frequently used data) is used to improve system performance. Memory cache or CPU cache is a dedicated bank of high-speed RAM chips used to cache data from primary memory. When data is read from primary memory, a larger block than is immediately necessary is stored in the cache under the assumption that the next data needed by a program will be located near the data being read; when that data is needed, it will then be waiting in the high-speed cache. (See disk cache, in section 2.2.)
  2. There are three types of cache:
    1. Level 1 or L1 cache is built into the CPU (e.g. Pentiums and PowerPCs)
    2. Level 2 or L2 cache is contained in separate chips (level 2, or L2, cache,).
    3. Level 3 or L3 cache is built into motherboards between the microprocessor and the main memory, i.e. L3 cache is L2 cache that is built into a motherboard.  According to Webopedia, " what was once L2 cache on motherboards now becomes L3 cache when used with microprocessors containing built-in L2 caches."
2.2 Reducing the Time of Secondary Storage Access:
  1. RAM disks are external add-on RAM boards that can add megabytes of RAM that can act like high-speed disk drives.
  2. Disk cashe is a reserved section of primary memory used to cache data from secondary storage. It operates using the same principles as memory cache.
Figure CPU-2, from MAXIMUM PC, March 2000, p68, is a illustrative analogy of the relative CPU-memory access times.

 
FIGURE CPU-2
From MaximumPC, March 2000, p. 68.

SAQ: What is the (a) similarity and (b) difference between L2 cache and L3 cache?

3. THE CENTRAL PROCESSING UNIT (CPU ):

       The processor of a computer is a very complex VLSI circuit.  However, from an over simplistic illustrative viewpoint it can be thought of as an collection of processing and storage units within an Arithmetic Logic Unit (ALU) and Control Unit (CU) that are linked internally and externally by busses which carry binary signals between.  In its most general form, multiuser computers, is illustrated, from a simplified viewpoint, in Figure. CPU-2.  The three generic components of the CPU are discussed below and amplified in Learning Module IIIC, Personal Computers.
 
FIGURE CPU-3

3.1 The Arithmetic Logic Unit (ALU):

  1. ALU (greatly oversimplified for illustrative purposes) consists of:
    1. the accumulator,  the main data register where all the intermediate results of a calculation are kept ("accumulated") until the final result is determined (which is then stored in memory.
    2. data registers are supplemental storage registers that support the operations of the accumulator.
    3. computational circuits (e.g. a binary adder) that performs mathematical operations, and
    4. operational circuits that perform logic operations.
  2. All math operations are performed in _________(2) numbers.
  3. All logic operations are performed using binary operations.
    1. Logical operations allow programs to contain repetition and selection, the two essential control structures of programming.
    2. Boolean variable = variable that can only be true or false (1 or 0 in a computer).
    3. Logical expression (or Boolean expression)  = statement (question or condition) combining boolean variables with the operators and, or, and not; all expression must reduce to values which are either true or false (1 or 0).
    4. Expression examples:
      1. Repetition:
        1. repeat PROCESS until OutOfData  {OutOfData is a ________(3) variable}
      2. Selection:
        1. If (Grade <= 100) and (Grade >= 0)     {the terms following If are a _________ ____________(4)}
             then print Grade
             else print "Warning: bad Grade data!"
3.2 The Control Unit (CU), "Manager" (or "Traffic Cop") of the CPU:
  1. CU (greatly oversimplified for illustrative purposes) components:
    1. decoders which interpret program instructions (object code written in machine language),
    2. a timer (or clock) which sequences all CPU activities,
    3. logical gates and circuits which distribute signals which activate various components of the CPU,
    4. program counter/register which keeps track of the next instruction to execute, and
    5. registers (e.g. instruction, address,  etc).
  2. Primary CU Functions (in addition to those in section A, above):
    1. reads and interprets machine language instructions
    2. controls the transmission of data between ALU, registers, cashes, primary memory, and auxiliary memory.
    3. controls the sequence of execution of program instruction (i.e. governs branching jumping around within a program) which allows repetition and selection.
    4. directs ALU as to what math or logic operations to perform.
SAQ 6: What are the similarities and the difference between the CU and ALU?

3.3 Buses:

In general, a computer bus, which transports signals in________(5) form throughout the computer, is really a combination of three separate kinds of busses .

  1. The data bus carries ________ between the microprocessor and other components. The size of the bus (number of lines) determines the amount of data that can be transmitted simultaneously, e.g. a 32 bit data bus could transmit a number that is no larger than _____(6) (base ten) or _____(7) characters. (Larger numbers would simply have to be sent in two or more parts.)
  2. The address bus carries the address between the CPU and _________(8) thus selecting the exact location where data is read or stored. Each line carries one bit so the number of lines (wires) in the address bus determines the amount of primary memory that can be directly addressed, e.g. a 32 bit address bus could read/write to __________(9) memory locations.
  3. The control bus carries a code the actual "commands" of the microprocessor, e.g. ____________, __________, (10)etc.
Specific types of buses used in today's PC's are discussed in the architecture section of Learning Module IIIC, Personal Computers.

SAQ 7: (a) What are the similarities and the difference between the the buses described above?  (b) Are these three enough to describe all types of bus architectures?

4. HOW DOES A COMPUTER EXECUTE A PROGRAM?

        From a simplistic viewpoint, computers function by "running" programs.  These programs must be in _________(11) language and stored in ______(12) in order to be executed.  The following subsections describe basic functions of a generic computer (multiuser or PC).

4.1 "Typical Machine Cycle" (Over simplified):

        The system clock of a computer synchronizes the execution of machine language programs by the CPU.  Again, from a simplistic viewpoint, this is explained in terms of the machine cycle which consists of two subcycles, the instruction and execution cycle.  (WARNING: there are many different ways of explaining this, so you may find descriptions that use different terms and specify a different number of steps; however, they all reduce to the same basic operation!)

SEE FIGURE 4-5 IN SHELLY & CASHMAN (WHICH HAS A FOUR STEP CYCLE).

  1. Instruction Cycle (also called the I-cycle):
    1. The CU fetches an instruction from RAM and places it in the instruction register.
    2. The CU decodes  (interprets), the instruction, typically into two parts (address and operation)
      1. the address part is placed in address register.
      2. the operation part ("opcode") is placed in operation register
  2. Execution Cycle (also called the E-cycle):
    1. The ALU executs the instruction
      1. The CU fetches the data pointed to by the numbers in the address registers and places it in the Memory Buffer Register(s).
      2. The CU Directs ALU to perform instruction.
    2. The CU stores results (intermediate & final) in the appropriate storage location.
      1. If the instruction is an arithmetic operation, the result is placed in the accumulator.
      2. If the instruction is a store operation the accumulator contents is placed in RAM or cache.

4.2 A Example of the execution of a Machine Language Instruction:

    A simple instruction, from the machine language for the Motorola 6800 processor (covered in LM X, Programming languages) is ADD A Y that adds a number from a location Y, in primary memory, to a number already in the accumulator, A (from a previous operation).  Assuming the above machine cycle, this is what happens:

  1. Instruction Cycle:
    1. The CU fetches an instruction, ADD A Y, from RAM and places it in the instruction register.
    2. The CU decodes  ADD A Y:
      1. the address part, Y, is placed in address register.
      2. the opcode, ADD, is placed in operation register
  2. Execution Cycle:
    1. The ALU executes the instruction, ADD.
      1. The CU fetches the data value pointed to by Y in the address registers and places that value in the Memory Buffer Register.
      2. The CU Directs ALU to perform instruction, adding the value in the Memory Buffer Register to the value in the accumulator, A.
    2. The CU continues to the next instruction (because there is no storing in this instruction; the result stays in the accumulator where it may be used in further math operations).

SAQ 8: What are the similarities and the difference between the machine cycle presented in this learning module and that in the text?

4.3 CPU Speed Is Determined by the Internal Clock:

  1. Each clock pulse activates one stage of a machine cycle.
  2. One machine code instruction may require several machine cycles.
  3. Units of measurement of CPU speed:
    1. Hertz is a general unit of "frequency" for electromagnetic phenomenon. Megahertz (MHz z) is the current unit of electronic speed for processors.
    2. Two older units: MIPS, millions of (machine cycle) instructions per second, is used to measure the speed of execution of machine language instructions. Mflops (million floating point operations per sec.) is the a complementary unit used to measure the execution speed of real (mixed) numbers. Mflops was primarily used for supercomputers and mainframes which perform floating point operations in the CPU; however, current microprocessors are now capable of this, so measurement of their floating point calculation speeds are now important.
    3. Two new types of units are now being used as benchmarks; these should be used only for relative performance comparisons. Because there are so many benchmarks it is virtually impossible to get absolute measurements of CPU speeds, so one should only compare computers using the same benchmarks.  Examples of benchmarks include:
      1. Linpack which is used to rate high-performance computers (supercomputers).
      2. Futuremark.com produces a suite of benchmarks for Windows PCs.  The Call for Help people at TechTV recommend PCMARK for basic  consummer benchmarking, for example:
        1. PCMark 05 Basic v1.10: PCMark®05 (freeware) is everything you need to reliably and easily measure the performance of your PC and determine its strengths and weaknesses. With PCMark05, you will be able to select the optimal upgrades for your existing PC, or choose the right new PC that fits your specific needs. This easy-to-use product gives you the same tools and knowledge that virtually every professional tester in the industry uses.
      3. For a detailed list of types of benchmarks and examples see Wikipedia.
  4. Of course, it is not just the CPU speed that is important to the user; the overall speed of the whole computer system that is most significant! This depends not only on the CPU speed but on:
    1. whether or not accelerator boards are added (and their speed),
    2. speed of the various computer busses (connections between the computer components),
    3. amount of cache and RAM,
    4. efficiency of software (O.S. as well as applications; they often do not take advantage of the latest hardware facilities). Some applications are specifically designed to improve system performance, e.g. RAM Doubler and Speed Doubler which do what they say!
    Like the old adage, "A chain is only as strong as its weakest link", a computer is only as fast as its slowest component! Obviously the best way to compare computers is to run one of your own applications on two computers and compare their performance.  These ideas are amplified in LM IIIC.
5.0 PROCESSOR DESIGN:
  1. Processor technology:  There are two basic types of technology, CISC and RISC, but in practice the older CISC technology has included significant features of RISC.  (See section 2 of LM IIIC.)
    1. CISC (Complex Instructional Set Computing) technology; all early microprocessors have non uniform instruction sets.
    2. RISC (Reduced instruction Set Computing) technology, a newer approach than CISC, achieves higher performance via a simplified language (with instructions of the same length) manipulating a sophisticated architecture containing more registers than corresponding CISC chips. This combination gives it greater efficiency than pure CISC.
  2. Pipelining is a processor technique of overlapping the execution of computer instructions by simultaneously performing different operations on adjacent instructions each in its own conceptual "pipe".  In our simplified view of the machine cycle, a pipelined CPU would be performing the execution cycle operations on a set of instructions while it is performing the instruction cycle operations on the subsequent set of instructions, i.e. when the pipeline first fills up, the following operations would be performed simultaneously in the six pipes of the CPU:
    1. the first instruction results would be stored
    2. the second instruction would be executed
    3. the third instruction's data would be _________(13)
    4. the fifth instruction would be _________(14)
    See Shelly & Cashman, Figure 4-6.
  3. Multiprocessing (discussed, previously in the context of operating systems) is the technology where multiple processors are utilized; the actual hardware can have many forms, e.g. multiple cores on one die (See LM IIIC.), multiple chips in one package, multiple packages in one system unit, etc.  It is important to note that in addition to multiple processors, the system must have (1) an multiprocessing operating system capable of managing multiple processors and (2)  multiprocessing software, i.e. the software, itself, must be written to utilize multiple processors.
    1. Parallel processing is a particular application of multiprocessing. It is a combination of hardware and software techniques speeds up the processing of a program by dividing them among multiple processors. In these systems, two or more processors shared the work to be done.   See Shelly & Cashman, Figure 4-10.
      1. The earliest versions had a master/slave configuration. One processor (the master) was programmed to be responsible for all of the work in the system; the other (the slave) performed only those tasks it was assigned by the master. This arrangement was necessary because it was not then understood how to program the machines so they could cooperate in managing the resources of the system.
      2. In modern symmetric multiprocessing systems (SMP) system, each processor is equally capable and responsible for managing the flow of work through the system. Initially, the goal was to make SMP systems appear to programmers to be exactly the same as single processor, multiprogramming systems. (This standard of behavior is known as sequential consistency). However, engineers found that system performance could be increased by someplace in the range of 10-20% by executing some instructions out of order and requiring programmers to deal with the increased complexity, hence the software/harware cooperation requirement  The question of how SMP machines should behave on shared data is not yet resolved. Parallel processing on a large scale (thousands of SMP processors) is called massively parallel processing (MPP). See SMP in Wikipedia.
      3. For examples of parallel processing supercomputers see Wikipedia's "Special-purpose supercomputers" and "The fastest supercomputers today"Wikipedia's "Top 500" (unclassified) supercomputers in the world, and the official Website of The Top500.
SAQ 9:  What is the (a) similarity and (b) difference between pipelining and parallel processing.

6. COMPUTING ENVIRONMENTS:
  1. Real-time processing systems facilitate online interaction between human user or electronic device (such as a nuclear power plant safety monitoring system), i.e. it provides immediate response.
  2. Teleprocessing systems consist of two remote nodes that exchange transmissions via a communication channel.  These nodes can be computers, terminals (I/O stations), or devices (storage, I/O, etc.).  (This will be covered more thoroughly in LM VI COMMUNICATIONS AND NETWORKING and LM VII, OVERVIEW OF CYBERSPACE.)
  3. Distributed processing systems consist of remote computers or workstations that are networked to provide optimum processing power to a variety of users at different locations. (This will be covered more thoroughly in  LM VI COMMUNICATIONS AND NETWORKING and LM VII, OVERVIEW OF CYBERSPACE.)
  4. Embedded systems consist of equipment with dedicated microprocessors. They are permanently programmed (software in ROM) to control the equipment, usually in response to sensor inputs.
  5. Types of General-purpose Terminals:
    1. Dumb terminals can only input to a separate CPU.
    2. Smart terminals have their own memory and editing capability.
    3. Intelligent terminals are smart terminals with their own CPU. These include:
      1. Desktop microcomputers
      2. Portable micros can be used for remote input for later transfer into larger systems.
      3. Workstations are microprocessor based intelligent terminals with powerful, special purpose capabilities. Microcomputers can be used as workstations by connecting them to networks.
      4. "Network Computers ("NCs") which are innovative, inexpensive devices just coming to market. With this technology all programs are stored on "servers" and are "downloaded over a computer network before they are executed. Thus they will be much less expensive than any other computing device. The battle cry of NC exponents is "The network is the computer!", a provocative idea indeed!
SAQ 10: What does the sentence "The network is the computer!" mean?

7. SUMMARY OF THIS LEARNING MODULE:

  1. The traditional categories for classifiying computers are:
    1. microcomputers whose CPU is a microprocessors; they are typically personal computers.
    2. minicomputers are multiuser computers that are cost efficient alternatives to ...
    3. mainframes are large scale multiuser computers (They were the original type of computer developed in the early '50s.)
    4. super computers (more properly called High Performance Computer or HPCs) are typically custom designed for the most processing intensive applications
    There is considerable overlab in the preceding categories especially in different time periods.  The microcomputers of today are equivalent to the super computers of a decade ago!  Perhaps a better classification of computers would be personal computers, multiuser computers, and super computers.
  2. The categories of computer storage and memory include the following (from slowest and least expensive to fastest and most costly)
    1. Secondary Storage (covered in detail in LM IV) is permanent, but programs must be loaded into RAM to be executed.
      1. Tape is primarily used only for backup.
      2. Magnetic disks are currently the primary media for storage, but will probably be superceded by optical media in the near future
      3. Magneto-optical disks store data magnetically but use lasers to assist the read/write process
      4. Optical disks utilizing laser technology allow data to be stored in much greater densities than magnetic storage media.
      5. USB Flash drives are flash memory devices that plug into a USB port, serving as efficient, extremely portable secondary storage with data transfer rates far in excess of disk media.
    2. Primary Memory
      1. RAM, Random Access Memory, (read/write; electronic; volatile) provides temporary storage of programs in execution and the data being processed. There are several different types of RAM, the most popular of which include DRAM, SRAM, EDO RAM, and SDRAM.
      2. There are two types of packages for RAM:
        1. SIMM (single in-line memory module) is the oldest and is limited to a data path (word) of 32 bits.
        2. DIMM (dual in-line memory modules) provides 64-bit path, effectively doubling the access time of a DIMM.
      3. ROM, read-only memory, PROM, programmable ROM (write once) are used for permanent storage of programs and data built into the computer by the manufacturer.
      4. EPROM, EEPROM, and flash memory are rewritable PROM, that, unlike RAM, retains its storage when power is turned off.
    3. Cache memory (small, fast RAM) is designed to hold frequently used data.
    4. Registers (fastest data access) are memory locations built into the CPU itself.
  3. The central processing unit (CPU) carries out all processing in a computer.  From a simplified point of view, the a CPU consists of:
    1. Arithmetic logic unit (ALU) which
      1. consists of the accumulator, registers, and associated circuits,
      2. performs all math and logic operations
    2. Control unit (CU) which
      1. consists of decoders, a timer, program counter, registers, and associated circuits
      2. performs interpretation of machine language instructions and manages the operations of the CPU
    3. busses which are have three generic forms: address, data, and control
  4. Simplified view of CPU operations:
    1. The most common description of a computer's machine cycle has the sequence:
      1. Instruction Cycle:
        1. the CU fetches an instruction from RAM into the instruction register.
        2. The CU decodes the instruction.
        3. The CU stores the instruction in CPU registers
      2. Execution Cycle:
        1. The CU fetches the data from RAM into data registers.
        2. The CU Directs ALU to perform the instruction.
        3. The CU stores the results in the accumulator or RAM
    2. CPU speed is determined by the system clock
      1. Each clock pulse activates one stage of a machine cycle.
      2. One machine code instruction may require several machine cycles.
      3. CPU speed is measured in MHz, MIPS, Mflops, and benchmarks.
      4. Actual computer performance speed depend on numerous interacting components such as accelerators, busses, cache, software efficiency, etc.
      5. A computer is only as fast as its slowest component!
  5. Variables in CPU design include:
    1. two basic types of technology:
      1. CISC (Complex Instructional Set Computing) have non uniform instruction sets.
      2. RISC (Reduces instruction Set Computing) have a streamlined language and a sophisticated architecture containing more registers than corresponding CISC chips.
    2. Pipelining is a hardware technology that allows a single processor to speed up program execution by executing different instruction subcycles of different instructions (each with a separate pipeline) simultaneously. See Shelly & Cashman, Figure 4-6.
    3. Parallel processing: This combination of hardware and software techniques speeds up the processing of a program by dividing them among multiple processors operating simultaneously on independent parts of a program.
  6. Various types of computing environments include:
    1. Real-time processing allows immediate, interactive responses to the user.
    2. Teleprocessing systems consist of two terminals exchanging transmissions via communication channels.
    3. Distributed processing systems consist of remote computers that interact via a network.
    4. Embedded systems consist of equipment with built-in microprocessors designed for specific purposes.
    5. The three basic types of network terminals are dumb terminals, smart terminals, and intelligent terminals.