Computer Architecture The term coined by IBM in the early 1960 (Amdahl, Blaauw, and Brooks, 1964) –Referred to the programmer-visible portion of the IBM 360 instruction set The first computer to sell in large quantities with both byte addressing using 8-bit bytes and general-purpose registers –They believed that a family of computers of the same architecture should be able to run the same software –Definition of architecture: The structure of a computer that a machine language programmer must understand to write a correct (timing independent) program for that machine
What’s Computer Architecture? Computer Architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals Computer architecture is not about using computers to design buildings Microprocessor, CPU
What’s Computer Architecture? (Cont.) Computer Architecture is the design of the computer at the hardware/software interface Computer Architecture = Instruction Set Architecture + Machine Organization Computer Architecture Instruction Set DesignMachine Organization Computer InterfaceHardware Components Compiler/System ViewLogic Designer’s View
Key considerations in “Computer Architecture” I/O systemInstr. Set Proc. Compiler Operating System Application Digital Design Circuit Design Instruction Set Architecture Firmware Coordination of many levels of abstraction Under a rapidly changing set of forces Continuous evolution: Design, Measurement, and Evaluation Datapath & Control Layout Software Hardware
General Purpose vs. Special Purpose Desktop computers: performance/cost –Personal computer, workstation Embedded computers: energy/power –PlayStation-2 video game, digital camera, cell phone, MP3 player, etc. Server computers: reliability, scalability and throughput (rather than latency) –typically include multiple processors and disks
Textbooks 教科書 J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 3rd Edition, 2003, Morgan Kaufmann Publishers, Inc. ( 新月代理 ) 參考書 D. A. Patterson and J. L. Hennessy, Computer Organization: The Hardware/Software Interface, 2nd Edition, 1998, Morgan Kaufmann Publishers, Inc.
課程內容與進度 Ch1. Fundamentals of Computer Design Ch2. Instruction Set Principles and Examples Ch3. Instruction-Level Parallelism and Its Dynamic Exploitation Ch4. Exploiting Instruction-Level Parallelism with Software Approaches Ch5. Memory Hierarchy Design Ch6. Multiprocessors and Thread-Level Parallelism Ch7. Storage Systems Ch8. Interconnection Networks and Clusters Advanced Topics: 64-bit Processors, Vector Processors, Embedded Processors, etc.
Definitions A microprocessor is a silicon chip which forms the core of a microcomputer –the concept of what goes into a microprocessor has changed over the years (see history) Microprocessors are used in two general systems –general purpose computing systems –embedded control applications autos, ovens, phones, toys,... these are called microcontrollers
History Microprocessors have a short but significant history –In 1969, a Japanese company (Busicom) approached Intel and asked them to build a set of custom chips for a hand-held calculator –Intel proposed a single programmable chip (4004) –It was released in 1971 as the world ’ s first microprocessor It was a 4 bit machine constructed out of 2300 transistors on a 16-pin chip
Growth In 1974, Intel released the first 8-bit microprocessor the 8080 –it consisted of 6000 transistors and could address 64K of memory –Digital Research released the first general purpose operating system for a microprocessor, CP/M in 1975 In 1978, Intel released the 8086, a 16-bit microprocessor constructed out of 29,000 transistors –At the same time, other companies such as Texas Instruments and Motorola released microprocessors
The First (?) PC Ed Roberts (at the “ failing ” calculator company MITS) designs Altair 8800 (1974) – based on 8080 microprocessor, –affordable price of $375 –no keyboard, no screen, no storage, –4k memory, programmable by means of a switch panel Bill Gates and Paul Allen founded Microsoft(1975) –BASIC 2.0 on the Altair 8800 –first high-level language available on a home computer
Intel 4004 First Microprocessor –1971 –2300 transistors –4 bit bus –640 bytes of addressable memory –750 KHz
Intel 8086 First IBM PC Chip –1978 –29,000 transistors –16 bit bus –1 MB addressable memory –10 MHz
Intel Pentium III Pentium III Processor –600 MHz, 9.5 M transistors –0.25u 5M process, 2.0V, 34.5W –Dynamic Execution Superscalar pipeline –16/16 KB onchip I/D cache + 512KB offchip 2nd -level cache –Up to 4GB of addressable memory space
Capacity Growth Good news -- exponential growth in hardware capacity –Logic growth: 60% to 80% per year –DRAM growth: 60% per year (in 400% increments/3 years) –Disk growth: 50% per year (was 25%/year until 1990) Bad news -- exponential growth in hardware usage –Program size: 50% to 100% per year Increase software productivity -- standard components/interface layers Feature list increases -- “bloatware” Memory used to enhance user interface – GUI Results –Storage may be approaching “free” on a per-bit basis, but somehow it always seems to be full
Moore's Law Gordon Moore once observed that the speed and power of microprocessors seems to double every 12 to 18 months. This trend has held true for the past 20 years and is showing no sign of slowing down. What does this mean for the future of computing? What other technologies can you think of which get faster and more powerful every year, and yet also get cheaper and more affordable!
Microprocessor Applications Most microprocessors are sold for embedded control applications All Microprocessors CPUs 98% 2% PCs 98% 2% Embedded Control Other CPUs
Embedded System Growth Embedded is the largest and fastest-growing part of the worldwide microprocessor industry Embedded is approximately 100 % of worldwide unit volume in microprocessors Average of processors per home –(only 5 are within the home PC) “ Turley ’ s Law ” : –The amount of processing power on your person will double every 12 months
Finally How to succeed in life... Take a microprocessor/ microcontroller chip Build an embedded system Add support chips Program way-cool functions into it Sell it for Gigabucks