Introduction

 

·        A program is a sequence of instructions describing how to perform a certain task.

 

·        All programs must be converted to a limited set of instructions, which the electronic circuits of a computer can recognize and execute.

 

·        Programs can be executed by converting each instruction in it to the computers built-in machine instructions.

 

·        The conversion is carried out by translators (compilers) or interpreters. Both are similar in the sense that both take the original program instructions and execute the equivalent sequence of machine instructions.

 

·        This gives rise to the idea of a "virtual machine" whose machine language will translate the user written programs to instructions that the electronics in the actual computer can execute.

 

 

 

Contemporary Multilevel Machines

 

 

·        The bottom layer (level 0, is the machine's true hardware. It's circuits carry out the instructions specified by the microcode of level 1.

 

·        The next level up is level 1, which is microarchitecture language level or the microcode level. Here a microprogram interprets the instructions of level 2. There may be several microprograms in this level, corresponding to the level 2 languages.

 

·        Level 2 is the Instruction Set Architecture (ISA). Programs describe the machine's instruction set i.e. the instructions carried out interpretively by the microcode. This is not to be confused with the functions of level 1 which is to execute the instructions within the hardware itself.

 

·        Level 3 is the operating system of the machine whose functions are memory organization, multitasking and the sharing of resources among others.

 

·        Level 4 is the assembly language level whose instructions are provided either by an applications programmer writing in assembly language itself or by a compiler translating a higher level program into assembly language. Assembly language instructions are translated into the lower language instructions by an assembler.

 

·        Level 5 consists of higher-level languages such as C, C++, Java, etc. Programs written in these languages are usually translated to level 3 or 4 instructions by compilers or interpreters.

                                   

 

 

 

 

 

 

 

 

 

 

                                    MILESTONES IN COMPUTER ARCHITECTURE

                                   

 

           

The Zeroth Generation - Mechanical Computers (1642-1945)

 

·        The French scientist Blaise Pascal designed and built the very first mechanical computer, which used gears and was powered by a hand operated crank. It was capable of addition and subtraction only.

 

·        Thirty years later the German mathematician Baron Gottfried Wilhelm von Leibniz built another mechanical machine that could multiply and divide as well thus giving rise to the first equivalent of the four-function pocket calculator.

 

·        A 150 years later Charles Babbage built the difference engine, which ran a single algorithm to compute tables of numbers for naval navigation. Babbage then designed the analytic engine, which comprised of store (memory), the output section (punched and printed), the mill (computational unit) and the input section (punched card reader). This analytic engine was designed to run different algorithms by punching in different instructions on the punched cards.

 

·        The analytic engine also gave rise to the world's first computer programmer, Ada Augusta Lovelace who was hired to produce the software for the engine.

 

 

 

The First Generation - Vacuum Tubes (1945-1955)

 

                       

·        One of the most important concepts introduced during this era was the concept of the Universal Computing Machine by Alan Turing.

 

·        The Turing Universal Machine is a general formal system that can imitate any other system. Turing machines are described by using an instruction table (program).

 

·        Instructions and data are both on tape (changeable logic) and can imitate any machine. Symbol (variable) manipulating rules have the most significance.

                         

·        Digital computers are universal Turing machines and programs are "Virtual Machines".

 

·        Another very important concept was introduced by John Von Neumann. The basic design is called the von Neumann machine and is the basis for all digital computers to this day.

 

·        The Von Neumann machine had five basic parts: the memory, the arithmetic logic unit, the program control unit and the I/O equipment. The memory consisted of 4096 words with each word holding 40 bits. Each word held either two 20-bit instructions or a 39-bit signed integer. The instructions had 8 bits specifying the instruction type, and 12 bits specifying one of the words in the 4K memory.

 

·        One of the more notable machine designs of this period is the ENIAC (Electronic Numerical Integrator and Computer). It consisted of 18,000 vacuum tubes and relays, weighed 30 tons and consumed 140 kilowatts of power.

 

·        The architecture consisted of 20 registers each capable of holding a 10-digit decimal number. It was programmed by setting up 6000 multiposition switches and connecting a multitude of sockets with jumper cables.

 

 

 

The Second Generation - Transistors (1955 - 1965)

 

·        The minicomputer industry was born with the introduction of the DEC PDP-1 in 1961. It had 4K of 18-bit words and a cycle time of 5 microsecond.

 

·        IBM also introduced its first transistorized computer, the 7094. It had a cycle time of 2 microsecond and 32K of 36-bit words of core memory.

 

·        In 1964, CDC introduced the 6600, a machine which was nearly an order of magnitude faster than the 7094. The most efficient feature of this machine was it's highly parallel CPU. The CPU had units dedicated entirely to performing operations such as addition, multiplication and division in parallel.

 

 

 

The Third Generation - Integrated Circuits (1965- 1980)

 

·        IBM introduced the System/360, based on IC's and was designed for both the scientific and commercial computing. This machine also introduced the concept of multiprogramming. Another major feature was the memory space of 16 megabytes.

 

·        DEC also introduced the PDP-11 a 16-bit machine that became very successful in academic institutions.

 

 

The Fourth Generation - Personal Computers and VLSI (1980 - ?)

 

·        The advent of VLSI (Very Large Scale Integration) has made it possible to put millions of transistors on a single chip thus giving rise to smaller and faster computers.

 

·        The most notable event here was the introduction of personal computers, which were low in price and high in performance.

 

·        Current workstations are typically Pentium 3 and 4’s used widely in education, home and business use. These are machines using 32 bit microprocessors and a performance level of two to three thousand MIPS (Millions of Instructions Per Second) for a basic Pentium 4 architecture.

 

·        At the high end we have the supercomputers designed to maximize the number of FLOPS (Floating Point Operations Per Second). A supercomputer is capable of above 1 gigaflop/sec. These machines utilize highly parallel architectures in order to achieve these speeds.

 

 

READING ASSIGNMENT: Section 1.3.1 (page 25), Section 1.3.2 (page 26), Section 1.4.1 (Page 29)