Chapter 4 Processor Architecture Guobao Jiang 11210240049@fudan.edu.cn
Chapter 4 Processor Architecture Guobao Jiang 11210240049@fudan.edu.cn
Outline 4.1 The y86 Instruction Set Architecture 4.2 Logic Design and the hcl 4.3 Sequential y86 Implementations 4. 4 General Principles of pipelining 4.5 Pipelined y86 Implementations 4.6 Summary 2021/10/29
Outline • 4.1 The Y86 Instruction Set Architecture • 4.2 Logic Design and the HCL • 4.3 Sequential Y86 Implementations • 4.4 General Principles of Pipelining • 4.5 Pipelined Y86 Implementations • 4.6 Summary 2021/10/29 2
Problem 4.1(P262 Determine the byte encoding of the y86 instruction sequence that follows posO×100# start at address o×100 irmovl $15, %ebx 0x100:30830F000000 rrmovl %ebx. %ecx Ox106:2031 oop. Ox108: rmmov%ecx,-3(%eb×)o×08:4013 FD FFFFFF add%‰ebx,‰ecx0×10E:6031 Jmp 0x110:7008010000 2021/10/29
Problem 4.1 (P262) • Determine the byte encoding of the Y86 instruction sequence that follows. .pos 0x100 #start at address 0x100 irmovl $15, %ebx rrmovl %ebx, %ecx loop: rmmovl %ecx, -3(%ebx) addl %ebx, %ecx jmp loop 2021/10/29 3 0x100: 30 83 0F 00 00 00 0x106: 20 31 0x108: 0x108: 40 13 FD FF FF FF 0x10E: 60 31 0x110: 70 08 01 00 00
Problem 4.2(P263) For each byte sequence listed, determine the y86 instruction sequence it encodes A.0x100:3083 FCFFFFFF40630008000010 0x100: 3083FCFFFFFF irmovl $s-r %ebx 0×106:406300080000 rmmov%esi,0x8000%eb× Ox10C:10 halt 2021/10/29
Problem 4.2 (P263) • For each byte sequence listed, determine the Y86 instruction sequence it encodes. • A. 0x100:3083FCFFFFFF40630008000010 2021/10/29 4 0x100: 3083FCFFFFFF irmovl $-r, %ebx 0x106: 406300080000 rmmovl %esi, 0x8000(%ebx) 0x10C: 10 halt
Problem 4.2+(P263) B.0x200:A068 80080200001030830A00000090 0x200:A068 pushl %esi 0×202:8008020000 call proc 0×207:10 halt 0x208: proc. 0×208:30830A000000 armon$10,%ebx 0x20E:90 ret 2021/10/29
Problem 4.2+ (P263) • B. 0x200:A0 68 80080200001030830A00000090 2021/10/29 5 0x200: A068 pushl %esi 0x202: 80 08020000 call proc 0x207: 10 halt 0x208: 3083 0A000000 irmovl $10, %ebx 0x20E: 90 ret 0x208: proc: