01 introduction zhu


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

01 introduction zhu

  1. 1. Computer Organizationand ArchitectureIntroductionYanmin Zhuyzhu@cs.sjtu.edu.cn
  2. 2. Question • Is a computer intelligent? NO! It is you that make a compute to appear to be intelligent
  3. 3. Levels of Program Code • High-level language —Level of abstraction closer to problem domain —Provides for productivity and portability • Assembly language —Textual representation of instructions • Hardware representation —Binary digits (bits) —Encoded instructions and data
  4. 4. § Below Your Program 1.2Below Your Program • Application software —Written in high-level language • System software —Compiler: translates HLL code to machine code —Operating System: service code – Handling input/output – Managing memory and storage – Scheduling tasks & sharing resources • Hardware —Processor, memory, I/O controllers
  6. 6. Question • You develop a program and run it on a computer. • What factors affect the performance of your program?
  7. 7. Understanding Performance• Algorithm —Determines number of operations executed• Programming language, compiler, architecture —Determine number of machine instructions executed per operation• Processor and memory system —Determine how fast instructions are executed• I/O system (including OS) —Determines how fast I/O operations are executed
  8. 8. Architecture: Conceptual Design• Architecture is those attributes visible to the programmer —Instruction set, —number of bits used for data representation —I/O mechanisms —addressing techniques Architecture: Hardware/Software• e.g. Is there a Interface multiply instruction?
  9. 9. Organization• Organization is how features are implemented —Control signals —Interfaces —Memory technology• e.g. Is there a hardware multiply unit or is it done by repeated addition?
  10. 10. Architecture & Organization• Contents of computer architecture —Instruction set design, performance evaluation, pipelining, vector machine, SMP, clusters, parallel processing• Contents of computer organization —Arithmetic operations, ALU —Memory and memory organization —Instruction set and addressing —Central processing unit (CPU) —Bus —I/O
  11. 11. Architecture & Organization• All Intel x86 family share the same basic architecture• The IBM System/370 family Intel 8086 share the same basic architecture• This gives code compatibility —At least backwards Intel Core duo• Organization differs between different versions AMD Athlon
  12. 12. Opening the Box
  13. 13. § Under the Covers 1.3Components of a Computer The BIG Picture • Same components for all kinds of computer —Desktop, server, embedded • Input/output includes —User-interface devices – Display, keyboard, mouse —Storage devices – Hard disk, CD/DVD, flash —Network adapters – For communicating with other computers
  14. 14. Components
  15. 15. Components – cont’
  16. 16. Inside the Processor (CPU)• Datapath: performs operations on data• Control: sequences datapath, memory, ...• Cache memory —Small fast SRAM memory for immediate access to data
  17. 17. Components – cont’
  18. 18. Inside the Processor • AMD Barcelona: 4 processor cores
  19. 19. Structure & Function• Structure is the way in which components relate to each other —How different components, like ALU, control, I/O, memory are connected? —How they interface with each other?• Function is the operation of individual components as part of the structure —What is the function of a component?
  20. 20. Function• All computer functions are: —Data processing —Data storage —Data movement —Control
  21. 21. Functional View
  22. 22. Operations (a) Data movement
  23. 23. Operations (b) Storage
  24. 24. Operation (c) Processing from/tostorage
  25. 25. Operation (d)Processing from storage to I/O
  26. 26. Structure - Top Level Peripherals Computer Central Main Processing Memory Unit Computer Systems Interconnection Input OutputCommunicationlines
  27. 27. Structure - The CPU CPU Computer Arithmetic Registers andI/O Login Unit System CPU Bus Internal CPUMemory Interconnection Control Unit
  28. 28. Structure - The Control Unit Control Unit CPU SequencingALU Login Control Internal Unit Bus Control UnitRegisters Registers and Decoders Control Memory
  29. 29. Outline of the Course• Computer Evolution and Performance• Computer Interconnection Structures• Internal Memory• External Memory• Input/Output• Operating Systems Support• Computer Arithmetic• Instruction Sets
  30. 30. Outline of the Course (2)• CPU Structure and Function• Reduced Instruction Set Computers• Superscalar Processors• Control Unit Operation• Microprogrammed Control• Multiprocessors and Vector Processing
  31. 31. Why Study COA?• It is a core course for computer science or computer engineering —As recommended by IEEE/ACM Curricula 2008• To write better programs that run more efficiently on a real machine• To understand the tradeoff among various components, such as CPU speeds and memory size —Spending more for various alternatives
  32. 32. IEEE/ACM CS Curriculum 2008 Programming Software Discrete Structures Languages Engineering Programming Human-Computer Computational Fundamentals Interaction Science Algorithms and Graphic and Visual Complexity Computing Architecture and Intelligent Organization Systems Information Operating Systems Management Net Centric Social and Computing Professional Issues
  33. 33. What You Will Learn• How programs are translated into the machine language —And how the hardware executes them• The hardware/software interface• What determines program performance —And how it can be improved• How hardware designers improve performance• What is parallel processing