chap5.7 vm
5.7.1 页的存放与查找 ![[Pasted image 20241130003009.png 500]] 在地址转换过程中,虚拟地址的 Virtual Page Number (VPN) 会通过页表映射到物理地址中的 Physical Page Number (PPN);而 ==页内偏移 (Page Offset) 在映射过...
5.7.1 页的存放与查找 ![[Pasted image 20241130003009.png 500]] 在地址转换过程中,虚拟地址的 Virtual Page Number (VPN) 会通过页表映射到物理地址中的 Physical Page Number (PPN);而 ==页内偏移 (Page Offset) 在映射过...
![[Pasted image 20241130001701.png]] ![[Pasted image 20241130001723.png]] ![[Pasted image 20241130001747.png]] ![[Pasted image 20241130001849.png]] ![[Pasted image 20241130001914.png]] ![[Past...
Part I: Appendix Knowledge 1-1 Byte ==内存的最小可寻址单位是字节(byte)==,具体原因与硬件相关 如B, MB, KB, GB都是以B(byte)为单位的 Part II: 直接映射 2-1: Index in cache Index = (Mem addr) mod (Number of blocks in the cac...
![[Pasted image 20250110051326.png 600]] 4.8.2 缩短分支延迟 确定分支目标地址的时间越早,需要清除的指令就越少 为了将分支决策提前, 需要提前两个动作:计算分支目标地址和判断分支条件。 计算分支目标地址 我们在 IF/ID 流水线寄存器中已经有了...
(一)例子 sub x2, x1, x3 // Register z2 written by sub and x12, x2, x5 // 1st operand(x2) depends on sub or x13, x6, x2 // 2nd operand(x2) depends on sub add x14, x2, x2 // 1st(x2) & 2nd(x2) depen...
Part I: Datapath 1. 流水线寄存器 ![[Pasted image 20241218165212.png|600]] 寄存器的位宽:必须足够大以存储通过它们的所有数据。例如,IF/ID寄存器的位宽必须为96位,因为它需要同时存储从存储器中提取出的32位指令以及自增的64位PC地址。目前,其他三个流水线寄存器的位宽分别为256位、193位和128位; ...
流水线概述 1. 每条指令的执行需要一个时钟周期,而这个时钟周期是固定的,等于执行最慢(延迟最长)的指令的时间: ![[Pasted image 20241217002903.png 500]] 譬如图中设计的一个时钟周期的时长为800ps,即ld指令的时长;执行beq指令时,虽然它本身只需要500ps,但也会消耗800ps; ...
Build DataPath (R-Type for E.g.) 1. R-Type 1)PC ![[Pasted image 20241023210922.png]] 2)寄存器堆(register file) ![[Pasted image 20241023211319.png]] 以add x1, x2, x3为例: a) 由于R型指令有三个寄存器操作数x1,x2,x3,每条...
4.3 基本的数据通路 默写PC、Registers、Data Memory、ALU的示意图(带上控制信号) Registers只有一个RegWrite控制信号(因为Registers是一定要被read的,无需设置MemRead),而Data Memory有MemRead和MemWrite这两个控制信号 ImmGen– 如果是loa...
(一)原码 | 正数 | 正数的原码 | | 负数 | 负数的原码 | | — | —– | — | — | —– | | 0 | 0 000 | | 0 | 1 000 | | 1 | 0 001 | | -1 | 1 001 | | 2 | 0 010 | | -2 | 1 010 | | 3 | 0 011 | |...