Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
EKT 422/4 Computer Architecture By: Mr. Mohd. Nazrin Md. Isa [email protected] 04-9798410 Level 2, Block A, School of Microelectronic Engineering UNIVERSITI MALAYSIA PERLIS 1 Syllabus and Assessments Final Exam (50%) Coursework (50%) Lab Assessment = 10% Written Test 1 = 10% Written Test 2 = 10% Mini project + viva = 20% - Group project (max=2) - Software : VHDL - Hardware : ALTERA UP3 UNIVERSITI MALAYSIA PERLIS 2 Useful links Portal UniMAP Books: http://WilliamStallings.com/StudentSupport.html VHDL : http://www.opencores.org http://www.csee.umbc.edu/help/VHDL Quartus II/UP-3 http://www.altera.com http://users.ece.gatech.edu/~hamblen/UP3/ 3 TIMETABLE LECTURE 8.00-10.00 – MONDAY DKP1 8.00-9.00 - THU DKR 3 LAB @ MKY6 TUE 8-10 (E), 1 P.M -3.00P.M (E+UE) THU :4-6.00 P.M (UE) 4 VHDL & QUARTUS II REVIEW Introduction to VHDL Very High Speed Integrated Circuit Hardware Description Language (VHDL) Entity Input Digital Data A circuit described using VHDL code is called a design entity. 2 main parts : Entity declaration specifies the input and output signals for the entity Architecture - gives the circuit details. Entity Declaration Digital signal Output Digital Data Digital Signal Architecture 5 VHDL & QUARTUS II REVIEW Example of VHDL Code (Full Adder) LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY fulladd IS PORT ( Cin, x,y :IN STD_LOGIC; S, Cout :OUT STD_LOGIC); END fulladd; ARCHITECTURE LogicFunc OF fulladd IS BEGIN s <= x XOR y XOR Cin; Cout <= (x AND y) OR (x AND y) OR (y AND Cin); END LogicFunc; 6 VHDL & QUARTUS II REVIEW Example of VHDL Code Full Adder-Explanation (1) LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY library_name; USE library_name.package_name.all 7 VHDL & QUARTUS II REVIEW Example of VHDL Code Full Adder-Explanation (2) ENTITY fulladd IS PORT ( Cin, x,y :IN STD_LOGIC; S, Cout :OUT STD_LOGIC); END fulladd; ENTITY entity_name IS PORT (signal_name : MODE type_name ; . . . signal_name : MODE type_name); END entity_name; 8 VHDL & QUARTUS II REVIEW THE POSSIBLE MODES FOR SIGNALS Mode IN OUT INOUT Purpose Used for a signal that is an input to an entity Used for a signal that is an output from an entity. Used for a signal that is both an input to an entity and an output from the entity. BUFFER Used for a signal that is an output from an entity. The value of a signal can be used inside the entity, which means that in an assignment statement, the signal can appear both on the left and right sides of the <= operator. 9 VHDL & QUARTUS II REVIEW Example of VHDL Code Full Adder-explanation (3) ARCHITECTURE LogicFunc OF fulladd IS BEGIN s <= x XOR y XOR Cin; Cout <= (x AND y) OR (x AND y) OR (y AND Cin); END LogicFunc; ARCHITECTURE architecture_name OF entity_name IS BEGIN CONCURRENT ASSIGNMENT statement ; END architecture_name; Details, refer VHDL REFERENCE IN PORTAL 10 VHDL & QUARTUS II REVIEW QUARTUS II Details, refer guide in PORTAL Go to http://www.altera.com/download Quartus II install register licence ready to use 11 Chapter One : Introduction to Computer Architecture What is a computer? A computer is a data processing machine which is operated automatically under the control of a list of instructions (called a program) stored in its main memory. 12 Chapter One : Introduction to Computer Architecture What is a computer system? A computer system consists usually of a computer and it peripherals. Computer peripherals include input devices, output devices, and secondary memories. 13 Chapter One : Introduction to Computer Architecture Organization and architecture Architecture - refers to those attributes of a system visible to a programmer or those attributes that have a direct impact on the logical execution of a program. Example of architectural attributes (visible to a programmer) - Instruction set, number of bits used for data representation, I/O mechanism, memory addressing technique. Organization – refers to the operational unit and their interconnections that realize the architectural specifications Example of organizational attributes (H/W details transparent to a programmer) - Control signal, interface to peripherals, memory technology. 14 Chapter One : Introduction to Computer Architecture Structure and function Structure – The way in which the components relate to each other. E.g. connection between ALU and control unit, connection between Instruction register and instruction decoder. Function – The operation of each individual component as part of structure. E.g. How the ALU, Instruction register and instruction decoder work. UNIVERSITI MALAYSIA PERLIS 15 Chapter One : Introduction to Computer Architecture Function These are the basic functions that a computer can perform. - Data processing Data storage Data movement Control 16 Chapter One : Introduction to Computer Architecture Cont.. Process data – data can be a variety of forms, and the range of processing requirements is broad. There are only a few fundamental methods of data processing ( refer ALU ). Store data – computer must temporarily store at least those pieces of data that are being worked on at any given moment at least a short-term data storage function (temporary register) and also long-term data storage function (store File). Move data – comp must be able to move data between itself and outside world. Device directly connected to computer is called peripheral. If data are moved over longer distances, the process is known data communication. Control – Control of three functions above, and given by individuals who provides the computer with instruction. 17 Chapter One : Introduction to Computer Architecture Operation (a) Data movement From one communications line or peripheral to another. 18 Chapter One : Introduction to Computer Architecture Operation (b) Storage Data transferred from the external environment to computer storage (read) and vice versa (write) 19 Chapter One : Introduction to Computer Architecture Operation (c) Processing from and to storage 20 Chapter One : Introduction to Computer Architecture Operation (d) Processing from storage to I/O or vice versa 21 Chapter One : Introduction to Computer Architecture Structure There are four main components in a computer structure: - - - Central processing unit (CPU) – controls the operation of the computer and performs its data processing functions-processor. Main memory – stores data I/O – moves data between the computer and its external environment System interconnection – some mechanism that provides for communication among CPU, main memory and I/O. Traditionally a computer consist of single CPU, but in recent years, there has been increasing use of multiple processors in single computer. 22 Chapter One : Introduction to Computer Architecture The computer: Top-Level structure 23 Chapter One : Introduction to Computer Architecture Central processing unit Control unit – controls the operation of the CPU and hence the computer. ALU – performs data processing functions Registers – provides storage internal to CPU CPU interconnection – mechanism that provides communication among the control unit, ALU and register. 24 Chapter One : Introduction to Computer Architecture Central Processing Unit The organization of a simple computer with one CPU and two I/O devices 25 Chapter One : Introduction to Computer Architecture Introduction (computer generation) Generation Year Technology Typical speed (operations persecond) 1 1946-1957 Vacuum tube 40,000 2 1958-1964 Transistor 200,000 3 1965-1971 Small & medium scale integration 1,000,000 4 1972-1977 Large scale integration (LSI) 10,000,000 5 1978-1991 Very large scale integration (VLSI) 100,000,000 6 1991 Ultra large scale integration (ULSI) 1,000,0000,000 26 LAB 01 : DISCUSSION 27 Chapter One : Introduction to Computer Architecture Self-Reading In the beginning ... A generation refers to the state of improvement in the development of a product. This term is also used in the different advancements of computer technology. With each new generation, the circuitry has gotten smaller and more advanced than the previous generation before it. As a result of the miniaturization, speed, power, and memory of computers has proportionally increased. New discoveries are constantly being developed that affect the way we live, work and play. 28 Chapter One : Introduction to Computer Architecture Self-Reading The First Generation: 1946-1958 (The Vacuum Tube Years) The first generation computers were huge, slow, expensive, and often undependable. In 1946 two Americans, Presper Eckert, and John Mauchly built the ENIAC electronic computer which used vacuum tubes instead of the mechanical switches of the Mark I. The ENIAC used thousands of vacuum tubes, which took up a lot of space and gave off a great deal of heat just like light bulbs do. The ENIAC led to other vacuum tube type computers like the EDVAC (Electronic Discrete Variable Automatic Computer) and the UNIVAC I (UNIVersal Automatic Computer). 29 Chapter One : Introduction to Computer Architecture Self-Reading The vacuum tube was an extremely important step in the advancement of computers. Vacuum tubes were invented the same time the light bulb was invented by Thomas Edison and worked very similar to light bulbs. It's purpose was to act like an amplifier and a switch. Without any moving parts, vacuum tubes could take very weak signals and make the signal stronger (amplify it). Vacuum tubes could also stop and start the flow of electricity instantly (switch). These two properties made the ENIAC computer possible. The ENIAC gave off so much heat that they had to be cooled by gigantic air conditioners. However even with these huge coolers, vacuum tubes still overheated regularly. It was time for something new. 30 Chapter One : Introduction to Computer Architecture Self-Reading 31 Chapter One : Introduction to Computer Architecture Self-Reading The Second Generation: 1959-1964 (The Era of the Transistor) The transistor computer did not last as long as the vacuum tube computer lasted, but it was no less important in the advancement of computer technology. In 1947 three scientists, John Bardeen, William Shockley, and Walter Brattain working at AT&T's Bell Labs invented what would replace the vacuum tube forever. This invention was the transistor which functions like a vacuum tube in that it can be used to relay and switch electronic signals. There were obvious differences between the transisitor and the vacuum tube. The transistor was faster, more reliable, smaller, and much cheaper to build than a vacuum tube. One transistor replaced the equivalent of 40 vacuum tubes. These transistors were made of solid material, some of which is silicon, an abundant element (second only to oxygen) found in beach sand and glass. Therefore they were very cheap to produce. Transistors were found to conduct electricity faster and better than vacuum tubes. They were also much smaller and gave off virtually no heat compared to vacuum tubes. Their use marked a new beginning for the computer. Without this invention, space travel in the 1960's would not have been possible. However, a new invention would even further advance our ability to use computers. 32 Chapter One : Introduction to Computer Architecture Self-Reading The Third Generation: 1965-1970 (Integrated Circuits - Miniaturizing the Computer) Transistors were a tremendous breakthrough in advancing the computer. However no one could predict that thousands even now millions of transistors (circuits) could be compacted in such a small space. The integrated circuit, or as it is sometimes referred to as semiconductor chip, packs a huge number of transistors onto a single wafer of silicon. Robert Noyce of Fairchild Corporation and Jack Kilby of Texas Instruments independently discovered the amazing attributes of integrated circuits. Placing such large numbers of transistors on a single chip vastly increased the power of a single computer and lowered its cost considerably. Since the invention of integrated circuits, the number of transistors that can be placed on a single chip has doubled every two years, shrinking both the size and cost of computers even further and further enhancing its power. Most electronic devices today use some form of integrated circuits placed on printed circuit boards-- thin pieces of bakelite or fiberglass that have electrical connections etched onto them -- sometimes called a mother board. These third generation computers could carry out instructions in billionths of a second. The size of these machines dropped to the size of small file cabinets. Yet, the single biggest advancement in the computer era was yet to be discovered. 33 Chapter One : Introduction to Computer Architecture Self-Reading The Fourth Generation: 1971-Today (The Microprocessor) This generation can be characterized by both the jump to monolithic integrated circuits (millions of transistors put onto one integrated circuit chip) and the invention of the microprocessor (a single chip that could do all the processing of a full-scale computer). By putting millions of transistors onto one single chip more calculation and faster speeds could be reached by computers. Because electricity travels about a foot in a billionth of a second, the smaller the distance the greater the speed of computers. However what really triggered the tremendous growth of computers and its significant impact on our lives is the invention of the microprocessor. Ted Hoff, employed by Intel (Robert Noyce's new company) invented a chip the size of a pencil eraser that could do all the computing and logic work of a computer. The microprocessor was made to be used in calculators, not computers. It led, however, to the invention of personal computers, or microcomputers. It wasn't until the 1970's that people began buying computer for personal use. One of the earliest personal computers was the Altair 8800 computer kit. In 1975 you could purchase this kit and put it together to make your own personal computer. In 1977 the Apple II was sold to the public and in 1981 IBM entered the PC (personal computer) market. Today we have all heard of Intel and its Pentium® Processors and now we know how it all got started. The computers of the next generation will have millions upon millions of transistors on one chip and will perform over a billion calculations in a single second. There is no end in sight for the computer movement. 34 Chapter one (cont’d) Computer Evolution and Performance UNIVERSITI MALAYSIA PERLIS Chapter One : Computer Evolution And Performance ENIAC - background Electronic Numerical Integrator And Computer By Eckert and Mauchly From University of Pennsylvania Used for Trajectory tables for weapons Started 1943 World’s first general purpose electronic digital computer Finished 1946 Too late to be used for war. Used until 1955 36 Chapter One : Computer Evolution And Performance ENIAC - details Decimal (not binary) 20 accumulators of 10 digits Programmed manually by switches 18,000 vacuum tubes 30 tons 15,000 square feet 140 kW power consumption 5,000 additions per second Entering/altering programs-extremely tedious 37 Chapter One : Computer Evolution And Performance von Neumann/Turing Stored Program concept Main memory storing programs and data ALU operating on binary data Control unit interpreting instructions from memory and executing Input and output equipment operated by control unit Princeton Institute for Advanced Studies IAS Completed 1952 38 Chapter One : Computer Evolution And Performance Structure of von Neumann machine 39 Chapter One : Computer Evolution And Performance IAS - details 1000 x 40 bit words Binary number 2 x 20 bit instructions Set of registers (storage in CPU) Memory Buffer Register (MBR) Memory Address Register (MAR) Instruction Register (IR) Instruction Buffer Register (IBR) Program Counter (PC) Accumulator (AC) Multiplier Quotient (MQ) 40 Chapter One : Computer Evolution And Performance Structure of IAS – detail 41 Chapter One : Computer Evolution And Performance Cont’d MBR Contains a word to be stored in memory or sent to the I/O unit, or is used to receive a word from memory or from the I/O unit. MAR Specifies the address in memory of the word to be written from or read into MBR. IR contains 8-bit opcode instruction being executed. PC contains the address of the next instruction AC and hold temporarily operands MQ 42 Chapter One : Computer Evolution And Performance Commercial Computers 1947 - Eckert-Mauchly Computer Corporation UNIVAC I (Universal Automatic Computer) US Bureau of Census 1950 calculations Became part of Sperry-Rand Corporation Late 1950s - UNIVAC II Higher performance greater memory capacity 43 Chapter One : Computer Evolution And Performance IBM Manufacturer of Punched-card processing equipment 1953 - the 701 1955 - the 702 IBM’s first stored program computer Scientific calculations Business applications Lead to 700/7000 series 44 Chapter One : Computer Evolution And Performance Transistors Replaced vacuum tubes Smaller Cheaper Less heat dissipation Solid State device Made from Silicon (Sand) Invented 1947 at Bell Labs William Shockley et al. 45 Chapter One : Computer Evolution And Performance Transistor Based Computers Second generation machines NCR & RCA (other manufacturers) produced small transistor machines IBM-7000 series DEC - 1957 Produced PDP-1 46 Chapter One : Computer Evolution And Performance Microelectronics Literally - “small electronics” A computer is made up of gates, memory cells and interconnections These can be manufactured on a semiconductor e.g. silicon wafer 47 Chapter One : Computer Evolution And Performance Computer Generations Vacuum tube - 1946-1957 Transistor - 1958-1964 Small scale integration - 1965 on Up to 100 devices on a chip Medium scale integration - to 1971 100-3,000 devices on a chip Large scale integration - 1971-1977 3,000 - 100,000 devices on a chip Very large scale integration - 1978 -1991 100,000 - 100,000,000 devices on a chip Ultra large scale integration – 1991 Over 100,000,000 devices on a chip 48 Chapter One : Computer Evolution And Performance Moore’s Law Increased density of components on chip Gordon Moore – co-founder of Intel Number of transistors on a chip will double every year Since 1970’s development has slowed a little Number of transistors doubles every 18 months Cost of a chip has remained almost unchanged Higher packing density means shorter electrical paths, giving higher performance Smaller size gives increased flexibility Reduced power and cooling requirements Fewer interconnections increases reliability 49 Chapter One : Computer Evolution And Performance Growth in CPU Transistor Count 50 Chapter One : Computer Evolution And Performance IBM 360 series 1964 Replaced (& not compatible with) 7000 series First planned “family” of computers Similar or identical instruction sets Similar or identical O/S Increasing speed Increasing number of I/O ports (i.e. more terminals) Increased memory size Increased cost Multiplexed switch structure 51 Chapter One : Computer Evolution And Performance DEC PDP-8 1964 First minicomputer (after miniskirt!) Did not need air conditioned room Small enough to sit on a lab bench $16,000 $100k+ for IBM 360 Embedded applications & OEM BUS STRUCTURE 52 Chapter One : Computer Evolution And Performance DEC - PDP-8 Bus Structure 53 Chapter One : Computer Evolution And Performance Semiconductor Memory 1970 Fairchild Size of a single core i.e. 1 bit of magnetic core storage Holds 256 bits Non-destructive read Much faster than core Capacity approximately doubles each year 54 Chapter One : Computer Evolution And Performance Intel 1971 - 4004 Followed in 1972 by 8008 First microprocessor All CPU components on a single chip 4 bit 8 bit Both designed for specific applications 1974 - 8080 Intel’s first general purpose microprocessor55 Chapter One : Computer Evolution And Performance Speeding it up Pipelining On board cache On board L1 & L2 cache Branch prediction Data flow analysis Speculative execution 56 Chapter One : Computer Evolution And Performance Performance Balance Processor speed increased Memory capacity increased Memory speed lags behind processor speed 57 Chapter One : Computer Evolution And Performance Logic and Memory Performance Gap 58 Chapter One : Computer Evolution And Performance Solutions Increase number of bits retrieved at one time Make DRAM “wider” rather than “deeper” Change DRAM interface Cache Reduce frequency of memory access More complex cache and cache on chip Increase interconnection bandwidth High speed buses Hierarchy of buses 59 Chapter One : Computer Evolution And Performance I/O Devices Peripherals with intensive I/O demands Large data throughput demands Processors can handle this Problem moving data Solutions: Caching Buffering Higher-speed interconnection buses More elaborate bus structures Multiple-processor configurations 60 Chapter One : Computer Evolution And Performance Typical I/O Device Data Rates 61 Chapter One : Computer Evolution And Performance Key is Balance Processor components Main memory I/O devices Interconnection structures 62 Chapter One : Computer Evolution And Performance Improvements in Chip Organization and Architecture Increase hardware speed of processor Fundamentally due to shrinking logic gate size More gates, packed more tightly, increasing clock rate Propagation time for signals reduced Increase size and speed of caches Dedicating part of processor chip Cache access times drop significantly Change processor organization and architecture Increase effective speed of execution Parallelism 63 Chapter One : Computer Evolution And Performance Problems with Clock Speed and Login Density Power Power density increases with density of logic and clock speed Dissipating heat RC delay Speed at which electrons flow limited by resistance and capacitance of metal wires connecting them Delay increases as RC product increases Wire interconnects thinner, increasing resistance Wires closer together, increasing capacitance Memory latency Memory speeds lag processor speeds Solution: More emphasis on organizational and architectural approaches 64 Chapter One : Computer Evolution And Performance Intel Microprocessor Performance 65 Chapter One : Computer Evolution And Performance Increased Cache Capacity Typically two or three levels of cache between processor and main memory Chip density increased More cache memory on chip Faster cache access Pentium chip devoted about 10% of chip area to cache Pentium 4 devotes about 50% 66 Chapter One : Computer Evolution And Performance More Complex Execution Logic Enable parallel execution of instructions Pipeline works like assembly line Different stages of execution of different instructions at same time along pipeline Superscalar allows multiple pipelines within single processor Instructions that do not depend on one another can be executed in parallel 67 Chapter One : Computer Evolution And Performance Diminishing Returns Internal organization of processors complex Can get a great deal of parallelism Further significant increases likely to be relatively modest Benefits from cache are reaching limit Increasing clock rate runs into power dissipation problem Some fundamental physical limits are being reached 68 Chapter One : Computer Evolution And Performance New Approach – Multiple Cores Multiple processors on single chip Large shared cache Within a processor, increase in performance proportional to square root of increase in complexity If software can use multiple processors, doubling number of processors almost doubles performance So, use two simpler processors on the chip rather than one more complex processor With two processors, larger caches are justified Power consumption of memory logic less than processing logic Example: IBM POWER4 Two cores based on PowerPC 69 Chapter One : Computer Evolution And Performance POWER4 Chip Organization 70 Chapter One : Computer Evolution And Performance Pentium Evolution (1) 8080 first general purpose microprocessor 8 bit data path Used in first personal computer – Altair 8086 much more powerful 16 bit instruction cache, prefetch few instructions 8088 (8 bit external bus) used in first IBM PC 80286 16 Mbyte memory addressable up from 1Mb 80386 32 bit Support for multitasking 71 Chapter One : Computer Evolution And Performance Pentium Evolution (2) 80486 sophisticated powerful cache and instruction pipelining built in maths co-processor Pentium Superscalar Multiple instructions executed in parallel Pentium Pro Increased superscalar organization Aggressive register renaming branch prediction data flow analysis speculative execution 72 Chapter One : Computer Evolution And Performance Pentium Evolution (3) Pentium II MMX technology graphics, video & audio processing Pentium III Additional floating point instructions for 3D graphics Pentium 4 Note Arabic rather than Roman numerals Further floating point and multimedia enhancements Itanium 64 bit see chapter 15 Itanium 2 Hardware enhancements to increase speed See Intel web pages for detailed information on processors 73 Chapter One : Computer Evolution And Performance PowerPC 1975, 801 minicomputer project (IBM) RISC Berkeley RISC I processor 1986, IBM commercial RISC workstation product, RT PC. Not commercial success Many rivals with comparable or better performance 1990, IBM RISC System/6000 RISC-like superscalar machine POWER architecture IBM alliance with Motorola (68000 microprocessors), and Apple, (used 68000 in Macintosh) Result is PowerPC architecture Derived from the POWER architecture Superscalar RISC Apple Macintosh Embedded chip applications 74 Chapter One : Computer Evolution And Performance PowerPC Family (1) 601: Quickly to market. 32-bit machine 603: Low-end desktop and portable 32-bit Comparable performance with 601 Lower cost and more efficient implementation 604: Desktop and low-end servers 32-bit machine Much more advanced superscalar design Greater performance 620: High-end servers 64-bit architecture 75 Chapter One : Computer Evolution And Performance PowerPC Family (2) 740/750: Also known as G3 Two levels of cache on chip G4: Increases parallelism and internal speed G5: Improvements in parallelism and internal speed 64-bit organization 76