cse378 gen. intro1 machine organization and assembly language programming machine organization...

14
CSE378 Gen. Intro 1 Machine Organization and Assembly Language Programming Machine Organization Hardware-centric view (in this class) Not at the transistor (bit) level but at the building block level (registers, adders, memory words etc.) Assembly Language A way to learn about the Instruction Set Architecture, the interface between the hardware and the software.

Upload: lenard-rose

Post on 25-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

CSE378 Gen. Intro 1

Machine Organization and Assembly Language Programming

• Machine Organization– Hardware-centric view (in this class)

– Not at the transistor (bit) level but at the building block level (registers, adders, memory words etc.)

• Assembly Language– A way to learn about the Instruction Set Architecture, the interface

between the hardware and the software.

CSE378 Gen. Intro 2

Hierarchical Layers

• Top Layer: Application programs– Written in high-level languages: C, C++, Java, html etc

• Basic Software Layer– Translates programs written in high-level languages into machine

language made up of a sequence of instructions (assembly language is a symbolic rendering of machine language). The translators are programs called compilers.

– A program, the Operating System, controls the execution of the translated application programs. The O.S. is responsible for functions such as I/O, allocating storage, scheduling etc.

• Hardware– Executes the instructions

CSE378 Gen. Intro 3

Layered View

Application Programs

Operating System

Compilers

Computer Structure

Machine LanguageISA

CSE378 Gen. Intro 4

Programmatic view

a = b + c; HLL lw $2, 0($15) # load b Assembly language lw $3, 4($15) # load c add $4, $2, $3 #compute b + c sw $4, 8($15) #store in a 10001101111000100000000000000000 Machine language 10001101111001100000000000000100 00000000010000110010000000100001 10101101111001000000000000001000

CSE378 Gen. Intro 5

What is Machine Organization (aka Computer Organization, aka Computer Architecture)?

• Structure: static arrangement of the parts of a computer system

• Organization: dynamic interaction of the parts and their control

• Implementation: design of specific building blocks

• Performance: behavioral study of the system or of some of its components

CSE378 Gen. Intro 6

Alternate definition: Instruction Set Architecture (ISA) ( subset of previous def.)

• ISA is the interface between hardware and software

• ISA is what is visible to the programmer (and ISA might be different for O.S. and applications)

• ISA consists of:– instructions (operations and how they are encoded)

– information units (size, how they are addressed etc.)

– registers (or more generally processor state)

– input-output control

CSE378 Gen. Intro 7

Computer structure: Von Neumann model

Memory hierarchy

I/O

control ALU

RegistersPC

state

Memory bus

I/O bus

CPU

Data path

+

Control

input

output

Memory

CSE378 Gen. Intro 8

Computer Organization/Architecture

• Organization and architecture often used as synonyms

• Organization (in this course) refers to:– what are the basic blocks of a computer system, more specifically

• basic blocks of the CPU

• basic blocks of the memory hierarchy

– how are the basic blocks designed, controlled, connected?

• Organization used to be transparent to the ISA.

• Today more and more of the ISA is “exposed” to the user/compiler in order to improve performance.

CSE378 Gen. Intro 9

Advances in technology

Processor technology

Vacuum tubes

Transistors Integrated circuits

VLSI

Memory technology

Vacuum tubes

Ferrite core

Semi-conductor

Semi-conductor

Processor structure

Single processor

Main frames

Micros and minis

PC’s 64-bit arch Superscalar Multithreaded

CSE378 Gen. Intro 10

Evolution of Intel Microprocessor Speeds

0

500

1000

1500

2000

2500

3000

3500

4000

1971 1974 1979 1982 1985 1989 1993 1997 1998 1999 2000 2001 2002 2003

Year

Sp

eed

(M

Hz)

CSE378 Gen. Intro 11

Illustration of Moore’s Law

CSE378 Gen. Intro 12

Power Dissipation

CSE378 Gen. Intro 13

Some Computer families

• Computers that have the same (or very similar) ISA– Compatibility of software between various implementations

• IBM– 704, 709, 70xx etc.. From 1955 till 1965

– 360, 370, 43xx, 33xx From 1965 to the present

– Power PC

• DEC– PDP-11, VAX From 1970 till 1985

– Alpha (now Compaq, now HP) in 1990’s

CSE378 Gen. Intro 14

More computer families

• Intel– Early micros 40xx in early 70’s

– x86 (086,…,486, Pentium, Pentium Pro, Pentium 3, Pentium 4) from 1980 on

– IA-64 (Itanium) in 2001

• SUN– Sparc, Ultra Sparc 1985 0n

• MIPS-SGI– Mips 2000, 3000, 4400, 10000 from 1985 on