








































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Sequential Implementation, Y86 Instructions Set, Building Blocks, Hardware Control Language, HCL Operations, SEQ hardware structure, SEQ stages, Instruction Decoding, Stage Computation , Execute Logic , Memory Logic, Instruction Status, Memory address
Typology: Slides
1 / 48
This page cannot be seen from the preview
Don't miss anything!









































CS:APP2e
Y86 Instruction Set #
pushl rA A (^0) rA 8
jXX Dest (^7) fn Dest
popl rA B (^0) rA 8
call Dest (^8 0) Dest
cmovXX rA, rB (^2) fn rA rB
irmovl V, rB (^3 0 8) rB V
rmmovl rA, D(rB) (^4 0) rA rB D
mrmovl D(rB), rA (^5 0) rA rB D
OPl rA, rB (^6) fn rA rB
ret 9 0
nop 1 0
halt 0 0
rrmovl 7 0
cmovle 7 1
cmovl 7 2
cmove 7 3
cmovne 7 4
cmovge 7 5
cmovg 7 6
Y86 Instruction Set #
pushl rA A (^0) rA 8
jXX Dest (^7) fn Dest
popl rA B (^0) rA 8
call Dest (^8 0) Dest
rrmovl rA, rB (^2) fn rA rB
irmovl V, rB (^3 0 8) rB V
rmmovl rA, D(rB) (^4 0) rA rB D
mrmovl D(rB), rA (^5 0) rA rB D
OPl rA, rB (^6) fn rA rB
ret 9 0
nop 1 0
halt 0 0
jmp 7 0
jle 7 1
jl 7 2
je 7 3
jne 7 4
jge 7 5
jg 7 6
Building Blocks
Combinational Logic
Compute Boolean functions of inputs
Continuously respond to input changes
Operate on data and implement control
Storage Elements
Store bits
Addressable memories
Non-addressable registers
Loaded only as clock rises
Register file
A
B
W (^) dstW
srcA
valA
srcB
valB
valW
Clock
=
HCL Operations
Classify by type of value returned
Boolean Expressions
Logic Operations
Word Comparisons
Set Membership
Word Expressions
Case expressions
SEQ Hardware
Structure
State
Instruction Flow
Instruction memory
Instruction memory increment^ PC
PC increment
CC CC (^) ALUALU
Data memory
Data memory
rA , rB valC
Register file
Register file
A B (^) M E
Register file
Register file
A B (^) M E
PC
valP
srcA, srcB dstA, dstB
valA, valB
aluA, aluB
Cnd
valE
Addr, Data
valM
valE, valM
newPC
Instruction Decoding
Instruction Format
Instruction byte icode:ifun
Optional register byte rA:rB
Optional constant word valC
(^5 0) rA rB D
Executing Arith./Logical Operation
Fetch
Decode
Execute
Memory
Write back
PC Update
Executing rmmovl
Fetch
Decode
Execute
Memory
Write back
PC Update
Stage Computation: rmmovl
Use ALU for address computation
Stage Computation: popl
Use ALU to increment stack pointer
Must update two registers
Executing Jumps
Fetch
Decode
Execute
Memory
Write back
PC Update
Executing call
Fetch
Decode
Execute
Memory
Write back
PC Update
Stage Computation: call
Use ALU to decrement stack pointer
Store incremented PC