0 introduction to computer architecture


Published on

  • Be the first to comment

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

No notes for slide

0 introduction to computer architecture

  1. 1. Computer Architecture By Mohamed ELARBI Office: SR036 Tel(Office): 2582137 Email: [email_address] Office Hours: Sat (13:00-15:00), Sun (13:00-15:00), Mon (13:00-14:00)
  2. 2. Useful information: <ul><li>Textbook : Computer Organization and Architecture. By William Stallings. </li></ul><ul><li>Other resources: </li></ul><ul><li>Computer Architecture . A quantitative Approach. John L. Hennessy & David A. Patterson </li></ul><ul><li>Structured Computer Organization Fourth Edition, by A ndrew S. Tanenbaum </li></ul><ul><li>http://cwx.prenhall.com/bookbind/pubbooks/tanenbaum2 / </li></ul>
  3. 3. Internet Resources - Web site for textbook <ul><li>http://WilliamStallings.com/COA6e.html </li></ul><ul><ul><li>links to sites of interest </li></ul></ul><ul><ul><li>links to sites for courses that use the book </li></ul></ul><ul><ul><li>errata list for book </li></ul></ul><ul><li>http://WilliamStallings.com/StudentSupport.html </li></ul><ul><ul><li>Math </li></ul></ul><ul><ul><li>How-to </li></ul></ul><ul><ul><li>Research resources </li></ul></ul>
  4. 4. Internet Resources - Web sites to look for <ul><li>WWW Computer Architecture Home Page </li></ul><ul><li>CPU Info Center </li></ul><ul><li>ACM Special Interest Group on Computer Architecture </li></ul><ul><li>IEEE Technical Committee on Computer Architecture </li></ul><ul><li>Intel Technology Journal </li></ul><ul><li>Manufacturer’s sites </li></ul><ul><ul><li>Intel, IBM, etc. </li></ul></ul>
  5. 5. Parallel computer architectures, Distributed computing Week 14 Parallel Processing , Cache coherence in parallel computing Week 13 EPIC CPU Design, Operating System Issues, Paging & Segmentation Week 12 Pipeline design, Branch prediction , Superscalar design Weeks 10-11 <ul><li>Register and dataflow design, CPU control unit </li></ul><ul><li>Microprogrammed control , Hardwired control </li></ul>Weeks 8-9 Representing information digitally, Instruction Sets [CISC/RISC], Addressing Modes Weeks 6-7 Overall CPU organization , High-level issues in CPU design, Memory Hierarchy and cache, External memory , RAID organization of hard disks Weeks 3-5 Introduction & vocabulary, History of computer architecture , Overview of computer organization, Weeks 1-2 Topics Timetable
  6. 6. Topics <ul><li>Computer Architecture </li></ul><ul><li>Computer Organization </li></ul><ul><li>Organization and Architecture </li></ul><ul><li>Structure and Function </li></ul>
  7. 7. Computer Architecture (1) <ul><li>Definition? </li></ul><ul><li>“ The design of integrated system which provides a useful tool to the programmer.” (Baer) </li></ul><ul><li>“ The study of the structure, behaviour, and design of computers.” (Hayes) </li></ul><ul><li>“ The design of the system specification at a general or subsystem level.” (Abd-Alla) </li></ul><ul><li>“ The art of designing a machine that will be a pleasure to work with.” (Foster) </li></ul><ul><li>“ The interface between the hardware and the lowest level software.” (Hennessy and Patterson) </li></ul>
  8. 8. Computer Architecture (2) <ul><li>Therefore, computer architecture refers to </li></ul><ul><ul><li>Attributes of a system visible to programmers </li></ul></ul><ul><ul><li>Attributes that have a direct impact on the execution of programs </li></ul></ul><ul><li>Attributes </li></ul><ul><ul><li>Instruction set </li></ul></ul><ul><ul><li>Data representation </li></ul></ul><ul><ul><li>I/O mechanisms </li></ul></ul><ul><ul><li>Addressing techniques </li></ul></ul>
  9. 9. Computer Organization <ul><li>Organization refers to operational units and their interconnections that realize the architectural specifications. </li></ul><ul><li>Attributes: hardware details transparent to programmers </li></ul><ul><ul><li>Control signals </li></ul></ul><ul><ul><li>Computer/peripheral interface </li></ul></ul><ul><ul><li>Memory technology </li></ul></ul>
  10. 10. Architecture & Organization (1) <ul><li>Architecture is attributes visible to programmers </li></ul><ul><li>Organization is how features are implemented </li></ul><ul><li>Example: </li></ul><ul><ul><li>Architecture: multiply instruction? </li></ul></ul><ul><ul><li>Organization: hardware multiply unit or done by repeated addition? (how is it implemented?) </li></ul></ul><ul><li>Example: </li></ul><ul><ul><li>IBM/370 architecture </li></ul></ul><ul><ul><li>different models (organizations) </li></ul></ul>
  11. 11. Architecture & Organization (2) <ul><li>Family Concept </li></ul><ul><ul><li>All Intel x86 family share the same basic architecture </li></ul></ul><ul><ul><li>The IBM System/370 family share the same basic architecture </li></ul></ul><ul><ul><li>This gives code compatibility (at least backwards) </li></ul></ul><ul><li>Organization differs between different versions </li></ul>
  12. 12. Some Definitions <ul><ul><li>• Computer architecture deals with the functional behavior of a computer system as viewed by a programmer (like the size of a data type – 32 bits to an integer). </li></ul></ul><ul><ul><li>• Computer organization deals with structural relationships that are not visible to the programmer (like clock frequency or the size of the physical memory). </li></ul></ul><ul><ul><li>• There is a concept of levels in computer architecture. The basic idea is that there are many levels at which a computer can be considered, from the highest level, where the user is running programs, to the lowest level, consisting of transistors and wires . </li></ul></ul>
  13. 13. Computer Architecture v. Computer Organization <ul><li>Architecture - logical design of a computer, allows you to write programs </li></ul><ul><ul><ul><li>Instruction set (what is the instruction set?) </li></ul></ul></ul><ul><ul><ul><li>Representation of data types (integers v. characters v. floating point types) </li></ul></ul></ul><ul><ul><ul><li>Input/Output mechanisms (how does the computer communicate with the world?) </li></ul></ul></ul><ul><ul><ul><li>Memory addressing techniques </li></ul></ul></ul><ul><li>Organization - physical design of a computer </li></ul><ul><ul><ul><li>How many registers? </li></ul></ul></ul><ul><ul><ul><li>What is a register? </li></ul></ul></ul><ul><ul><ul><li>How many registers does a typical CPU have? </li></ul></ul></ul>
  14. 14. Structure & Function (1) <ul><li>Computer </li></ul><ul><ul><li>Complex system=> How can we design/describe it? </li></ul></ul><ul><li>Hierarchic system: </li></ul><ul><ul><li>A set of interrelated subsystems, each subsystem hierarchic in structure until some lowest level of elementary subsystems is reached </li></ul></ul><ul><li>At each level of the system, the designer is concerned with structure and function . </li></ul>
  15. 15. Structure & Function (2) <ul><li>Structure is the way in which components relate to each other </li></ul><ul><li>Function is the operation of individual components as part of the structure </li></ul>
  16. 16. Function <ul><li>Basic computer functions: </li></ul><ul><ul><li>Data processing </li></ul></ul><ul><ul><li>Data storage </li></ul></ul><ul><ul><li>Data movement </li></ul></ul><ul><ul><li>Control </li></ul></ul>
  17. 17. Functional View The von Neumann Model <ul><ul><li>• The von Neumann model consists of five major components: (1) input unit; (2) output unit; (3) arithmetic logic unit; (4) memory unit; (5) control unit. </li></ul></ul>
  18. 18. The System Bus Model <ul><ul><li>• A refinement of the von Neumann model, the system bus model has a CPU (ALU and control), memory, and an input/output unit. </li></ul></ul><ul><ul><li>• Communication among components is handled by a shared pathway called the system bus , which is made up of the data bus, the address bus, and the control bus. There is also a power bus, and some architectures may also have a separate I/O bus. </li></ul></ul>
  19. 19. A Typical Computer System
  20. 20. The Motherboard <ul><ul><li>• The five von Neumann components are visible in this example motherboard, in the context of the system bus model. </li></ul></ul>
  21. 21. Scientific Prefixes <ul><ul><li>• For computer memory, 1K = 2 10 = 1024. For everything else, like clock speeds, 1K = 1000, and likewise for 1M, 1G, etc. </li></ul></ul>
  22. 22. Digital Components <ul><ul><ul><li>Transistors </li></ul></ul></ul><ul><ul><ul><li>Replaced vacuum tubes </li></ul></ul></ul><ul><ul><ul><li>Smaller </li></ul></ul></ul><ul><ul><ul><li>Cheaper </li></ul></ul></ul><ul><ul><ul><li>Less heat dissipation </li></ul></ul></ul><ul><ul><ul><li>Solid State device </li></ul></ul></ul><ul><ul><ul><li>Made from Silicon (Sand) </li></ul></ul></ul><ul><ul><ul><li>Invented 1947 at Bell Labs </li></ul></ul></ul><ul><ul><ul><li>William Shockley et al. </li></ul></ul></ul><ul><li>High level digital circuit designs are normally made using collections of logic gates referred to as components, rather than using individual logic gates. The majority function can be viewed as a component. </li></ul>
  23. 23. Microelectronics <ul><li>Literally - “small electronics” </li></ul><ul><li>A computer is made up of gates, memory cells and interconnections </li></ul><ul><li>These can be manufactured on a semiconductor </li></ul><ul><li>e.g. silicon wafer </li></ul>
  24. 24. Levels of Integration <ul><li>Levels of integration (numbers of gates) in an integrated circuit (IC): </li></ul><ul><li>Small scale integration (SSI): 10-100 gates. </li></ul><ul><li>Medium scale integration (MSI): 100 to 1000 gates. </li></ul><ul><li>Large scale integration (LSI): 1000-10,000 logic gates. </li></ul><ul><li>Very large scale integration (VLSI): 10,000-upward. </li></ul><ul><li>These levels are approximate, but the distinctions are useful in comparing the relative complexity of circuits. </li></ul>
  25. 25. Generations of Computer <ul><li>First generation: Vacuum tube - 1946-1957 </li></ul><ul><li>Second generation: Transistor - 1958-1964 </li></ul><ul><li>Third generation: Integrated circuits – 1965 – 1971 </li></ul><ul><ul><li>Small scale integration - 1965 on </li></ul></ul><ul><ul><ul><li>Up to 100 devices on a chip </li></ul></ul></ul><ul><ul><li>Medium scale integration - to 1971 </li></ul></ul><ul><ul><ul><li>100-1000 devices on a chip </li></ul></ul></ul><ul><ul><li>Semiconductor memory (1970) </li></ul></ul><ul><ul><li>Microprocessor (1971) </li></ul></ul>
  26. 26. Generations of Computer <ul><li>Fourth generation: Large scale integration (LSI) - 1971-1977 </li></ul><ul><ul><li>1,000 - 100,000 devices on a chip </li></ul></ul><ul><ul><li>Intel 8080: first general-purpose microprocessor (1974) </li></ul></ul><ul><li>Fifth generation: 1978 – present </li></ul><ul><ul><li>Very large scale integration (VLSI) - 1978 to date </li></ul></ul><ul><ul><ul><li>100,000 - 100,000,000 devices on a chip </li></ul></ul></ul><ul><ul><li>Ultra large scale integration (ULSI) </li></ul></ul><ul><ul><ul><li>Over 100,000,000 devices on a chip </li></ul></ul></ul>
  27. 28. <ul><ul><li>Moore’s Law: Computing power doubles every 18 months </li></ul></ul><ul><ul><li>for the same price. </li></ul></ul>
  28. 30. Languages, Levels and Virtual Machines.
  29. 32. Translation <ul><li>One method of executing a program written in L1 is first to replace each instruction in it by an equivalent sequence of instructions in L0. The resulting program consists entirely of L0 instructions. The computer then executes the new L0 program instead of L1 program. This technique is called TRANSLATION ! </li></ul>
  30. 33. Interpretation <ul><li>The other technique is to write a program in L0 that takes programs in L1 as input data and carries them out by examining each instruction in turn and executing the equivalent sequence of L0 instructions directly. This technique does not require first generating a new program in L0. It is called INTERPRETATION. </li></ul>
  31. 34. Multilevel Machines <ul><li>Most modern machines consist of two or more levels. Machines with as many as six levels even exist! </li></ul>
  32. 37. Questions?