Top Banner
CHAPTER 6: The Little Man Computer The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Linda Senne, Bentley College Wilson Wong, Bentley College
60
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 20130304_ch06

CHAPTER 6:The Little Man Computer

The Architecture of Computer Hardware and Systems Software:

An Information Technology Approach

3rd Edition, Irv Englander

John Wiley and Sons 2003

Linda Senne, Bentley College

Wilson Wong, Bentley College

Page 2: 20130304_ch06

Chapter 6 Little Man Computer 6-2

The Little Man Computer

Page 3: 20130304_ch06

Chapter 6 Little Man Computer 6-3

Mailboxes: Address vs. Content

Addresses are consecutive Content may be

Data or Instructions

Address Content

Page 4: 20130304_ch06

Chapter 6 Little Man Computer 6-4

Content: Instructions

Op code Operation code Arbitrary mnemonic

Operand Object to be manipulated

Data or Address of data

Address Content

Op code Operand

Page 5: 20130304_ch06

Chapter 6 Little Man Computer 6-5

Magic!

Load program into memory Put data into In Basket

Page 6: 20130304_ch06

Chapter 6 Little Man Computer 6-6

Assembly Language

Specific to a CPU 1 to 1 correspondence between

assembly language instruction and binary (machine) language instruction

Mnemonics (short character sequence) represent instructions

Used when programmer needs precise control over hardware, e.g., device drivers

Page 7: 20130304_ch06

Chapter 6 Little Man Computer 6-7

Instruction Set

Arithmetic 1xx ADD

2xx SUB

Data Movement 3xx STORE

5xx LOAD

Input/Output 901 INPUT

902 Output

Machine Control(coffee break)

000 STOP

COB

Page 8: 20130304_ch06

Chapter 6 Little Man Computer 6-8

Input/Output

Move data between calculator and in/out baskets

Content

Op Code Operand

(address)IN (input) 9 01

OUT (output) 9 02

Page 9: 20130304_ch06

Chapter 6 Little Man Computer 6-9

LMC Input/Output

IN

OUT

Page 10: 20130304_ch06

Chapter 6 Little Man Computer 6-10

Internal Data Movement

Between mailbox and calculator

Content

Op Code Operand

(address)STO (store)

3 xx

LDA (load) 5 xx

Page 11: 20130304_ch06

Chapter 6 Little Man Computer 6-11

LMC Internal Data

LDA

STO

Page 12: 20130304_ch06

Chapter 6 Little Man Computer 6-12

Data storage location

Physically identical to instruction mailbox

Not located in instruction sequence Identified by DAT mnemonic

Page 13: 20130304_ch06

Chapter 6 Little Man Computer 6-13

Arithmetic Instructions

Read mailbox Perform operation in the calculator

Content

Op Code Operand

(address)ADD 1 xx

SUB 2 xx

Page 14: 20130304_ch06

Chapter 6 Little Man Computer 6-14

LMC Arithmetic Instructions

ADD

SUB

Page 15: 20130304_ch06

Chapter 6 Little Man Computer 6-15

Simple Program: Add 2 Numbers

Assume data is storedin mailboxes withaddresses >90

Write instructions

Input a #

Store the #

Input a #

Add

Output thenumber

Page 16: 20130304_ch06

Chapter 6 Little Man Computer 6-16

Program to Add 2 Numbers:Using MnemonicsMailbox Mnemonic Instruction Description

00 IN ;input 1st Number

01 STO 99 ;store data

02 IN ;input 2nd Number

03 ADD 99 ;add 1st # to 2nd #

04 OUT ;output result

05 COB ;stop

99 DAT 00 ;data

Page 17: 20130304_ch06

Chapter 6 Little Man Computer 6-17

Program to Add 2 Numbers

Mailbox Code Instruction Description

00 901 ;input 1st Number

01 399 ;store data

02 901 ;input 2nd Number

03 199 ;add 1st # to 2nd #

04 902 ;output result

05 000 ;stop

99 000 ;data

Page 18: 20130304_ch06

Chapter 6 Little Man Computer 6-18

Program Control

Branching (executing an instruction out of sequence) Changes the address in the counter

Halt Content

Op Code Operand(address)

BR (Jump) 6 xx

BRZ (Branch on 0) 7 xx

BRP (Branch on +) 8 xx

COB (stop) 0 (ignore)

Page 19: 20130304_ch06

Chapter 6 Little Man Computer 6-19

Instruction Set

Arithmetic 1xx ADD

2xx SUB

Data Movement 3xx STORE

5xx LOAD

BR 6xx JUMP

BRZ 7xx BRANC ON 0

BRP 8xx BRANCH ON +

Input/Output 901 INPUT

902 OUTPUT

Machine Control(coffee break)

000 HALT

COB

Page 20: 20130304_ch06

Chapter 6 Little Man Computer 6-20

Find Positive Difference of 2 Numbers

00 IN 901 memasukkan bilangan 6

01 STO 10 310

02 IN 901 memasukkan bilangan 3

03 STO 11 311

LDA 11

04 SUB 10 210 (3-6)

05 BRP 08 808 ;test (akan mengecheck nilai baris sblmnya)

06 LDA 10 510 ;if negative, reverse order

07 SUB 11 211 (6-3)

08 OUT 902 ;print result and

09 COB 000 ;stop

10 DAT 00 000 ;used for data = (6)

11 DAT 00 000 ;used for data = (3)

Page 21: 20130304_ch06

Chapter 6 Little Man Computer 6-21

Instruction Cycle

Fetch: Little Man finds out what instruction he is to execute

Execute: Little Man performs the work.

Page 22: 20130304_ch06

Chapter 6 Little Man Computer 6-22

Fetch Portion ofFetch and Execute Cycle

1. Little Man reads the address from the location counter

2. He walks over to the mailbox that corresponds to the location counter

Page 23: 20130304_ch06

Chapter 6 Little Man Computer 6-23

Fetch, cont.

3. And reads the number on the slip of paper (he puts the slip back in case he needs to read it again later)

Page 24: 20130304_ch06

Siklus Fetch

Chapter 6 Little Man Computer 6-24

Page 25: 20130304_ch06

Chapter 6 Little Man Computer 6-25

Execute Portion

1. The Little Man goes to the mailbox address specified in the instruction he just fetched.

2. He reads the number in that mailbox (he remembers to replace it in case he needs it later).

Page 26: 20130304_ch06

Chapter 6 Little Man Computer 6-26

Execute, cont.

3. He walks over to the calculator and punches the number in.

4. He walks over to the location counter and clicks it, which gets him ready to fetch the next instruction.

Page 27: 20130304_ch06

Siklus Execute

Chapter 6 Little Man Computer 6-27

Page 28: 20130304_ch06

Chapter 6 Little Man Computer 6-28

von Neumann Architecture (1945)

Stored program concept Memory is addressed linearly Memory is addressed without regard to

content

Page 29: 20130304_ch06

Chapter 6 Little Man Computer 6-29

Buses

There are a number of possible interconnection systems

Single and multiple BUS structures are most common

e.g. Control/Address/Data bus (PC) e.g. Unibus (DEC-PDP)

Page 30: 20130304_ch06

Chapter 6 Little Man Computer 6-30

What is a Bus?

A communication pathway connecting two or more devices

Usually broadcast Often grouped

A number of channels in one bus e.g. 32 bit data bus is 32 separate single

bit channels

Power lines may not be shown

Page 31: 20130304_ch06

Chapter 6 Little Man Computer 6-31

Data Bus

Carries data Remember that there is no difference

between “data” and “instruction” at this level

Width is a key determinant of performance 8, 16, 32, 64 bit

Page 32: 20130304_ch06

Chapter 6 Little Man Computer 6-32

Address bus

Identify the source or destination of data e.g. CPU needs to read an instruction

(data) from a given location in memory Bus width determines maximum

memory capacity of system e.g. 8080 has 16 bit address bus giving

64k address space

Page 33: 20130304_ch06

Chapter 6 Little Man Computer 6-33

Control Bus

Control and timing information Memory read/write signal Interrupt request Clock signals

Page 34: 20130304_ch06

Chapter 6 Little Man Computer 6-34

Bus Interconnection Scheme

Page 35: 20130304_ch06

Chapter 6 Little Man Computer 6-35

Page 36: 20130304_ch06

Chapter 6 Little Man Computer 6-36

Page 37: 20130304_ch06

Chapter 6 Little Man Computer 6-37

Big and Yellow?

What do buses look like? Parallel lines on circuit boards Ribbon cables Strip connectors on mother boards

e.g. PCI

Sets of wires

Page 38: 20130304_ch06

Chapter 6 Little Man Computer 6-38

Physical Realization of Bus Architecture

Page 39: 20130304_ch06

Chapter 6 Little Man Computer 6-39

Single Bus Problems

Lots of devices on one bus leads to: Propagation delays

Long data paths mean that co-ordination of bus use can adversely affect performance

If aggregate data transfer approaches bus capacity

Most systems use multiple buses to overcome these problems

Page 40: 20130304_ch06

Chapter 6 Little Man Computer 6-40

Traditional (ISA)(with cache)

Page 41: 20130304_ch06

Chapter 6 Little Man Computer 6-41

High Performance Bus

Page 42: 20130304_ch06

Chapter 6 Little Man Computer 6-42

Page 43: 20130304_ch06

Chapter 6 Little Man Computer 6-43

Page 44: 20130304_ch06

Chapter 6 Little Man Computer 6-44

Bus Types

Dedicated Separate data & address lines

Multiplexed Shared lines Address valid or data valid control line Advantage - fewer lines Disadvantages

More complex control Ultimate performance

Page 45: 20130304_ch06

Chapter 6 Little Man Computer 6-45

Bus Arbitration

More than one module controlling the bus

e.g. CPU and DMA controller Only one module may control bus at

one time Arbitration may be centralised or

distributed

Page 46: 20130304_ch06

Chapter 6 Little Man Computer 6-46

Centralised or Distributed Arbitration Centralised

Single hardware device controlling bus access

Bus Controller Arbiter

May be part of CPU or separate

Distributed Each module may claim the bus Control logic on all modules

Page 47: 20130304_ch06

Chapter 6 Little Man Computer 6-47

Timing

Co-ordination of events on bus Synchronous

Events determined by clock signals Control Bus includes clock line A single 1-0 is a bus cycle All devices can read clock line Usually sync on leading edge Usually a single cycle for an event

Page 48: 20130304_ch06

Chapter 6 Little Man Computer 6-48

Synchronous Timing Diagram

Page 49: 20130304_ch06

Chapter 6 Little Man Computer 6-49

Asynchronous Timing – Read Diagram

Page 50: 20130304_ch06

Chapter 6 Little Man Computer 6-50

Asynchronous Timing – Write Diagram

Page 51: 20130304_ch06

Chapter 6 Little Man Computer 6-51

PCI Bus

Peripheral Component Interconnection Intel released to public domain 32 or 64 bit 50 lines

Page 52: 20130304_ch06

Chapter 6 Little Man Computer 6-52

PCI Bus Lines (required) Systems lines

Including clock and reset Address & Data

32 time mux lines for address/data Interrupt & validate lines

Interface Control Arbitration

Not shared Direct connection to PCI bus arbiter

Error lines

Page 53: 20130304_ch06

Chapter 6 Little Man Computer 6-53

PCI Bus Lines (Optional) Interrupt lines

Not shared Cache support 64-bit Bus Extension

Additional 32 lines Time multiplexed 2 lines to enable devices to agree to use 64-bit

transfer JTAG/Boundary Scan

For testing procedures

Page 54: 20130304_ch06

Chapter 6 Little Man Computer 6-54

PCI Commands

Transaction between initiator (master) and target

Master claims bus Determine type of transaction

e.g. I/O read/write

Address phase One or more data phases

Page 55: 20130304_ch06

Chapter 6 Little Man Computer 6-55

PCI Read Timing Diagram

Page 56: 20130304_ch06

Chapter 6 Little Man Computer 6-56

PCI Bus Arbiter

Page 57: 20130304_ch06

Chapter 6 Little Man Computer 6-57

PCI Bus Arbitration

Page 58: 20130304_ch06

Chapter 6 Little Man Computer 6-58

Copyright 2003 John Wiley & Sons

All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without express permission of the copyright owner is unlawful. Request for further information should be addressed to the permissions Department, John Wiley & Songs, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages caused by the use of these programs or from the use of the information contained herein.”

Page 59: 20130304_ch06

Photolithography

Chapter 6 Little Man Computer 6-59

Dimana ada sebuah sumber cahaya (Terkadang uap lampu merkuri , meskipun ultra-violet laser excimer juga mulai masuk kedalam penggunaan), sebuah lensa condenser yang di sinari oleh sumber cahaya digunakan untuk menggambarkan image yang ada pada mask or reticle. mask berisi image rancangan mikroprocessor yang nantinya akan di pindahkan ke wafer silikonThe projection lens akan menbuat reduksi ukuran (usually 5x)

Page 60: 20130304_ch06

image of the mask on the wafer. Because it would be far too

costly, if not just plain impossible, to project onto the whole

wafer all at once, only a small selected area is printed at one

time. Then the wafer is scanned or

stepped into a new position, and the image is

printed again. If previous patterns have already been formed on

the wafer, TV cameras, with artificial intelligence algorithms

are used to align the current image with the

previously formed features. The stepper moves the whole surface

of the wafer under the lens, until the wafer is completely

covered with the desired pattern. A stepper is not

cheap. Usually, TI or Intel will fork over several million

dollars for each one! It is one of the most important pieces of

equipment in the whole IC fab however, since it determines what

the minimum feature size on the circuit will be.

Chapter 6 Little Man Computer 6-60