4
Silicon Programming--Home work 1 Comments 1 Homework 1 Exercise: Building a Computer

Homework 1 Exercise: Building a Computer

Embed Size (px)

DESCRIPTION

Homework 1 Exercise: Building a Computer. Instruction Set: Data Types: boolean,integer, address char, float 3. fixed point. Trade-off considerations speed memory size power usage cost environmental conditions (temp, vibration, …). Resources - PowerPoint PPT Presentation

Citation preview

Page 1: Homework 1 Exercise: Building a Computer

Silicon Programming--Homework 1 Comments

1

Homework 1 Exercise:

Building a Computer

Page 2: Homework 1 Exercise: Building a Computer

Silicon Programming--Homework 1 Comments

2

Instruction Set:

Data Types:1. boolean,integer, address2. char, float3. fixed point

Category Instructions

Logical / Arithmetic 1. and, not, add2.or,subtract,mult,div,comp 3. xor,exp,sqr rt, log,trig...

Control 1.jump, cond jump, subcall2. loop, if, case3. recursion

Data Movement 1.load, store, read,write2. reg-reg3. multiple byte transfers

Page 3: Homework 1 Exercise: Building a Computer

Silicon Programming--Homework 1 Comments

3

Trade-off considerations

• speed

• memory size

• power usage

• cost

• environmental conditions (temp, vibration, …)

Resources

• hardware: number registers, word size, addressing modes, mem

• hardware / software: instruction set size, word size

Page 4: Homework 1 Exercise: Building a Computer

Silicon Programming--Homework 1 Comments

4

Example minimal instruction set (~PDP8):3-bit opcodes, 1 general purpose reg (acc)--arithmetic/logical

**1-address011: add (2’s complement) 010: and

**no-addressnot, …….

--data movement**1-address

001: load accumulator101: deposit accumulator

**no-addressset accumulator,zero accumulator,shiftL, shiftR, set cff, zero Cff, I/O,…

--jumps**1-address

000: increment and skip next instruction if result is zero110: jump (go to)100: jump to subroutine (store return address in its 1st word)

**no-addressret (use indirect add. To 1st work of subroutine)haltskip next instruc if Cff=0, if Cff=1, …