Chapter 2 Processor speed------increase Component size------decrease Memory capacity------increase I/O capacity and speed-------decrease Processor speed can be attributed to - (In past) Decreasing and shrinking the processor components size - (Recently) Processor organization (true gain) using pipelining, parallel execution, and speculative execution techniques. Critical issue in computer system-----Balancing the performance between computer components: - processor is faster than access time of memory - To solve this problem o Caches o Wider data paths o More intelligent memory chips Computer History The First generation: Vacuum tube - 1943-1946 ENIAC (Electronic Numerical Integrator And Computer) o Needed by Ballistic Research Laboratory for World War II o Before, 200 people needed to solve equations o They started in 1943, suggested by Mauchly and Ekert, Pennsylvania Univ. o 30 Tons o 18000 vacuum tubes o 1500 square feet o 5000 additions o Continued to work under BRL until 1955 - 1945 von Neumann machine, EDVAC (Electronic Discrete Variable Computer) o Entering data to ENIAC was tedious (programmed manually using switches and plugging and unplugging cables). o Solution stored-program concept, program and data are stored in memory, then, they are fetched as needed. - 1946-1952 ISA (Institute for Advanced Research) o A new stored-program computer by von Neumann and his colleagues o Not completed until 1952 o IAS becomes the prototype of all subsequent general purpose computers. IAS consists of Main memory ALU capable of operating on binary data. Control unit, interprets instructions and cause them to be executed. I/O equipment operated by the CU. Arithmetic Logic Unit Main I/O Memory equip- ment Program Control Unit Structure of IAS Computer - Characteristics of IAS architecture o 1000 storage locations (called words) o each word is 40 bit length o data and instruction are stored in the word o Thus, data and instruction are in binary form o A number is represented by 1-sign bit and 39-bit value 0 1 39 Number Word in IAS Computer o A word can include two 20-bit instructions Left instruction Right instruction 0 8 20 28 39 Opcode Address Opcode Address Instruction Word in IAS Computer o Control unit Operates the IAS by Fetching instruction Executing instructions one at a time o Both the ALU and CU contain storage locations called registers: Memory Buffer Register (MBR): ---contain a read from or to be written to memory Memory Address Register (MAR)---specifies address of word where to read from or write to Instruction Register (IR)---contain 8-bit opcode instruction being executed Instruction Buffer Register (IBR)---holds the right-hand instruction from a word in memory Program Counter (PC)---contains the address of the next instruction to be executed Accumulator (AC) and multiplier quotient (MQ)---holds operands and results of ALU operations temporarily Arithmetic-logic unit (ALU) AC MQ Input- Output Arithmetic-logic circuit Equipment MBR IBR PC Main IR MAR Memory Control circuits control signals address Program control unit (CU) o IAS operates by repetitively performing an instruction cycle, each instruction consists of two subcycle: Fetch cycle: during this cycle, an instruction is taken from memory, then to MBR, down to the IBR, IR, and MAR. Or it can be taken from IBR. The opcode is loaded to IR, and the address portion is loaded into MAR. Execute cycle: during this cycle, control circuitry interprets the opcode and execute the instruction by sending out appropriate control signals to cause data to be moved or an operation to be performed by the ALU. o IAS has 21 instruction grouped as follow: Data transfer Unconditional branch Conditional branch Arithmetic Address modify - Commercial computers o 1950 witnessed the birth of computer industry, Sperry and IBM o UNIVAC I (Universal Automatic Computer), was the first successful commercial computer, for calculations. o UNIVAC II, had greater memory capacity and higher performance. Upward compatible: Programs written for older machines can be executed on the new machine. o UNIVAC 1103 (1100 series) and its successors, for scientific applications. o 1953, IBM delivered its first electronic stored-program computer (the 701) for scientific applications, and the 702 for business application (had some hardware features suited business applications. The Second generation: Transistors - In this generation, transistor replaced the vacuum tube and used to construct computers. - Transistors (made form silicon) are smaller, cheaper, and dissipate (emits) less heat than vacuum tube. - Transistor was invented in 1947 at Bell Labs, and used late 1950. - NCR and RCA (small transistor machines), then IBM used this technology (IBM with its 7000 series). - Complex ALU and CU, High-level programming languages, and system software were born in this generation. - DEC (Digital Equipment Corporation) appeared and was founded in 1957, started the production of mini computer, it became prominent in the third generation. - IBM 7094 o Increased performance, increased capacity, and lower cost Memory increase from 2K to 32 Kword Memory cycle time fell from 30µ to 1.4µ Number of opcodes grew from 24 to 185 Processor speed increased because of transistors and more complex circuitry. Example, 7094 used backup register. o Data channel (this does not exist in IAS): is an independent I/O module with its own processor and instruction set. o Multiplexor (also, this does not exist in IAS): schedules access from the CPU and datachannel. The third generation: Integrated circuit - Before, discrete components (transistors, capacitor, and resistors) were manufactured separately, packaged in their own containers, and soldered (wired) together onto circuit boards which were then installed in computers. This process (from transistors to circuit board) was expensive and difficult. - In third generation integrated circuit were used - Also, two important members IBM System/360 & DEC PDP-8 - Microelectronics: o Means small electronics o Trend toward size reduction of digital electronic circuits o Digital computer consists of two major things Gates: a gate is a device that implements a simple Boolean or logical function Memory cells: is a device that can store one bit of data Interconnections: By interconnecting large number of the above devices we can construct a computer Data storage---by memory cells Data processing---by gates Data movement---through gates and paths bwn components Control---paths carry signals from gates to access memory for example R/W signals. o The idea is to fabricate the entire circuit from silicon rather than assemble discrete components mad from separate pieces of silicon into the same circuit. Many transistors can be produced at the same time on a single wafer of silicon. - Key concept of integrated circuit o A thin wafer of silicon is divided into a matrix of small areas o Identical circuit is fabricated in each area o The wafer is then broken up into chips o Each chip may include gates, memory cells, and I/O attachment points o The chip is packaged in housing that protects it and provides pins for attachment to devices beyond the chip. o A number of these packaged can then be interconnected on a printed circuit board to produce larger and more complex circuit. SSI (small-scale integration): small number of gates or memory cells is packaged together. - Characteristics of computer became as follow: o Cost of computer logic and memory circuitry has fallen o Operating speed increase as a result of shortening electrical path. o Computer becomes smaller; it can be places in different environment. o Reduction in power and cooling requirements o The interconnection on the integrated circuit is much more reliable and less interchip connection. - IBM System 360 family o Bad news for IBM customers because it is not compatible o It uses integrated circuit o Its architecture remains to this day the architecture of IBM’s mainframe computers. o The 360 family models are compatible. - Family characteristics o Similar or identical instruction set---so a program execute on one machine can execute on any other o Similar or identical operating system---but, additional features might have been added to the higher-end members o Increasing speed---increasing the rate of instruction execution o Increasing number of I/O ports---more ports are added o Increasing memory size---size is increasing as we go up o Decreasing cost---cost is reduced o . o With regard to the speed: Because of more complex circuitry in ALU allowing parallelism Because of increasing the width of data path bwn CPU and Memory - DEC PDP-8 It produced a small computer with cheaper prices ($16000). The established the concept of minicomputers and produced 50000 machine, all reserved by IBM It became number two after IBM as computer manufacturer. DEC used the BUS STRUCTURE called the OMNIBUS consists of 96 separate signal paths to carry signals, address, and data signals Console CPU Main I/O I/O controller memor module module y Omnibus Later Generation - Large-scale Integration: more than 1000components can be placed on a single integrated chip. - Very-large scale integration (VLSI), achieve more than 10000 components - Current VLSI achieve more 100000 components. Semiconductor Memory Integrated circuits were used for the construction of - CPU (ALU & CU) & - For the construction of the memories. Microprocessors - As time went on, more and more elements were placed on each chip, so that - Fewer and fewer chips were needed to construct a single computer processor - In 1971, Microprocessor was born when Intel developed the first chip which had all of the CPU (4004, it is a 4-bit processor which adds two-4 bit numbers) compoents on a single chip. - The data bus width marked the or became the measure for the development, also - The number of bits in the accumulator - In 1972, Intel introduced 8008 processor. It was the first 8-bit microprocessor - In 1974, Intel intorduced the major event Intel 8080, it is the first general- purpose microcomputer. It is faster than 8008, had a richer instruction set, and has larger addressing capacity. It was 8-bit procesor. - End of 1970s, the 8086 was the first general-purpose 16-bit microprocessor. - 1981, Bell Labs & Hewlett-Packard developed 32-bit single-chip microprocessor - 1985, introduced its own 32-bit microprocessor the 80386. - … - … - … - see tables in pages 35 and 36 Design for performance - The performance and capacity of computers have increased and their cost continued to drop dramatically. - Inside the computer you find microprocessor, memory, chips, and 100s of millions of transistors (Toilet paper is more expensive). - However, applications became resources (CPU power, memory capacity, bandwidth) hungry. Such applications include: o Image processing o Speech recognition o Multimedia authoring o Voice and video annotation of files o Simulation modeling - For this reasons, workstations and servers present the required power. - These machines have the same building blok of the IAS architecture - Consequently, in the next chapters we focus on o Explaining the fundamental functionality in each area under consideration o Exploring the techniques required to achieve maximum performance. Microprocessor speed - Technology increased the speed, but other techniques were used such as - Branch prediction - Data flow analysis - Speculative execution Performance Balance An adjusting of the organization and architecture to compensate for the mismatch among the capabilities of the various components. Example: CPU and Memory. (The interface between memory and CPU, if this interface fail to meet the CPU speed, the CPU will stall and always wait for a response from the memory) Solutions: - Use wider bus data path - Change the interface by including cache or other techniques - Reduce the frequency of memory access (include caches on the processor chips and off-chip cache close to the processor). - Increase the interconnect bandwidth bwn processor and memory (higher- speed buses, and hierarchy of buses). Example: Another issue is MOVIG data between processor and peripherals. Solutions: - caching and buffering schemes - higher-speed interconnection buses - use of multiple-processor configurations Finally, the design must constantly cope with two constantly evolving factors: - Th rate at which performance is changing in various technology areas (processor, buses, memory, peripherals) differs greatly from one type of element to another. - New applications and new peripheral devices change the nature of the demand on the system (instruction profile and the data access patterns).