【自学嵌入式:计算机组成原理】44. - 47.
44. 搭建计算机的外部内存
绘制MBR内存缓存寄存器
ALU计算的结果放到总线后,暂时放到输出寄存器OutputReg中输出一下
EPROM和Flash都是可编程只读存储器(Programmable Read-Only Memory, PROM) 的类型,它们都可以用于存储程序代码和其他类型的数据。可编程可擦除只读存储器(ErasableProgrammableRead Only Memory,EPROM)是一种可写可读的存储器。用户可根据需要来写入,并能把已写入的内容擦去后再改写的ROM。这种存储器擦除原内容的方法很有特点,可以使用点的方法,也可以采用紫外线照射的方法进行擦除数据。Flash可以通过电子方式进行擦除,这种擦除方式称为电子擦除(ElectricalErase),通常使用高电压或者脉冲电压来擦除数据。这两种存储掉电都会保存,现代单片机的存储代码很多是用flash来实现。
用EPROM是因为它有编辑的功能
IR是CPU指令寄存器
45. 计算机系统搭建粗稿
在同一时刻,只允许一个器件访问总线



46. 手动版本计算机一代

47. 手动版本计算机二代
补充一个时钟


下面补一个允许输入和输出位

最开始从0000开始寻址

CPU发送指令将0000地址的数据送入MBR:

然后将MBR的输出打开,将指令寄存器的输入打开,

恢复现场,把所有的开关关掉,然后把指令寄存器IR的输出打开,把地址和操作码拆分开了,将MAR的输入打开,拍一下按钮(时钟),MAR的地址变为1110

然后把MAR的输出打开,内存的输出打开,MBR的输出打开


这样就取到了地址为1110的数据0000 0011
下一步关闭MBR的输入,把MBR的输出打开,A寄存器的输入打开,此时这个0000 0011放入了寄存器A中

到此为止,CPU把第一行汇编指令执行完成(就是把对应地址的内存中的数据存入寄存器A中)
但是目前没法执行第二行汇编指令,还缺一个PC寄存器(程序计数器)

所以可以用加法器代替程序计数器,由于我们只需要执行4条指令,所以2位加法器就能做程序计数器
加法器一端A的初始值为0,但是后面这个课又用计数器来当作PC了

PC的实现效果:

但是我们要传的是4位,高位补0就行

得到一个带程序计数器PC的计算机:

浙公网安备 33010602011771号