Chapter 1 : Introduction - PowerPoint PPT Presentation

1 / 64
About This Presentation
Title:

Chapter 1 : Introduction

Description:

The art and science of designing and constructing buildings, ... Babbage (1830s) - Difference Engine and Analytical Engine. Same Basic Design as Modern Computers ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 65
Provided by: mathe187
Category:

less

Transcript and Presenter's Notes

Title: Chapter 1 : Introduction


1
Chapter 1 Introduction
  • CSIS 321
  • Evans Adams

2
INTRODUCTION
  • ARCHITECTURE
  • The art and science of designing and
    constructing buildings, environments,
    communities, and structures.
  • COMPUTER
  • A digital computer is a machine that can solve
    problems for people by carrying out instructions
    given to it.

3
  • A COMPUTER ARCHITECT is a person who
  • should be a competent machine language programmer
    - preferably with experience in systems software.
  • must know the nature of the computer systems
    building blocks (electronic circuits)
  • should be exposed to problems which must be
    solved and how others have attempted to solve
    them.

4
  • The study of computer architecture is the study
    of the organization and interconnection of
    components of computer systems.
  • Computer architects construct computers from
    basic building blocks such as gates, memories,
    arithmetic logic units, serial and parallel
    interface adapters, buses, etc...

5
  • From these building blocks, the computer
    architect can construct any of a number of
    different types of computers.
  • These may range from the smallest, hand-held
    pocket calculator to the largest supercomputers.
  • Thus, computer architecture is the discipline
    devoted to the design of highly specific and
    individual computers from basic building blocks.
  • Computer organization and computer architecture
    shall be used as synonyms in this class.

6
LEVELS (See Figure 1-1)
  • To communicate with a computer, we use the
    language of the machine - machine language.
  • Most machine languages are very simple, indeed
    often only a few instructions such as add, test
    for zero, shift, transfer data between memory and
    registers.

7
  • The instructions are simple because the expense
    of constructing such machines is correspondingly
    less expensive with respect to the complexity of
    the machine language.
  • The problem is that humans are not very good at
    communication in these simple languages.
  • Designers will develop a more convenient language
    for humans to use.

8
  • The new language we will designate L2, and the
    machine language as L1.
  • Since the machine can only execute instructions
    in L1, there must be a method to convert the
    instructions in L2 to L1. These are
  • 1) Translation - the source program in L2 is
    translated in total to an equivalent program in
    L1.
  • The original program in L2 may be discarded, and
    the object program (the equivalent program) in L1
    may now be executed.

9
  • 2) Interpretation - the source program in L2
    is decoded on a line by line basis.
  • The source program is considered as input to the
    interpreting program,
  • each line is decoded and individually executed as
    a sequence of equivalent L1 instructions, and
  • an equivalent machine language program is not
    generated.

10
VIRTUAL MACHINE
  • A useful concept is the Virtual Machine or
    Hypothetical Computer whose machine language is
    L2.
  • Although such a machine would be expensive to
    construct, people can write programs for virtual
    machines as though they existed.

11
  • We view a computer as a series of virtual
    machines of layers, or levels, each one
    encompassing all others beneath it (See Figure
    1.1)
  • level n ----- virtual machine Mn with machine
    language Ln
  • level 1 ----- actual computer M1 with machine
    language L1
  • level 0 ----- discrete electronic components

12
  • Languages, levels, and virtual machines
  • machine defines a language
  • language defines a machine
  • Any language may be implemented directly in
    hardware, but the cost may be prohibitive.

13
  • A computer with n levels may be considered as n
    different virtual machines, each with a different
    machine language.
  • The level implies the virtual machine, thus
    programs written directly in L1 can be directly
    carried out by the electronic circuits (or
    hardware).

14
  • Programs written in L2, L3, , Ln must be
    translated or interpreted before they can be
    executed by the electronic circuits.
  • To understand how computers really work, one must
    study all the levels.
  • Structured computer organization comes from the
    concept of viewing a computer as a hierarchy of
    levels.

15
CONTEMPORARY MULTILEVEL MACHINES
  • Most modern computers consist of two or more
    levels, we shall consider a six level machine
    (See Figure 1-2).
  • Levels below 0 are the device level and solid
    state physics of the individual electronic
    devices. We shall consider

16
  • Level 5 --gt Problem oriented language level
  • - translation (compiler)
  • Level 4 --gt Assembly language level
  • - translation (assembler)
  • Level 3 --gt Operating system machine level
  • - partial interpretation
  • (operating system)

17
  • Level 2 --gt Instruction Set Architecture Level
  • - interpretation (microcode program) or
  • direct execution
  • Level 1 --gt Microarchitecture Level
  • - microprograms are executed
  • directly by the hardware
  • Level 0 --- Digital logic level
  • - transistor, capacitors, etc
  • --- Device/Solid State Physics Level

18
  • Level 0 - Digital logic Level ? Gates
  • Gates are digital (on/off, 0/1, true/false,
    high/low).
  • Transistors (building blocks for gates) are
    analog (continuous values over a given range).
  • Gates typically consist of a few transistors
  • Registers

19
  • Level 1 - Microarchitecture Level (Fig 2-2)
  • True machine language level, instructions are
    executed directly on the hardware.
  • A collection of registers that form a local
    memory and,
  • a circuit called an ALU, and
  • a data path connecting ALU and the registers
  • Data Path may be controlled by a microprogram or
    directly by hardware

20
  • Level 2 - Instruction Set Architecture Level
  • The instructions carried out interpretatively by
    a microprogram or directly by hardware execution
    circuits at Level 1
  • This is the language defined by the vendors
    instruction set, i.e., the Machine Language
    Reference Manual
  • Manufacturers may provide multiple microprogram
    interpreters, implying multiple instruction sets
    for the same machine

21
  • Level 3 - Operating System Level
  • This is a hybrid level because most instructions
    are identical to the level 2 instructions.
  • The new added facilities have, historically, been
    called an OPERATING SYSTEM. Thus, only a partial
    interpretation is done at this level.
  • These features include such capabilities as file
    management, virtual I/O, memory management, task
    management, etc...

22
  • Level 4 - Assembly language level
  • The lowest three levels are intended primarily
    for running the interpreters and translators
    needed to support the higher levels.
  • Levels 2 and 3 are always interpreted, and the
    programs are written by people called systems
    programmers who specialize in writing new virtual
    machines.
  • Level 4 and above are intended for applications
    programmers.
  • The upper levels are usually supported by
    translation, but may be supported by
    interpretation.

23
  • The primary distinction between the upper levels
    and the lower levels is that the UPPER LEVELS use
    MNEMONICS (symbolic) whereas the LOWER LEVELS use
    NUMERICS.
  • Level 4 is a symbolic form of one of the
    underlying levels.
  • The assembly language programs are first
    translated to one of levels 1, 2 or 3, and
  • the resulting program is interpreted by the
    appropriate virtual or actual machine.
  • An assembler is a translator!

24
  • Level 5 - Problem-oriented language level
  • High-level languages, problem-oriented languages
  • Ada ALGOL68 JAVA
  • BASIC C COBOL
  • FORTRAN LISP MODULA-2
  • Pascal PROLOG SNOBOL
  • If TRANSLATED, it is a COMPILER, some are
    INTERPRETED such as BASIC, LISP and many
    scripting languages.

25
  • Level 6 ??
  • It is possible to imagine virtual machines
    specifically tailored for specific applications
    such as computer design, manufacturing,
    administration, etc...

26
  • The Set of
  • Data Types,
  • Operations, and
  • Features
  • available at each level is called its
    Architecture
  • The Architecture deals with those aspects that
    are visible to the user of a level
  • The study of how to design those parts of a
    computer system that are visible to programmers
    at different levels is called Computer
    Architecture.

27
HISTORICAL EVOLUTION OF MULTILEVEL MACHINES
  • 1951
  • M. V. Wilkes suggested a 3 level machine to
    reduce hardware complexity.
  • Prior to that, digital computers were 2 level
    machines.
  • Wilkes is the father of microprogramming

28
  • The 1960s
  • Operating systems developed to automate the
    operators job.
  • Both BATCH systems and TIME SHARING systems were
    developed during this time period, and both are
    still in use today.
  • By 1970
  • The idea of having a microprogram to interpret
    the conventional machine language was widespread.

29
  • Microprograms tended to get slower as new
    instructions and new features were added
  • Researchers began to
  • Eliminate the microprogram
  • Reduce the instruction set, and
  • have the remaining instructions executed
    directly by the hardware
  • to speed up machines using RISC design principles

30
HARDWARE, SOFTWARE AND MULTILEVEL MACHINES
  • HARDWARE consists of TANGIBLE OBJECTS - ICs,
    printed circuit boards, power supplies, memories,
    printers, etc
  • SOFTWARE consists of algorithms and the data
    structures which support them.
  • It is usually represented on some medium, but
    the instructions and data are really the
    SOFTWARE, an INTANGIBLE OBJECT.

31
  • Intermediate between software and hardware is
    FIRMWARE, which is software embedded in
    electronic devices (ROM).
  • Firmware is used for rarely changing software and
    when permanent retention of software is required.

32
  • In important concept of this course is that
    SOFTWARE AND HARDWARE ARE TOPOLOGICALLY
    EQUIVALENT.
  • An instruction can be performed by software or
    built into hardware. The designer must consider
  • cost
  • speed
  • reliability
  • expected frequency of changes

33
  • There are no definite guidelines which determine
    what should be done in hardware and what should
    be done in software.
  • Thus boundaries between the two should be
    considered fluid.
  • (See Fig 1-7 IBM 360 Product Line)

34
PROCESSES
  • Another fundamental concept in this course is the
    PROCESS.
  • A PROCESS (often called a sequential process) is,
    essentially, a program in execution.
  • It is an active entity capable of causing events
    to occur.

35
  • In contrast, a program is a passive entity.
  • At any time, a process is in a specific STATE.
  • The state of a process tells how far the process
    is in its execution. A process consists of the
    following
  • program
  • pointer to the next instruction to be executed
  • values of the programs data
  • status of all I/O devices
  • status of internal flags and, possibly, other
    status information

36
  • If we prohibit processes that alter the program
    during execution (a very poor programming
    practice!), then a process has two parts
  • program (which may not change)
  • state vector (which changes during execution).
  • A PROCESSOR then is a machine (actual or virtual)
    which advances a process from one state to the
    next.

37
  • Thus a process passes through a time-ordered
    sequence of states. This gives rise to some
    important properties of a process
  • The effect of a process is independent of its
    execution speed.
  • If a process executes again with the same data,
    it goes through precisely the same sequence of
    states and produces the same results.
  • THE PROCESSOR CAN, ITSELF, BE ANOTHER PROCESS.

38
  • An interpreter in execution may be considered a
    processor.
  • An interpreter is a program that, when executed
  • pushes the state vector of some process, P,
  • through the sequence of states required by Ps
    program.
  • Hardware designers often build software
    interpreters to simulate new hardware features

39
MILESTONESin Computer Architecture
  • Generation 0 - Mechanical Computers
  • Pascal (1642) - Addition and Subtraction
  • Leibniz (1672) - , -, , /

40
  • Babbage (1830s) - Difference Engine and
    Analytical Engine
  • Same Basic Design as Modern Computers
  • Store (Memory)
  • Mill (Computation Unit)
  • Input Section (Punched Card Reader)
  • Output Section (Punched and Printed Output)

41
  • Analytic Engine was the first General Purpose
    Computer
  • By punching different programs on the input
    cards, it performs different computations.
  • Hardware Technology of the period was inadequate
    to fully construct the machine.

42
  • Zuse (1930s) - built a series of computers using
    electromagnetic relays (his work was destroyed by
    an Allied bombing in 1944).
  • Atanasoff, Stibbitz, Aiken (early 1940s) used
    electromagnetic relays and capacitors to design
    computing machines of limited capability.

43
  • Generation 1 - Vacuum Tubes (1945-55)
  • COLLOSUS (1943) - first electronic digital
    computer
  • Built by British Intelligence to decode German
    messages (Alan Turing helped design this
    machine).
  • Classified as a military secret for 30 years.

44
  • ENIAC (1946) - John Mauchley and J. Presper
    Eckert - US Army contract for calculating range
    tables for firing heavy artillery.
  • 18,000 vacuum tubes and 1500 relays
  • Weighed 30 tons and consumed 140 Kilowatts of
    power
  • 20 registers which held 10-digit decimal numbers

45
  • Programmed by setting up to 6000 multiposition
    switches and connecting sockets with jumper
    cables.
  • Not built until the war was over, but work was
    presented at a summer institute which sparked
    interest in building large digital computers.
  • Eckert-Mauchley Computer Corporation which
    eventually became the UNISYS Corporation was
    founded based upon this research and produced
    UNIVAC (the first commercially available
    computer).

46
  • EDSAC and IAS
  • John Von Neumann - a genius and the most eminent
    mathematician in the world - expanded upon the
    work of Eckert/Mauchley.
  • First Stored-Program Computer (eliminated the
    need to flip switches and connect sockets)
  • Basic design still used today (see Figure 1-5).
  • IBM 701, 704, 709 - scientific computers based
    upon vacuum tube technology.

47
  • Generation 2 - Transistors (1955-65)
  • Bardeen, Bratain and Schockley developed the
    transistor at Bell Labs in 1948 (won Nobel Prize
    in 1956).
  • Caused vacuum tube computers to be obsolete.
  • TX-0 - first transistorized computer built at MIT.

48
  • Kenneth Olsen left MIT to form DEC in 1957 to
    market the PDP-1 (based upon TX-0 design).
  • DEC venture capitalists believed there was no
    market for computers and mainly marketed small
    circuit boards.
  • PDP-1 was finally marketed in 1961 (first
    minicomputer) for 120,000.
  • IBM mainframes (7090 was fastest at this time)
    cost millions.

49
  • PDP-8 developed a few years later sold for
    16,000 and was more powerful than PDP-1.
  • Major innovation was a single bus (omnibus)
    (Figure 1.6).
  • 50,000 were sold making DEC the leader in
    minicomputers.

50
  • CDC 6600 (1964) - multiple processor scientific
    computer.
  • Burroughs B5000.
  • Instruction set built specifically to execute
    Algol 60 programs.
  • First machine optimized for software.

51
  • Generation 3 - Integrated Circuits (1965-80)
  • Technology allowed dozens of transistors to be
    put on a single chip and building computers that
    are smaller, faster and cheaper.

52
  • IBM System 360 - a single product line that
    combined features for scientific and business
    computing.
  • First family of computers with the same
    assembly language and increasing size and power
    (see Figure 1-7).
  • Software for a smaller model runs on a larger
    model without modifications.

53
  • Downward compatible with older IBM machines.
  • First to introduce MULTIPROGRAMMING (several
    programs in memory at once so that one could
    execute while another was waiting for I/O).
  • IBM 370, 4300, 3080 and 3090 series all used this
    same architecture.

54
  • DEC PDP-11 succeeded PDP-8 and became very
    popular at universities.
  • IBM and DEC dominated mainframe and minicomputer
    markets.

55
  • Generation 4 - Personal Computers
  • and VLSI (1980-?)
  • Very Large Scale Integration (VLSI) allows
    currently millions of transistors on a single
    chip leading to smaller and faster computers.
  • Personal computer completed the cycle from large
    companies to departments to individuals being
    able to afford computer technology.
  • Current Categories of Computers (See Figure 1.9).

56
  • Moores Law
  • An empirical observation about how fast solid
    state physicists and process engineers are
    advancing the state of the art
  • Physical limitations indicate that it will
    probably hold until about 2020 (See Figure 1-8)
  • Nathans Law
  • Software is a gas. It expands to fill the
    container holding it.
  • Software with additional features drives the
    demand for faster processors, larger memories and
    increased I/O capacity
  • The Computer Spectrum (see Figure 1-9)

57
Example Architectures
  • Pentium II
  • a traditional CISC (Complex Instruction Set
    Computer) using modern superscalar (pipeline)
    technology
  • UltraSPARC II
  • a RISC (Reduced Instruction Set Computer) with
    superscalar technology
  • picoJava II
  • a dedicated Java chip for use in embedded systems

58
  • Intel Chips
  • 4004 - First single-chip CPU (4-Bit) to support
    hand-held calculators (1970)
  • 8008 - 8-bit version of 4004 (1972)
  • 8088 - 16-bit CPU selected by IBM for its first
    PC
  • All Intel chips are backward compatible wrt
    software
  • Great for running older software
  • A nuisance to chip designers who would prefer a
    simple, clean, modern architecture unencumbered
    by mistakes and technology from the past
  • (see Figure 1-10)

59
  • SPARC Architecture
  • Andy Bechtolsheim - a Stanford Graduate student
    built a personal UNIX workstation out of
    off-the-shelf parts called the SUN-1
  • SUN-1 evolved into the first commercial product
    of Sun Microsystems (using Motorola CPUs)
  • Suns initial products were powerful
    workstations with built-in networking support
  • Sun developed the SPARC (Scalable Processor
    ARChitecture) based upon the RISC II design of UC
    Berkeley
  • Sun decided not to manufacture the SPARC chips
    itself, but to license several manufacturers to
    produce them
  • Sun hoped to build competition to the Intel
    world by making SPARC was an open-architecture

60
  • The SPARC architecture is a specification of
  • An instruction set, and
  • other programmer-visible features
  • Various implementations of the SPARC
    architecture have been developed by different
    hardware vendors
  • We will mainly study the generic SPARC
    architecture specification, except, when
    discussing CPU chips, a specific SPARC chip used
    in Sun Workstations will be used
  • Specifically, we use the 64-bit V9 UltraSPARC
    II architecture

61
  • picoJava II Architecture
  • Java Virtual Machine Architecture
  • 32-bit memory words and 226 instructions
  • Suns Java compiler compiles into JVM code
    (byte-code)
  • A JVM interpreter then executes JVM code
  • The JVM interpreter is written in C and can be
    compiled on any machine with a C compiler
  • JVM code is shipped over the Internet
  • JVM interpreter on a local machine then
    interprets JVM code leading to Javas portability
  • Most browsers contain a JVM interpeter

62
  • Since interpretation is relatively slow, Sun
    (and other companies) have designed a JVM chip
    which can directly execute JVM programs
  • picoJava II is an architecture specification
    which is the basis for a number of commercial
    chips such as the Sun microJava 701
  • picoJava II has two optional units (a cache and
    a floating-point unit) which a chip manufacturer
    can either include or remove

63
  • Computer Architecture - Main Topics
  • The overall design of the level (and why it is
    designed that way).
  • The kinds of instructions available.
  • The kinds of data used.
  • Mechanisms available for altering the flow of
    control.
  • Memory organization and addressing.
  • Relationship between instruction set and memory
    organization.
  • Method by which each level is implemented.

64
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com