From 2ca82587760e2e88a2aadb0d6e9acedd8d3fb1f4 Mon Sep 17 00:00:00 2001 From: Liphen Date: Thu, 25 Jan 2024 16:02:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0lab9=E7=9A=84=E4=B8=80?= =?UTF-8?q?=E5=A4=84=E8=84=9A=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/计算机结构设计实验/lab09/main.typ | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/计算机结构设计实验/lab09/main.typ b/doc/计算机结构设计实验/lab09/main.typ index d809e84..d7019ce 100644 --- a/doc/计算机结构设计实验/lab09/main.typ +++ b/doc/计算机结构设计实验/lab09/main.typ @@ -163,7 +163,9 @@ pc的输出将送到指令SRAM中用于获取指令,由于指令SRAM的地址 )<指令队列> #fakepar -如@指令队列 所示,指令队列的实现是一个深度为depth的寄存器组,每个寄存器中保存一个叫做data的数据包(目前需要保存指令的内容以及指令的PC这两个数据),宽度应该和data的宽度一致。出队指针和入队指针都是一个宽度为$log_2 lr(("depth"), size: #50%)$的寄存器。使用出队指针指示队列的头部,入队指针指示队列的尾部。由取指单元发送的数据存入入队指针指示的寄存器;出队指针指示的寄存器保存的数据发送到译码单元中。目前实现的是理想流水线,因此每一个clock的上跳沿来临时入队指针和出队指针都应该加1,发生reset时,两个指针都应该置为0。 +如@指令队列 所示,指令队列的实现是一个深度为depth的寄存器组,每个寄存器中保存一个叫做data的数据包 +#footnote[这里的数据包指chisel中由Bundle实现的一个数据结构] +(目前需要保存指令的内容以及指令的PC这两个数据),宽度应该和data的宽度一致。出队指针和入队指针都是一个宽度为$log_2 lr(("depth"), size: #50%)$的寄存器。使用出队指针指示队列的头部,入队指针指示队列的尾部。由取指单元发送的数据存入入队指针指示的寄存器;出队指针指示的寄存器保存的数据发送到译码单元中。目前实现的是理想流水线,因此每一个clock的上跳沿来临时入队指针和出队指针都应该加1,发生reset时,两个指针都应该置为0。 #noindent #strong(text(12pt, fill: red)[后端])