0 introduction to computer architecture
description
Transcript of 0 introduction to computer architecture
Computer Computer Architecture Architecture
By Mohamed ELARBIBy Mohamed ELARBIOffice: SR036Office: SR036
Tel(Office): 2582137Tel(Office): 2582137Email: Email: [email protected]@imamu.edu.sa
Office Hours: Sat (13:00-15:00), Sun (13:00-15:00), Mon Office Hours: Sat (13:00-15:00), Sun (13:00-15:00), Mon (13:00-14:00)(13:00-14:00)
Useful information:Useful information:
TextbookTextbook: : Computer Organization and Computer Organization and Architecture. Architecture. By By William Stallings.William Stallings.
Other resources:Other resources:Computer ArchitectureComputer Architecture. A quantitative . A quantitative
Approach. John L. Hennessy & David A. Approach. John L. Hennessy & David A. PattersonPatterson
Structured Computer OrganizationStructured Computer OrganizationFourth Edition, by AFourth Edition, by Andrew S. Tanenbaumndrew S. Tanenbaum
http://cwx.prenhall.com/bookbind/pubbooks/tanenbaum2http://cwx.prenhall.com/bookbind/pubbooks/tanenbaum2//
Internet ResourcesInternet Resources- Web site for textbook- Web site for textbook
http://WilliamStallings.com/COA6e.htmlhttp://WilliamStallings.com/COA6e.html links to sites of interestlinks to sites of interest links to sites for courses that use the booklinks to sites for courses that use the bookerrata list for bookerrata list for book
http://WilliamStallings.com/StudentSupporthttp://WilliamStallings.com/StudentSupport.html.htmlMathMathHow-toHow-toResearch resourcesResearch resources
Internet ResourcesInternet Resources- Web sites to look for- Web sites to look for
WWW Computer Architecture Home PageWWW Computer Architecture Home Page CPU Info CenterCPU Info Center ACM Special Interest Group on Computer ACM Special Interest Group on Computer
ArchitectureArchitecture IEEE Technical Committee on Computer IEEE Technical Committee on Computer
ArchitectureArchitecture Intel Technology JournalIntel Technology Journal Manufacturer’s sitesManufacturer’s sites
Intel, IBM, etc.Intel, IBM, etc.
TimetableTimetable TopicsTopics
Weeks 1-2Weeks 1-2 Introduction & vocabulary, History of computer Introduction & vocabulary, History of computer architecture , Overview of computer organization, architecture , Overview of computer organization,
Weeks 3-5 Weeks 3-5 Overall CPU organization , High-level issues in CPU Overall CPU organization , High-level issues in CPU
design, Memory Hierarchy and cache, External design, Memory Hierarchy and cache, External memory , RAID organization of hard disks memory , RAID organization of hard disks
Weeks 6-7 Weeks 6-7 Representing information digitally, Instruction Sets Representing information digitally, Instruction Sets [CISC/RISC], Addressing Modes [CISC/RISC], Addressing Modes
Weeks 8-9 Weeks 8-9 Register and dataflow design, CPU control unit Register and dataflow design, CPU control unit Microprogrammed control , Hardwired control Microprogrammed control , Hardwired control
Weeks 10-Weeks 10-11 11 Pipeline design, Branch prediction , Superscalar design Pipeline design, Branch prediction , Superscalar design
Week 12 Week 12 EPIC CPU Design, Operating System Issues, Paging & EPIC CPU Design, Operating System Issues, Paging & Segmentation Segmentation
Week 13Week 13 Parallel Processing , Cache coherence in parallel Parallel Processing , Cache coherence in parallel computing computing
Week 14 Week 14 Parallel computer architectures, Distributed computing Parallel computer architectures, Distributed computing
TopicsTopics
Computer ArchitectureComputer Architecture
Computer OrganizationComputer Organization
Organization and ArchitectureOrganization and Architecture
Structure and FunctionStructure and Function
Computer Architecture (1)Computer Architecture (1) Definition?Definition? ““The design of integrated system which provides a useful The design of integrated system which provides a useful
tool to the programmer.” (Baer)tool to the programmer.” (Baer) ““The study of the structure, behaviour, and design of The study of the structure, behaviour, and design of
computers.” (Hayes)computers.” (Hayes) ““The design of the system specification at a general or The design of the system specification at a general or
subsystem level.” (Abd-Alla)subsystem level.” (Abd-Alla) ““The art of designing a machine that will be a pleasure to The art of designing a machine that will be a pleasure to
work with.” (Foster)work with.” (Foster) ““The interface between the hardware and the lowest The interface between the hardware and the lowest
level software.” (Hennessy and Patterson)level software.” (Hennessy and Patterson)
Computer Architecture (2)Computer Architecture (2)
Therefore, computer architecture refers toTherefore, computer architecture refers toAttributes of a system Attributes of a system visiblevisible to programmers to programmersAttributes that have a direct impact on the Attributes that have a direct impact on the
execution of programsexecution of programs
AttributesAttributes Instruction setInstruction setData representationData representation I/O mechanismsI/O mechanismsAddressing techniquesAddressing techniques
Computer OrganizationComputer Organization
Organization refers to operational units and Organization refers to operational units and their interconnections that realize the their interconnections that realize the architectural specifications.architectural specifications.
Attributes: hardware details transparent to Attributes: hardware details transparent to programmersprogrammersControl signalsControl signalsComputer/peripheral interfaceComputer/peripheral interfaceMemory technologyMemory technology
Architecture & Organization (1)Architecture & Organization (1) Architecture is Architecture is attributes visible to programmersattributes visible to programmers Organization is Organization is how features arehow features are implementedimplemented Example:Example:
Architecture: multiply instruction?Architecture: multiply instruction? Organization: hardware multiply unit or done by Organization: hardware multiply unit or done by
repeated addition? (how is it implemented?)repeated addition? (how is it implemented?) Example:Example:
IBM/370 architectureIBM/370 architecture different models (organizations)different models (organizations)
Architecture & Organization (2)Architecture & Organization (2)
Family ConceptFamily ConceptAll Intel x86 family share the same basic All Intel x86 family share the same basic
architecturearchitectureThe IBM System/370 family share the same basic The IBM System/370 family share the same basic
architecturearchitectureThis gives code compatibility (at least backwards)This gives code compatibility (at least backwards)
Organization differs between different versionsOrganization differs between different versions
Some DefinitionsSome Definitions•• Computer architectureComputer architecture deals with the functional behavior of deals with the functional behavior of
a computer system as viewed by a programmer (like the a computer system as viewed by a programmer (like the size of a data type – 32 bits to an integer).size of a data type – 32 bits to an integer).
•• Computer organizationComputer organization deals with structural relationships deals with structural relationships that are not visible to the programmer (like clock frequency that are not visible to the programmer (like clock frequency or the size of the physical memory).or the size of the physical memory).
•• There is a concept ofThere is a concept of levelslevels in computer architecture. The in computer architecture. The basic idea is that there are many levels at which a computer basic idea is that there are many levels at which a computer can be considered, from the highest level, where the user is can be considered, from the highest level, where the user is running programs, to the lowest level, consisting of running programs, to the lowest level, consisting of transistors and wirestransistors and wires..
Computer Architecture v. Computer Architecture v. Computer OrganizationComputer Organization
Architecture - logical design of a computer, Architecture - logical design of a computer, allows you to write programsallows you to write programs
1.1. Instruction set (what is the instruction set?)Instruction set (what is the instruction set?)2.2. Representation of data types (integers v. characters Representation of data types (integers v. characters
v. floating point types)v. floating point types)3.3. Input/Output mechanisms (how does the computer Input/Output mechanisms (how does the computer
communicate with the world?)communicate with the world?)4.4. Memory addressing techniquesMemory addressing techniques
Organization - physical design of a computerOrganization - physical design of a computer1.1. How many registers?How many registers?2.2. What is a register?What is a register?3.3. How many registers does a typical CPU How many registers does a typical CPU
have?have?
Structure & Function (1)Structure & Function (1) ComputerComputer
Complex system=> How can we design/describe Complex system=> How can we design/describe it?it?
Hierarchic system:Hierarchic system:A set of interrelated subsystems, each subsystem A set of interrelated subsystems, each subsystem
hierarchic in structure until some lowest level of hierarchic in structure until some lowest level of elementary subsystems is reachedelementary subsystems is reached
At each level of the system, the designer is At each level of the system, the designer is concerned with concerned with structurestructure and and functionfunction..
Structure & Function (2)Structure & Function (2)
Structure is the way in which components Structure is the way in which components relate to each otherrelate to each other
Function is the operation of individual Function is the operation of individual components as part of the structurecomponents as part of the structure
FunctionFunction
Basic computer functions:Basic computer functions:Data processingData processingData storageData storageData movementData movementControlControl
Functional ViewFunctional ViewThe von Neumann ModelThe von Neumann Model
•• The von Neumann model consists of five major components:The von Neumann model consists of five major components:(1) input unit; (2) output unit; (3) arithmetic logic unit; (4) (1) input unit; (2) output unit; (3) arithmetic logic unit; (4) memory unit; (5) control unit.memory unit; (5) control unit.
The System Bus ModelThe System Bus Model•• A refinement of the von Neumann model, the system bus model has a A refinement of the von Neumann model, the system bus model has a
CPU (ALU and control), memory, and an input/output unit.CPU (ALU and control), memory, and an input/output unit.
•• Communication among components is handled by a shared pathway Communication among components is handled by a shared pathway called the called the system bussystem bus, which is made up of the data bus, the address , which is made up of the data bus, the address bus, and the control bus. There is also a power bus, and some bus, and the control bus. There is also a power bus, and some architectures may also have a separate I/O bus.architectures may also have a separate I/O bus.
A Typical A Typical Computer Computer SystemSystem
The MotherboardThe Motherboard•• The five von Neumann components are visible in this example The five von Neumann components are visible in this example
motherboard, in the context of the system bus model.motherboard, in the context of the system bus model.
Scientific PrefixesScientific Prefixes• For computer memory, 1K = 210 = 1024. For everything else, like clock speeds, 1K = 1000, and likewise for 1M, 1G, etc.
Digital ComponentsDigital Components
TransistorsTransistors Replaced vacuum tubesReplaced vacuum tubes SmallerSmaller CheaperCheaper Less heat dissipationLess heat dissipation Solid State deviceSolid State device Made from Silicon (Sand)Made from Silicon (Sand) Invented 1947 at Bell LabsInvented 1947 at Bell Labs William Shockley et al.William Shockley et al.
High level digital circuit designs are normally made using High level digital circuit designs are normally made using collections of logic gates referred to as components, rather collections of logic gates referred to as components, rather than using individual logic gates. The majority function can than using individual logic gates. The majority function can be viewed as a component.be viewed as a component.
MicroelectronicsMicroelectronics
Literally - “small electronics”Literally - “small electronics”A computer is made up of gates, memory A computer is made up of gates, memory
cells and interconnectionscells and interconnectionsThese can be manufactured on a These can be manufactured on a
semiconductorsemiconductore.g. silicon wafere.g. silicon wafer
Levels of IntegrationLevels of Integration
Levels of integration (numbers of gates) in an integrated Levels of integration (numbers of gates) in an integrated circuit (IC):circuit (IC):
Small scale integration (SSI): 10-100 gates. Small scale integration (SSI): 10-100 gates. Medium scale integration (MSI): 100 to 1000 gates.Medium scale integration (MSI): 100 to 1000 gates. Large scale integration (LSI): 1000-10,000 logic gates.Large scale integration (LSI): 1000-10,000 logic gates. Very large scale integration (VLSI): 10,000-upward.Very large scale integration (VLSI): 10,000-upward.
These levels are approximate, but the distinctions are These levels are approximate, but the distinctions are useful in comparing the relative complexity of circuits.useful in comparing the relative complexity of circuits.
Generations of ComputerGenerations of Computer
First generation: Vacuum tube - 1946-1957First generation: Vacuum tube - 1946-1957 Second generation: Transistor - 1958-1964Second generation: Transistor - 1958-1964 Third generation: Integrated circuits – 1965 – 1971Third generation: Integrated circuits – 1965 – 1971
Small scale integration - 1965 onSmall scale integration - 1965 on Up to 100 devices on a chipUp to 100 devices on a chip
Medium scale integration - to 1971Medium scale integration - to 1971 100-1000 devices on a chip100-1000 devices on a chip
Semiconductor memory (1970)Semiconductor memory (1970) Microprocessor (1971)Microprocessor (1971)
Generations of ComputerGenerations of Computer Fourth generation: Large scale integration Fourth generation: Large scale integration
(LSI) - 1971-1977(LSI) - 1971-19771,000 - 100,000 devices on a chip1,000 - 100,000 devices on a chip Intel 8080: first general-purpose microprocessor Intel 8080: first general-purpose microprocessor
(1974)(1974) Fifth generation: 1978 – presentFifth generation: 1978 – present
Very large scale integration (VLSI) - 1978 to dateVery large scale integration (VLSI) - 1978 to date100,000 - 100,000,000 devices on a chip100,000 - 100,000,000 devices on a chip
Ultra large scale integration (ULSI)Ultra large scale integration (ULSI)Over 100,000,000 devices on a chipOver 100,000,000 devices on a chip
Moore’s Law: Computing power doubles every 18 months
for the same price.
Languages, Levels and Languages, Levels and Virtual Machines.Virtual Machines.
TranslationTranslation
One method of executing a program One method of executing a program written in L1 is first to replace each written in L1 is first to replace each instruction in it by an equivalent sequence instruction in it by an equivalent sequence of instructions in L0. The resulting program of instructions in L0. The resulting program consists entirely of L0 instructions. The consists entirely of L0 instructions. The computer then executes the new L0 computer then executes the new L0 program instead of L1 program. This program instead of L1 program. This technique is called TRANSLATION !technique is called TRANSLATION !
InterpretationInterpretation
The other technique is to write a program The other technique is to write a program in L0 that takes programs in L1 as input in L0 that takes programs in L1 as input data and carries them out by examining data and carries them out by examining each instruction in turn and executing the each instruction in turn and executing the equivalent sequence of L0 instructions equivalent sequence of L0 instructions directly. This technique does not require directly. This technique does not require first generating a new program in L0. It is first generating a new program in L0. It is called INTERPRETATION.called INTERPRETATION.
Multilevel MachinesMultilevel Machines
Most modern machines consist of two or Most modern machines consist of two or more levels. Machines with as many as six more levels. Machines with as many as six levels even exist!levels even exist!
Questions?Questions?