1、一个最简单cpu的数据通路
可以看到,cpu内部一直重复执行着 Fetch(取指令)--> decode(指令译码)--> execute(执行指令),这个循环叫做指令周期。pc寄存器中存储的地址,需要地址译码器来寻址,在偌大的内存中找到对应地址存储的指令后,存入指令寄存器,再通过指令译码器把指令翻译成各个线路的控制信号给到运算器(运算器ALU是没有状态的,只能根据输入计算并输出结果),运算器输出结果,再结果写入到存储器中。
2、cpu是如何做到自动重复执行,如何实现存储,如何让pc寄存器自动增加
我们先来看一下左边这个简单的电路,开关B原本是闭合的,我们把开关A合上后,开关B则会不停的断开和闭合。对于下游电路来说就是不断产生0和1这样的信号,这就是我们的时钟信号。我们只需要在每次电路接通时对pc寄存器加1,即可以实现每间隔一个时钟周期 pc寄存器就会加1。
有了震荡电路,我们还需要解决数据的存储问题。请看图1,开关全部断开输出为0,合上开关R输出为1,断开开关R输出仍为1ÿ