0 introduction to computer architecture

37
Computer Computer Architecture Architecture By Mohamed ELARBI By Mohamed ELARBI Office: SR036 Office: SR036 Tel(Office): 2582137 Tel(Office): 2582137 Email: Email: [email protected] [email protected] Office Hours: Sat (13:00-15:00), Sun (13:00- Office Hours: Sat (13:00-15:00), Sun (13:00- 15:00), Mon (13:00-14:00) 15:00), Mon (13:00-14:00)

description

 

Transcript of 0 introduction to computer architecture

Page 1: 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)

Page 2: 0 introduction to computer architecture

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//

Page 3: 0 introduction to computer architecture

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

Page 4: 0 introduction to computer architecture

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.

Page 5: 0 introduction to computer architecture

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

Page 6: 0 introduction to computer architecture

TopicsTopics

Computer ArchitectureComputer Architecture

Computer OrganizationComputer Organization

Organization and ArchitectureOrganization and Architecture

Structure and FunctionStructure and Function

Page 7: 0 introduction to computer architecture

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)

Page 8: 0 introduction to computer architecture

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

Page 9: 0 introduction to computer architecture

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

Page 10: 0 introduction to computer architecture

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)

Page 11: 0 introduction to computer architecture

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

Page 12: 0 introduction to computer architecture

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..

Page 13: 0 introduction to computer architecture

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?

Page 14: 0 introduction to computer architecture

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..

Page 15: 0 introduction to computer architecture

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

Page 16: 0 introduction to computer architecture

FunctionFunction

Basic computer functions:Basic computer functions:Data processingData processingData storageData storageData movementData movementControlControl

Page 17: 0 introduction to computer architecture

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.

Page 18: 0 introduction to computer architecture

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.

Page 19: 0 introduction to computer architecture

A Typical A Typical Computer Computer SystemSystem

Page 20: 0 introduction to computer architecture

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.

Page 21: 0 introduction to computer architecture

Scientific PrefixesScientific Prefixes• For computer memory, 1K = 210 = 1024. For everything else, like clock speeds, 1K = 1000, and likewise for 1M, 1G, etc.

Page 22: 0 introduction to computer architecture

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.

Page 23: 0 introduction to computer architecture

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

Page 24: 0 introduction to computer architecture

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.

Page 25: 0 introduction to computer architecture

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)

Page 26: 0 introduction to computer architecture

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

Page 27: 0 introduction to computer architecture
Page 28: 0 introduction to computer architecture

Moore’s Law: Computing power doubles every 18 months

for the same price.

Page 29: 0 introduction to computer architecture
Page 30: 0 introduction to computer architecture

Languages, Levels and Languages, Levels and Virtual Machines.Virtual Machines.

Page 31: 0 introduction to computer architecture
Page 32: 0 introduction to computer architecture

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 !

Page 33: 0 introduction to computer architecture

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.

Page 34: 0 introduction to computer architecture

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!

Page 35: 0 introduction to computer architecture
Page 36: 0 introduction to computer architecture
Page 37: 0 introduction to computer architecture

Questions?Questions?