笔记|组成原理:原理篇(建立数据通路)
2021-07-02 16:08:51 0 举报
来自徐大佬的组成原理课
作者其他创作
大纲/内容
3.Execute(执行指令)
硬件实现
在特定的输入下,根据下面的电路逻辑,生成特定的输出
算数逻辑操作/数据传输/直接的地址跳转
机器周期Machine Cycle/CPU 周期
建立数据通路,构造一个最简单的CPU
1
单指令周期处理器
如何让计算机自动跑起来
⑥当拿到对应的opcode和操作数,对应的输出线路就要连接ALU,开始进行各种算数和逻辑运算。对应的计算结果,则会再写回到D型触发器组成的寄存器或者内存当中
读写数据所需要的译码器
总结
从PC寄存器里找到对应的指令地址,根据指令地址从内存里把具体的指令,加载到指令寄存器中,然后把PC寄存器自增,好在未来执行下一条指令
通过一个时钟信号,我们可以在特定的时间对输出的Q进行写入操作
所有CPU支持的指令,都会在控制器中被解析成不同的输出信号
如果一个简单的无条件地址跳转,那么我们可以直接在控制器里面完成, 不需要用到运算器
通过数据总线的方式,把他们连接起来,完成数据的存储、处理和传输👉建立数据通路
建立数据通路
操作原件/组合逻辑元件
通过一个反相器实现时钟信号
或非门
时序协调
必须部件:D触发器、自动计数器、译码器、ALU
加法计数、内存取值、命令执行
运算器里的ALU和各种组合逻辑电路,可以认为是一个固定功能的电路。控制器“翻译”出来的,就是不同的控制信号。这些控制信号,告诉ALU去做不同的计算。可以说,征矢控制器的存在,让我们可以“编程”来实现功能,能让我们的“存储程序型计算机”名副其实
原理篇:处理器
时钟信号:提供定时的输入
算术逻辑单元→运算器
通过一个时钟信号,我们可以实现计数器,这个会成为我们的PC寄存器。然后我们海选哦一个能够帮我们在内存里面寻找指定数据地址的译码器,以及解析读取到的机器指令的译码器。这样,我们就能把所学习到的硬件组件串联起来,变成一个CPU,实现我们在计算机指令额执行部分的运行步骤
把R和S两个信号通过一个反相器合并,我们可以通过一个数据信号D进行Q的写入操作
4.循环执行
开关B就会不停地在开和关之间切换,生成对应的时钟信号
1.Fetch(取得指令)
根据指令寄存器里面的指令,解析成要进行什么样的操作,是R、I、J中的哪一种指令,具体要操作哪些寄存器、数据或者内存地址
2.Decode(指令译码)
一个反相器、两个与门、一个或门
③自动计数器随着时钟主频不断自增,从译码器当中,找到对应的计数器表示的内存地址,读取出里面的CPU指令
ALU实际上是一个没有状态的,根据输入计算输出结果的第一个电路
时钟电路的配合
比如在计算过程中需要用到的寄存器,无论是通用寄存器还是状态寄存器,其实都是存储元件
自增
只是机械地重复Fetch-Decode-Execute循环中前两个步骤,然后最后一个步骤,通过控制器产生的控制信号,交给ALU去处理
时钟(信号)
开关A闭合(也就是相当于接通电路之后)
指令寄存器
时钟周期Clock Cycle
磁性开关
运算器
两个与门+时钟信号CLK作为输入
1.通过反馈电路,创建了时钟信号,再利用这个时钟信号和门电路组合,实现了“状态记忆”的功能
②译码器:前面连接自动计数器,后面连接大量的D触发器组成的内存
一个完整的CPU是怎么运转起来的
≈ 把电路的输出信号作为输入信号,再回到当前电路👉反馈电路(Feedback Circuit)
①自动计数器:随着时钟主频不断自增,作为PC寄存器
自动运行
PC寄存器所需要的计数器
CPU所需要的硬件电路
数据通路【处理器单元】
实际运行对应的R、I、J这些特定的指令,进行算数逻辑操作、数据传输或者直接的地址跳转
存储功能:D触发器
时序逻辑电路
1.Fetch(取指令)
④读取出来的CPU指令会通过CPU时钟的控制,写入到一个由D触发器组成的寄存器即指令寄存器中。
CPU主频由一个晶体振荡器来实现
加法器的两个输入,一个始终设置成1,另外一个来自于一个D型触发器A。我们把加法器的输出结果,写到这个D型触发器A里面。于是,D型触发器里面的数据就会在固定的时钟信号为1的时候更新一次
指令周期Instruction Cycle
存储
寄存器?数据?内存地址?
控制器
本质:从输入的多个位信号中,根据一定的开关和电路组合,选择出自己想要的信号
⑤在指令寄存器后面,再跟一个译码器,把拿到的指令,解析成opcode和对应的操作数(≠寻址)
一个能够进行状态读写的电路元件(寄存器)(能够存储到上一次的计算结果)
在一个时钟周期里,确保执行完一条最复杂的CPU指令
问题
最简单的寻址:两个地址选1个2-1选择器
解析指令【R、I、J】
D型触发器:在时钟控制信号的时间点写入数据
怎么才能指导,写入和读取的数据是在这么大的内存的那几个bit呢👉寻址
RS触发器/复位置位触发器
PC寄存器【指令地址】
2.电路的输出信号不单单取决于当前的输入信号,还取决于输出信号之前的状态。最常见的电路:D触发器,也是实际在CPU内实现存储功能的实现方式
一个“自动”的电路,按照固定的周期,不断实现PC寄存器的自增,自动,自动执行指令周期步骤
锁存器Latch/D触发器Data/Delay Flip-flop电路
一个“译码”的电路,找到对应的数据(拿到内存地址去获取对应的数据或指令)
本质:一个输出结果接回输入的反相器(Inverter)
存储元件/状态原件
如果输入的信号有3个不同的开关,我们就能从2³,也就是8个地址选择一个👉3-8译码器
2.Decode
更复杂的译码器:除了“寻址”,还可把对应的需要运行的指令码,同样通过译码器,指出期望执行的指令(opcode)以及后面对应的操作数或者寄存器地址
0 条评论
下一页