28
Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Embed Size (px)

Citation preview

Page 1: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Computer Architecture

6001215-3

Lec 06: Computer Architecture Introduction

Page 2: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Why Learn Computer Architecture? You want to call yourself a “computer scientist”

Computer architecture impacts every other aspect of computer science

You need to make a purchasing decision or offer “expert” advice

You want to build software people use – sell many, many copies-(need performance)

Both hardware and software affect performance- Algorithm determines number of source-level statements- Language/compiler/architecture determine machine instructions (Chapter 2

and 3)- Processor/memory determine how fast instructions are executed (Chapter 5,

6, and 7)- Assessing and understanding performance(Chapter 4)

Page 3: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Design better programs, including system

software such as compilers, operating systems, and device drivers.

Optimize program behavior. Evaluate (benchmark) computer system

performance. Understand time, space, and price tradeoffs.

Why study computer organization and architecture?

Page 4: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Computer Architecture vs Computer Organization

Computer organization Encompasses all physical aspects of computer

systems. E.g., circuit design, control signals, memory types. How does a computer work?

Computer architecture Logical aspects of system implementation as seen by

the programmer. E.g., instruction sets, instruction formats, data types,

addressing modes. How do I design a computer?

Page 5: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Computer Systems

Software Application software – Word Processors, Email, Internet

Browsers, Games Systems software – Compilers, Operating Systems

Hardware CPU Memory I/O devices (mouse, keyboard, display, disks, networks,……..)

Page 6: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

instruction set

software

hardware

One of the most important abstractions is ISA A critical interface between HW and SW Example: MIPS Desired properties

- Convenience (from software side)- Efficiency (from hardware side)

Instruction Set Architecture (ISA)

Page 7: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Instruction Set Architecture (ISA)

ISA: An abstract interface between the hardware and the lowest level software of a machine that encompasses all the information necessary to write a machine language program that will run correctly, including instructions, registers, memory access, I/O, and so on.

“... the attributes of a [computing] system as seen by the programmer, i.e., the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls, the logic design, and the physical implementation.”

– Amdahl, Blaauw, and Brooks, 1964 Enables implementations of varying cost and performance to run

identical software

ABI (application binary interface): The user portion of the instruction set plus the operating system interfaces used by application programmers. Defines a standard for binary portability across computers.

Page 8: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

High-level to Machine Language

High-level language program (in C)

Assembly langMIPSuage program

(for)

Binary machine language program (for MIPS)

Compiler

Assembler

Page 9: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Organization of a computer

Page 10: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Anatomy of Computer

Personal Computer

Processor

Computer

Control(“brain”)

Datapath(“brawn”)

Memory

(where programs, data live whenrunning)

Devices

Input

Output

Keyboard, Mouse

Display, Printer

Disk (where programs, data live whennot running)

5 classic components

Datapath: performs arithmetic operation Control: guides the operation of other components based on the

user instructions

Page 11: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Moore’s Law

In 1965, Gordon Moore predicted that the number of transistors that can be integrated on a die would double every 18 to 24 months (i.e., grow exponentially with time).

Amazingly visionary – million transistor/chip barrier was crossed in the 1980’s.

2300 transistors, 1 MHz clock (Intel 4004) - 1971 16 Million transistors (Ultra Sparc III) 42 Million transistors, 2 GHz clock (Intel Xeon) – 2001 55 Million transistors, 3 GHz, 130nm technology, 250mm2 die

(Intel Pentium 4) - 2004 140 Million transistor (HP PA-8500)

Page 12: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Moore’s Law

“Cramming More Components onto Integrated Circuits” Gordon Moore, Electronics, 1965

# of transistors per cost-effective integrated circuit doubles every 18 months

“Transistor capacity doubles every 18-24 months”Speed 2x / 1.5 years (since ‘85); 100X performance in last decade

Page 13: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Trend: Microprocessor Performance

Page 14: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Example Machine Organization

Workstation design target 25% of cost on processor 25% of cost on memory (minimum memory size) Rest on I/O devices, power supplies, box

CPU

Computer

Control

Datapath

Memory Devices

Input

Output

Page 15: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Consider this advertisement:

An ExampleExample System

MHz??

MB??

PCI??USB??

L1 Cache??

What does it all mean??

Page 16: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Standards Organizations

There are many organizations that set computer hardware standards-- to include the interoperability of computer components.

Throughout this book, and in your career, you will encounter many of them.

Some of the most important standards-setting groups are . . .

Page 17: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Standards Organizations

The Institute of Electrical and Electronic Engineers (IEEE)

Promotes the interests of the worldwide electrical engineering community.

Establishes standards for computer components, data representation, and signaling protocols, among many other things.

Page 18: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Standards Organizations

The International Telecommunications Union (ITU) Concerns itself with the interoperability of

telecommunications systems, including data communications and telephony.

National groups establish standards within their respective countries:

The American National Standards Institute (ANSI)

The British Standards Institution (BSI)

Page 19: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

Standards Organizations

The International Organization for Standardization (ISO)

Establishes worldwide standards for everything from screw threads to photographic film.

Is influential in formulating standards for computer hardware and software, including their methods of manufacture.

Note: ISO is not an acronym. ISO comes from the Greek, isos, meaning “equal.”

Page 20: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The Computer Level Hierarchy

Computers consist of many things besides chips. Before a computer can do anything worthwhile, it

must also use software. Writing complex programs requires a “divide and

conquer” approach, where each program module solves a smaller problem.

Complex computer systems employ a similar technique through a series of virtual machine layers.

Page 21: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The Computer Level Hierarchy

Each virtual machine layer is an abstraction of the level below it.

The machines at each level execute their own particular instructions, calling upon machines at lower levels to perform tasks as required.

Computer circuits ultimately carry out the work.

Page 22: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The Computer Level Hierarchy

Level 6: The User Level Program execution and user interface level. The level with which we are most familiar.

Level 5: High-Level Language Level The level with which we interact when we write

programs in languages such as C, Pascal, Lisp, and Java.

Page 23: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The Computer Level Hierarchy

Level 4: Assembly Language Level Acts upon assembly language produced from

Level 5, as well as instructions programmed directly at this level.

Level 3: System Software Level Controls executing processes on the system. Protects system resources. Assembly language instructions often pass

through Level 3 without modification.

Page 24: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The Computer Level Hierarchy

Level 2: Machine Level Also known as the Instruction Set

Architecture (ISA) Level. Consists of instructions that are particular to

the architecture of the machine. Programs written in machine language need

no compilers, interpreters, or assemblers.

Page 25: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The Computer Level Hierarchy

Level 1: Control Level A control unit decodes and executes

instructions and moves data through the system.

Control units can be microprogrammed or hardwired.

A microprogram is a program written in a low-level language that is implemented by the hardware.

Hardwired control units consist of hardware that directly executes machine instructions.

Page 26: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The Computer Level Hierarchy

Level 0: Digital Logic Level This level is where we find digital circuits

(the chips). Digital circuits consist of gates and wires. These components implement the

mathematical logic of all other levels.

Page 27: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The von Neumann Model

Today’s stored-program computers have the following characteristics:

Three hardware systems: - A central processing unit (CPU)- A main memory system- An I/O system

The capacity to carry out sequential instruction processing.

A single data path between the CPU and main memory.

- This single path is known as the von Neumann bottleneck.

Page 28: Computer Architecture 6001215-3 Lec 06: Computer Architecture Introduction

The von Neumann Model

This is a general depiction of a von Neumann system:

These computers employ a fetch-decode-execute cycle to run programs as follows . . .