计算机组成原理笔记|05中央处理器

2023-11-14 1189阅读

取指令周期结束后,程序计数器PC+“1”存储下一条指令的地址。一个微程序由多条微指令组成。采用现场直接编码方式,5个互斥类,5个段。微指令操作控制字段部分由4段组成,每段分别包括5、6、14和3个互斥的微指令。每组分别包含4、5、8、15、20条微指令。为每个段留下一个状态,表示不会发出任何微操作。

D.程序分支时跳转到的目标地址

分析:

指令周期结束后,程序计数器PC+“1”存储下一条指令的地址。

所以答案是C

5.下列对指令与微指令关系的描述中,正确的是()

A.指令的功能是通过执行微指令来实现的

B、指令的功能是通过执行微程序来实现的

C.微指令的功能是通过执行一条指令来实现的

D、微指令的功能是通过执行微程序来实现的

分析:

一条指令对应一个微程序。 一个微程序由多条微指令组成。 一条微指令由多个微操作组成。

所以答案是B

6.(统考2017-18)下列关于主存(MM)和控制存储器(CS)的表述中,错误的是()

A. MM在CPU外部,CS在CPU内部

B.MM通过地址访问,CS通过内容访问

C.MM存储指令和数据,CS存储微指令。

D.MM用RAM和ROM实现,CS用ROM实现

分析:

MM在CPU外部,CS在CPU内部,A在

MM和CS都是通过地址访问,B错误; TLB快速表是按内容访问的。

MM存储指令和数据,CS存储微指令,C对

MM是用RAM和ROM实现的(主板上的BIOS程序存放在ROM中,也是主存的一部分),CS是用ROM实现的,微指令是出厂前写好的,D正确

所以答案是B

7、假设某计算机运算单元的框图如图(a)所示,其中ALU为16位加法器(高级运算),SA和SB为16位临时寄存器。 四个通用寄存器由D触发器组成,Q端输出。 其读写控制功能见下表。

计算机组成原理笔记|05中央处理器

计算机组成原理笔记|05中央处理器

RA0RA1:读取R0-R3的选择控制; WA0WA1:写R0-R3的选择控制; R:寄存器读命令; W:寄存器写命令;

LDSA:进入临时寄存器SA的控制信号; LDSB:进入临时寄存器SB的控制信号; SB-ALU:传输SB的控制信号(用于加法); /SB-ALU:发送SB的控制信号,并对加法器最低位加1(减法); Reset:将临时寄存器SB清零的信号;

~:微程序结束,转入取机器指令的控制信号。

该机采用串行微程序控制方式,其微指令周期如图(b)所示。 其中,读ROM是从控制存储器中读取一条微指令的时间,为1μs; ALU工作是加法器做加法运算,耗时500ns; m1为读取寄存器的时间,为500ns; m2为写寄存器的工作脉冲宽度,为100ns。 微指令字长为12位,微指令格式如下(不考虑顺序控制字段):

计算机组成原理笔记|05中央处理器

要求:用二进制代码编写一个微程序,指令如下

(1)“ADD R0,R1”指令,即(R0)+(R1)→R1

(2)“SUB R2,R3”指令,即(R3)-(R2)→R3

(3)“MOV R2,R3”指令,即(R2)→(R3)

分析:

首先画出三指令微指令的微程序流程图,如下图

计算机组成原理笔记|05中央处理器

不考虑“取周期”和顺序控制问题,即微程序只考虑“执行周期”。 微指令序列的顺序在每条微指令的右上角用数字标签标记。 每个方框代表一条微指令。

根据给定的微指令周期时间关系,完成ADD和SUB指令的执行需要3条微指令,而MOV指令只需要2条微指令。 用二进制代码编写的三指令微程序如下表所示,其中*表示代码可以任意设置(0或1)。

计算机组成原理笔记|05中央处理器

8、某台计算机控制器采用微程序控制方式。 微指令中的操作控制字段采用字段直接编码方式。 共有32个微命令,形成5个互斥类,分别为7、3、12、5和6。 微命令,操作控制字段至少必须有()

A、第5名

B.6位数字

C.15位

D.33位

分析:

采用现场直接编码方式,5个互斥类,5个段。 每个段保留一个状态,且标志位不下发任何微操作,因此每个段的状态数为:8、4、13、6、7。

因为23=8、22=4、24=16; 所以操作控制字段至少为3+2+4+3+3=15位

所以答案是C

9.(统考2014-18)计算机采用微程序控制器,共有32条指令。 公共取指令微程序包含2条微指令。 每条指令对应的微程序平均由4条微指令组成。 使用断言方法。 (低位地址域法)要确定下一条微指令的地址,微指令中低位地址域的位数至少为()

A.5

B.6

C.8

D.9

分析:

这道题的本质是计算微指令的数量

微指令=操作控制位+顺序控制位(判别测试+下一个地址)

一条指令对应一个微程序; 一个微程序对应多条微指令。下一个寻址方法是通过微指令的下一个地址字段来指定下一个微指令的地址。

2+32×4=130

27=128

所以答案是C

10、某微程序控制器所使用的微指令字长度为24位。 微指令操作控制字段部分由4段组成,每段分别包括5、6、14和3个互斥的微指令。 P试验场的判断有3个条件。 微程序控制器用来表示微地址位数最大为()

A.10

B.14

C.16

D.32

分析:

微地址是微指令在CM中的地址,CM用于存储微指令。 求微地址位数就是问可以表示多少条微指令,而微指令的低地址位可以表示所有微指令,所以也是问地址位数。

本题题型与上面第8题相同。 不同之处在于,上一题询问的是控制字段中的位数,而本题询问的是低位地址字段中的位数。 因此,需要从微指令字长中减去控制字段的长度和判别测试字段的长度,以获得低地址字段的长度。 为每个段预留一个状态,表示不会发出任何微操作。

控制字段位数:3+3+4+2=12

判别测试位数:2

下一个地址数字:24=14=10

所以答案是A

11. 微地址寄存器有6位(μA5-μA0)。 当需要修改其内容时,可通过某位触发器的强制设置端S将其设置为“1”。 分三种情况:

(1)执行“fetch”微指令后,微程序根据IR的OP域**(IR3-IR0)执行16个分支**; – 微地址寄存器中的4位需要修改

硬布线控制器的基本思路是_cpu 操作控制器 硬布线方法_硬布线控制器采用了什么原理

(2)执行条件转移指令微程序时,根据进位标志C的状态进行2个分支; – 微地址寄存器中的1位需要修改

(3) 执行控制台指令微程序时,根据IR4和IR5的状态进行4路分支。

请按照复用传输方式设计微地址传输逻辑。

分析:

微地址寄存器为μPC(CMAR),它存储微地址形成部件发送的微指令的地址,为读取CM中的微指令做准备。

本题下一条微指令的形成方法是分支转移。 微指令=控制域+判断域+传送地址

从题干可知,修改CMAR有3种情况,因此微程序有3个判别测试,分别是P1、P2、P3。 由于修改CMAR的μA5-μA0内容有很大的灵活性,现分配如下:

(1)将μA3-μA0修改为P1和IR3-IR0;

(2) 用P2和C修改μA0;

(3) 用P3和IR5和IR4修改μA5和μA4。

另外,还必须考虑时间因素T4(最后一个时钟周期更新微地址寄存器),因此传输逻辑表达式如下:

μA5=P3*IR5*T4

μA4=P3*IR4*T4

μA3=P1*IR3*T4

μA2=P1*IR2*T4

μA1=P1*IR1*T4

μA0=P1 * IR0 * T4+ P2 * C * T4(一个微指令周期内最多P1或P2的一位有效)

* AND 逻辑 + OR 逻辑

12、某台32位计算机共有52个微操作控制信号,形成5个互斥的微指令组。 每组分别包含4、5、8、15、20条微指令。 已知可以判断的外部条件有CY和ZF两个,微指令字长为29位。

(1) 给出了使用水平微指令的格式。

(2) 控制存储器的容量应该是多少?

解析

(1)

为每个段留下一个状态,表示不会发出任何微操作。

控制字段位数:3+3+4+4+5=19

判别测试位数:2

下一个地址数字:29-19-2=8

计算机组成原理笔记|05中央处理器

(2)控制存储器存储微指令。 低地址为8位,所以共有28条微指令,每条微指令为29位。

CM容量:28×29=7424b

13、已知某机器采用微程序控制方式,其控制存储器容量为512×48位。 微程序可以在整个控制存储器中传输。 可以控制微程序传输的条件有4个(每个条件需要一位测试位),微指令采用水平格式,后续微指令地址采用断言格式,如图

计算机组成原理笔记|05中央处理器

1. 微指令中的三个字段应该是多少位?

2、画出该微指令格式对应的微程序控制器的逻辑框图。

分析:

(1) 默认为直接编码。 识别测试字段为4位(如果采用字段译码,则只需3位),低位地址字段为9位,微命令字段为48-4-9=35位。

(2)上述微指令格式对应的微程序控制器的逻辑框图如图所示。 微地址寄存器对应低位地址字段,P字段为判别测试字段,控制字段为微命令字段。 最后两部分构成微命令字段。 指令寄存器

地址传送逻辑的输入是指令寄存器的OP码、各种状态条件和判别测试字段给出的判别标志(某一位为1),其输出修改微控制器中适当的位数。地址寄存器,从而实现微程序转移的分支。 也就是说,这里的微指令的后继地址采用断言方式。 (断言方法是利用微指令序列控制字段来控制后续微指令地址的生成。

计算机组成原理笔记|05中央处理器

14、某台计算机的指令流水线由四个功能段组成。 指令流经每个功能段的时间(忽略每个功能段之间的缓存时间)分别为90ns、80ns、70ns和60ns。 那么计算机的CPU时钟周期至少为()

A、90ns

B、80ns

C.70ns

D、60纳秒

分析:

为了便于管道设计,使不同阶段的耗时相同,以耗时最长的为准。 即这里机器周期应该设置为90ns。

所以答案是A

15、(统考2013)假设CPU主频为1.03GHz,采用4级指令流水线。 每个流水线段的执行需要一个时钟周期。 假设CPU执行100条指令,执行期间没有任何管道阻塞。 此时管道的吞吐率为( )

A、0.25×109指令/秒

B、0.97×109条指令/秒

C.1.0×109指令/秒

D.1.03×109指令/秒

分析:

吞吐量是指管道在单位时间内完成的任务数量。 假设n为任务数,则完成n个任务所需时间Tk=kt+(n-1)t,吞吐率TP=n/Tk;

本题任务n个数为100,k=4,t=1/(1.03×109)s,Tk=kt+(n-1)t=10-7

TP=n/TK=109

所以答案是C

16.(统考2017-17)以下对超标量流水线特性的描述中,正确的是I。它可以缩短流水线功能段II的处理时间。 它可以在一个时钟周期内同时发出多条指令 III. 它可以与动态调度技术相结合以提高指令执行的并行性

仅 A. II

B. 只有 I 和 III

C. 仅 II 和 III

D. I、II 和 III

分析:

超标量流水线各功能段的处理时间保持不变,I错误

超标量流水线可以在一个时钟周期内同时发出多条指令。 二

超标量流水线可以与动态调度技术相结合,提高指令执行的并行性。 三.

所以答案是C

管道中存在三种类型的数据相关冲突:读后写相关; 写后读相关; 和 write-after-write 相关。 确定哪种类型的数据与以下三组指令中的每一组相关。 (1) I1:添加R1、R2、R3; (R2)+(R3)->R1

I2:SUB R4、R1、R5; (R1) - (R5) -> R4

(2) I3:STA M(x),R3; (R3)->M(x),M(x)是内存单元

I4:添加R3、R4、R5; ; (R4)+(R5)->R3

(3) I5:MUL R3、R1、R2; ; (R1)×(R2)→R3

I6:添加R3、R4、R5; ; (R4) + (R5)->R3

分析:

(1) 先将I1指令的运算结果写入R1,然后在I2指令中读取R1的内容。 由于I2指令进入流水线,在I1指令写入R1(WB阶段)之前,I2指令读取R1的内容,发生RAW相关。 RAW 写入后读取,I2 读出旧数据。

(2) I3指令应首先读取R3的内容并将其存储到存储单元M(x)中,然后将运算结果写入I4指令中的R3中。 不过,由于I4指令进入了流水线,因此寄存器的读写操作比I3指令中的内存访问操作要快得多。 I4指令在I3指令读取R3的内容之前写入R3(EX阶段),导致先写后读。 ,其实应该是先读后写,从而产生了先读后写的关联性,以及WAR关联性。 读取完毕后,写入WAR I3并读取新数据。

计算机组成原理笔记|05中央处理器

(3) I6指令的加法运算完成时间早于I5指令的乘法运算时间,因此指令I6在指令I5写入R3之前写入R3(WB阶段),导致R3的内容为不正确,与WAW有关。写入后WAW寄存器的值不是最新的。

18.下列哪项不会导致指令流水线被阻塞()

A. 数据旁路

B. 数据相关

C. 有条件转让

D、资源冲突

分析:

可能导致指令流水线阻塞的因素有:资源冲突、数据依赖性和条件传输。

数据旁路是解决数据相关问题的一种方法

条件传送:执行传送指令时,根据传送条件的不同,结果可能是按顺序取下一条指令,也可能传送到新的目标地址去取指令。 地址不确定,需要暂停或中断流水线。

所以答案是A

19.(统一审查)下面给出的指令系统的特点中,有利于指令流水线实现的特点是()

一、命令格式规则,长度一致。

二. 指令和数据在边界上对齐存储

三. 只有加载/存储指令可以对操作数执行存储访问

A. 只有 I 和 II

B. 仅 II 和 III

C. 只有 I 和 III

D、一、二、三

分析:

上述三个RISC特性可以有效降低取指或执行指令的复杂度,有利于流水线操作。

对于RISC来说,只有Load/Store指令可以对操作数进行存储访问,其他指令不能访问内存。 这样,Load/Store指令的地址计算和指令的执行步骤就可以整齐地放在一个流水线级中,有利于减少操作步骤。 (管道级数),III 对

所以答案是D

在16位计算机中,有符号整数用二进制补码表示,并且数据缓存和指令缓存是分开的。 表中给出了指令系统中的一些指令格式,其中RS和RD代表寄存器,MEM代表存储器,(X)代表寄存器X或存储单元X的内容。

计算机组成原理笔记|05中央处理器

计算机使用5段流水线来执行指令。 每个流水线段分别是取指令(IF)、译码/读寄存器(ID​​)、执行/计算有效地址(EX)、访问内存(M)以及将结果写回寄存器(WB),流水线采用“顺序发射、 “顺序完成”方式,没有采用转发技术来处理数据相关性,同一寄存器的读写操作不能在同一时钟周期内完成。 请回答以下问题。

(1)如果int变量X的值为-513,存放在寄存器R1中,则执行“SHR R1”后R1中的内容是什么? (以十六进制表示)

(2)在一定时间内,连续4条指令进入流水线,执行过程中没有发生指令阻塞。 执行这4条指令需要多少个时钟周期?

(3)高级语言程序中的赋值语句为X=A+B。 X、A、B均为int型变量,其存储单元地址分别表示为[X]、[A]、[B]。 该语句对应的指令序列及其在流水线中的执行过程如图所示。

I1:负载R1,[A]

I2:负载R2,[B]

I3:添加R1、R2

I4:存储 R2,[X]

计算机组成原理笔记|05中央处理器

这4条指令执行过程中,I3的ID段被阻塞,那么I4的IF段被阻塞的原因是什么?

(4) 如果在高级语言程序中,一条赋值语句是 每条语句最少需要多少个时钟周期? 需要仿上图画出这条语句对应的指令序列及其在流水线中的执行过程的示意图。

I1 负载 R1,[X]

I2 负载 R2,[A]

I3 SHL R1

I4 添加 R1,R2

I5 商店 R2,[X]

分析:

(1)

补码数字扩展(移位):符号位不变,前面加符号位,后面加0

-513=110 0000 0001=101 1111 1111=1111 1101 1111 1111

SHR 右移一位,1111 1110 1111 1111=FEFFH

(2)Tk=5t+(4-1)t=8t,需要8个时钟周期

(3) I3与I1、I2有数据相关性。 I1和I2的结果写入寄存器R1和R2后,I3可以读取寄存器R1和R2,因此I3的ID段被阻塞。 先写,后读。 内存访问慢,寄存器读写快。 I3的ID段被阻塞(因为I3占用了IF分量,且与资源相关),而I4无法完成取指令,所以I4被阻塞。

(4)

计算机组成原理笔记|05中央处理器

21、(统考2016-19)无转发机制的五级基本流水线(取指、译码/读寄存器、运算、内存访问、回写寄存器)中,下列指令序列中存在数据危险的指令对为I1 :添加R1、R2、R3; (R2)+(R3)→R1

I2:增加R5、R2、R4; (R2)+(R4)→R5

I3:增加R4、R5、R3; (R5)+(R3)→R4

I4:增加R5、R2、R6; (R2)+(R6)→R5

A.I1和I2

B.I2和I3

C.I2和I4

D.I3 和 I4

分析:

B、当I2还在ID时,I3进入管道; 当I3WR时,I2处于EX状态,可能会出现先写后读的情况。

所以答案是B

22.以下是MIPS指令序列:

1 添加 t1,t0,t1;# t1 ← (t0)+(t1)

2 lw t0,0(t1) ;# t0 ← ((t1)) 读后写,读取新数据

3 bne t0,s5,退出; # if (t0)≠(s5) then go exit 写入后读出旧数据

4 添加s3,s5,s4; # s3 ← (s5)+(s4)

5 退出:

该指令序列以流水线方式运行。 其中t0、t1、t2、s3、s4、s5均为通用寄存器。 符号“#”后面是注释。 (X)表示通用寄存器X的内容。((X))表示寄存器X的内容所指向的主存储器。单元数据。 那么上述五个指令序列中,哪些指令可能存在数据相关性。

A.1和2、2和3

B.1和2、2和3、3和4

C.1和2、1和3

D.1 和 2、1 和 3、2 和 3

分析:

I2访问内存比I3慢,先写后读,不包括C; 3和4、1和3之间不存在数据冲突,不包括BD

所以答案是A

策划组

最后更新于 2022 年 2 月 20 日 10:47 UTC

实验4 32位MIPS CPU设计实验

本实验是32位MIPS CPU设计实验(单总线CPU-定长指令周期3级时序)。 在第一首歌中,我们总共需要进行六题,分别是MIPS指令译码器设计和定长指令。 循环(序列生成FSM设计、时序发生器输出函数设计、硬连线控制器、单总线CPU设计)、硬连线控制器组合逻辑单元。由于第六题是前五题的期末考试,所以我们不做需要进行新的设计。 这里我按照老师给出的提纲分享以下四个实验的具体设计原理: 1. 指令译码电路设计 2. 时序发生器状态机(定长指令周期)设计 3. 时序发生器输出函数(定长指令周期)设计长度指令周期) 4. 硬连线控制器

1 指令译码电路设计 1.1 设计要求

了解指令译码的基本概念,将32位MIPS指令字译码成不同的指令译码信号。利用logisim平台中现有的计算组件搭建并使用比较器等功能模块对32位MIPS指令字进行译码,生成LW、SW、BEQ、SLT、ADDI、OtherInstr等指令译码信号,并尽早在给定的CPU电路中实现上述指令

1.2 方案设计 1.2.1 指令功能

首先我们需要了解这6条MIPS指令的作用。 所有imm立即数都需要扩展为32位。

Lw指令的作用:从数据存储器(数据存储器)中取出数据并写入寄存器

Sw指令的功能:将寄存器中的值写入数据存储器

Beq指令的作用:当寄存器1的值和寄存器2的值相等时,发生跳转。 跳转的目的地址是当前指令的地址加上带符号展开的imm的值。

ADDI指令功能:用于将寄存器中的值加上一个常数

Slt指令的作用:比较两个寄存器rs和rt中的值。 如果 rs 中的值小于 rt 中的值,则将 rd 计算器设置为 1,否则清除 rd 计算器。

计算机组成原理笔记|05中央处理器

1.2.2 单总线CPU原理

这次使用的是单总线CPU

首先我们看一下下面的单总线结构CPU在logisim中的实现。 我们可以看到,在实际logisim中,slt信号是用来控制alu比较rs和rt寄存器中的值的。 这个简单的CPU实验不需要sub信号,但是sub信号可以连接到A输入引脚。 您可以在下图中找到它。 目前尚未使用。 psw寄存器只保留一个相等的控制位。 其余的状态标记不是在 psw 中设计的。 ALU 每次操作都会比较 x 和 y。 这里,是A、B引脚输出的两个值是否相等,相等的信号通过psw寄存器输出。

计算机组成原理笔记|05中央处理器

1.2.3 指令译码原理

计算机组成原理笔记|05中央处理器

指令译码器是控制器的核心功能部件。 它实现译码功能,负责将指令字翻译成指令译码信号。 每个指令译码信号代表一条具体的指令,如上图中的I1...Im。 。 译码根据指令代码的具体信息生成指令译码信号。 时钟发生器承担连续控制的功能,产生状态周期M和时钟节拍T。控制器利用这些连续信号来连续调制操作信号。

1.2.4 设计思路

从指令寄存器IR送来的32位指令字用于产生指令译码信号。 IR 中当前存储了哪条指令? 讲完解码器,相应的引脚应该设置为1,其他输出引脚也应该设置为1。 脚为0

计算机组成原理笔记|05中央处理器

然后这里使用比较器等功能模块对32位MIPS指令字进行解码,生成指令解码信号。 比较器用于将从 IR 发送的指令字的操作字段与分离器提取的操作字段组合起来。 ,其中问题中已经给出了每个op部分对应的常量值。 我们需要对应指令代码结构,并将对应的op字段发送给比较器。 比较后的输出结果连接到相应的指令。

计算机组成原理笔记|05中央处理器

计算机组成原理笔记|05中央处理器

1.3 实验步骤 打开源程序,检查控制器的输入引脚,以及其他重要的输出引脚。 检查指令代码结构和系统自带的op字段,比较后连接并输出相应的指令结果。 1.4 调试 1.4.1 slt 的故障连接问题

故障现象:SLT信号有两种解码条件,接线时出现问题。

计算机组成原理笔记|05中央处理器

原因分析:SLT信号有两个解码条件,即op和0,funct字段的值为固定十进制44。需要这两个条件同时成立,SLT引脚才能输出1,那么两个条件同时成立,连接方法比其他指令复杂一点

解决办法:00的另一边接op,func的另一边接2a。 这才是正确的连接方法。

1.5 测试与分析

溢出测试用例如表1.3所示。

表1.3 溢出信号测试用例

Cnt IR LW SW BEQ ADDI SLT 其他I

0000 2010ffff 0 0 0 1 0 00001 20110000 0 0 0 1 0 00002 ae300200 0 1 0 0 0 00003 22100001 0 0 0 1 0 00004 22310004 0 0 0 1 0 00005 ae300200 0 1 0 0 0 00006 22100001 0 0 0 1 0 00007 22310004 0 0 0 1 0 00008 ae300200 0 1 0 0 0 00009 22100001 0 0 0 1 0 0000a 22310004 0 0 0 1 0 0000b ae300200 0 1 0 0 0 0000 c 22100001 0 0 0 1 0 0000d 22310004 0 0 0 1 0 0000e ae300200 0 1 0 0 0 0000f 22100001 0 0 0 1 0 00010 22310004 0 0 0 1 0 00011 ae300200 0 1 0 0 0 00012 22100001 0 0 0 1 0 0001 3 223100 04 0 0 0 1 0 00014 ae300200 0 1 0 0 0 00015 22100001 0 0 0 1 0 00016 22310004 0 0 0 1 0 00017 ae300200 0 1 0 0 0 00018 20100000 0 0 0 1 0 00019 2011001c 0 0 0 1 0 000 1a 8e130200 1 0 0 0 0 0001b 8e340200 1 0 0 0 0 0001c 0274402a 0 0 0 0 1 0001d 11000002 0 0 1 0 0 0001e ae330200 0 1 0 0 0 0001f ae140200 0 1 0 0 0 00020 2231fffc 0 0 0 1 0 00021 12110001 0 0 1 0 0 00022 1000fff7 0 0 1 0 0 00023 22100004 0 0 0 1 0 00024 2011001c 0 0 0 1 0 00025 12110001 0 0 1 0 0 00026 1000fff3 0 0 1 0 0 00027 1000ffff 0 0 1 0 0 00028 00000000 0 0 0 0 0 1

计算机组成原理笔记|05中央处理器

2 时序发生器状态机(定长指令周期)设计 2.1 设计要求

利用数字逻辑电路的相关知识,设计一个定长指令周期的三级时序系统。 时序发生器包括状态机和输出函数两部分,并设计了状态机。

计算机组成原理笔记|05中央处理器

实现了上一级的指令译码器之后,就可以开始实现上图中的另一个核心功能模块——时序发生器了。 时序发生器的内部框图如下图所示,主要包括状态寄存器和状态机组合逻辑。 输出函数组合逻辑三部分。 状态机负责当前状态与下一个状态之间的转换,输出函数根据当前状态生成状态周期电位和节拍周期电位。

2.2 方案设计 2.2.1 时序发生器原理

其实这个原理比较简单。 你只需要看懂这张图就可以了。 我们为单总线架构CPU设计的定长指令周期三级定时系统由机器周期和节拍电位组成。 机器周期用于指示当前指令处于哪个周期。取指令周期mif持续四个周期t,经过t1、t2、t3、t4后变为低电平,同时Mcal计算周期变为高电平,表示指令执行进入计算周期,然后计算周期经过t1、t2、t3、t4四个时钟节拍后,变为低电平,无效。 同时,进入执行循环。 执行周期完成4节拍后,进入取指周期。 这样不断循环,实现了程序的自动执行,节拍电位为t1、t2、t3、t4。每t完成一次微操作

计算机组成原理笔记|05中央处理器

2.2.2 状态寄存器原理

作用是将三个状态周期共12个节拍的三级定时系统简化为12个状态进行表示,如下图,用s0表示取指令周期的第一个节拍,以此类推,一共有12个状态。每个次级状态与输入当前状态的关系是加1,本质上是一个计数器。 通过下图,我们可以得到m和t与当前状态的关系。

计算机组成原理笔记|05中央处理器

2.2.3 设计思路

可见,通过当前状态和次级状态的真值表可以得到次级状态、输入信号和当前状态之间的逻辑表达式,从而可以实现状态机的组合逻辑设计,并且组合时序仅与输入电流状态有关。 是相关的,所以只需要把它们一一相加即可,还需要填写相应的excel文件,然后输入生成的逻辑表达式。

2.3 实验步骤

1)清楚地理解状态机,知道m和t与当前状态的关系

2)当表格中自动生成单总线MIPS三电平时序发生器逻辑时,最左边的状态转换表就完成了,这就是我们实现状态机设计所对应的真值表。 我们只需要填写这个表的当前状态即可。 ,十进制的当前状态值和十进制的辅助状态值就足够了。 其中,当前二元状态s3-s0的值和次级状态n3-n0的值会自动生成。

填写下面的表格

计算机组成原理笔记|05中央处理器

3)利用表触发输出功能自动生成逻辑表达式。 复制圈出部分的内容,粘贴到logisim中。

计算机组成原理笔记|05中央处理器

4)点击logisim中的时序发生器状态机(定长指令周期),然后点击Analyze Combinational Logic Circuit

计算机组成原理笔记|05中央处理器

5)将文件中复制的逻辑表达式按照n3-n0的顺序粘贴到下图中。 全部输入后,点击Generate Circuit

计算机组成原理笔记|05中央处理器

6)点击生成电路并测试

计算机组成原理笔记|05中央处理器

2.4 故障及调试

这个实验没有遇到任何问题,也比较简单。

2.5 测试与分析

测试用例如下。 实验电路通过了所有测试用例。

计算机组成原理笔记|05中央处理器

计算机组成原理笔记|05中央处理器

3 时序发生器输出功能(定长指令周期)设计 3.1 设计要求

了解传统三级时序系统中时序发生器的基本原理,设计定长指令周期的时序发生器状态机和输出函数。 利用数字逻辑电路的相关知识,设计一个定长指令周期的三级时序系统。 时序发生器包括两部分:状态机和输出函数。 前面的实验完成了状态机的设计。 本实验要求我们实现输出函数的设计部分。 、设计并实现输出函数组合逻辑。

3.2 方案设计 3.2.1 实际发电机原理

实际的发电机组合逻辑基于当前输入状态输出Mif、Mcal、Mex以及T1至T4的差拍电位。 它的填充方式与状态机相同。 四种状态构成一个周期,其中第一阶段Mif=1,T1-T4相应为1。 第二阶段,Mcal=1,其他均设为0。 第三阶段,Mex=1。 以同样的形式填写输出函数表。 填写完这个表后,输出函数会自动Generate,该表可以自动获取我们的Mif、Mcal、Mex、T1到T4的逻辑表达式。 复制对应的逻辑表达式后,思路与下图相同

计算机组成原理笔记|05中央处理器

3.2.1 设计思路

根据当前输入电流状态输出Mif、Mcal、Mex以及T1到T4的拍电位,填写方法与状态机相同,以同样的形式填写输出功能表,填写完该表后,自动通过输出函数Generate,我们的Mif、Mcal、Mex以及从T1到T4的逻辑表达式都可以从表中自动得到。 复制相应的逻辑表达式后,开始运行。

3.3 实验步骤

1)了解实际发电机原理,获取每个时期不同时期Mif、Mcal、Mex值的变化

硬布线控制器的工作原理_硬布线控制器采用了什么原理_cpu 操作控制器 硬布线方法

2)根据上一步值的变化,完成文件表中的输出函数真值表。

计算机组成原理笔记|05中央处理器

3)填表后,将其自动生成的函数输入到logisim中

计算机组成原理笔记|05中央处理器

4) 运行电路进行测试

3.4 故障及调试 3.4.1 复制错误

故障现象:输出函数真值表填写正确,但在上评估时,答案不正确。

计算机组成原理笔记|05中央处理器

原因分析:再次检查函数真值表的填写,发现确实正确,也就是说只能复制错误。

解决方法:再次复制,结果正确

3.5 测试与分析

测试用例如下。 实验电路通过了所有测试用例。

计算机组成原理笔记|05中央处理器

4 硬连线控制器设计 4.1 设计要求

了解传统三级时序系统中硬连线控制器的设计原理,设计硬连线控制器组合逻辑单元,在实现指令译码逻辑和时序发生器的主要功能部件后,进一步设计并实现控制器核心模块组合逻辑单元的硬接线控制

4.2 方案设计 4.2.1 设计思路

在实现了指令译码逻辑和时序发生器的主要功能部件后,我们进一步设计并实现了控制器核心模块硬连线控制器组合逻辑单元,列出了所有微操作信号的产生条件,填写如下excel表格,以及自动生成的逻辑。 表达式,然后在 Logisim 中自动生成电路。

4.2.2 硬连线控制器组合逻辑

设计完以上两个实验后,需要设计硬连线控制器的核心组合逻辑单元。 由于时序发生器承担时序控制功能,硬连线控制器就变成了存储和逻辑。 每个控制信号c都是一条指令,所以我们只要算出每个操作控制信号所产生的调整,就可以得到它们的逻辑表达式。

计算机组成原理笔记|05中央处理器

4.2.3 信号产生条件

如下图所示,通过前面的数据路径分析,得到了5条不同的指令。 在取指令周期、计算周期和执行周期的不同节拍中会给出不同的控制信号。 以下是产生所有控制信号的条件。 需要结合下面两张图来看。CPU电路中所有控制信号的逻辑表达式和所有控制点的逻辑表达式都要简化。

计算机组成原理笔记|05中央处理器

计算机组成原理笔记|05中央处理器

4.3 实验步骤

1)理解上面两张图

2)填写表格状态

计算机组成原理笔记|05中央处理器

3)将生成的表达式复制到logisim中生成电路

4)然后进行评估

4.4.1 复制错误

故障现象:输出函数真值表填写正确,但在上评估时,答案不正确。

计算机组成原理笔记|05中央处理器

原因分析:再次检查函数真值表的填写,发现确实正确,也就是说只能复制错误。

解决方法:再次复制,结果正确

4.5 测试与分析

测试用例如下。 实验电路通过了所有测试用例。

计算机组成原理笔记|05中央处理器

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]