【Logisim实验】构建立即数-随机存储器-寄存器的传送

栏目: IT技术 · 发布时间: 4年前

内容简介:关于LogisimLogisim在仿真软件行列中算是比较直观的软件了,它能做的事情有很多,唯一不足的是硬件描述语言的支持,总体上来说适合比较底层的仿真,依赖于Hex值,通过线路逻辑设计能够较好的关于本实验

关于Logisim

Logisim在仿真软件行列中算是比较直观的软件了,它能做的事情有很多,唯一不足的是硬件描述语言的支持,总体上来说适合比较底层的仿真,依赖于Hex值,通过线路逻辑设计能够较好的

关于本实验

计算机指令的执行过程设计是相对复杂的,指令的形式也是多种多样,按照格式可分为有二三单地址指令,根据访问部件的不同可分为立即数,RR,SS,RS等指令

本实验通过Logisim实现:

1.寄存器->存储器

2.存储器->寄存器

3.立即数->存储器

4.立即数->寄存器

的四种控制结构

正文

1)实现寄存器组

寄存器组能够组合成一个缓存序列,并按照每个寄存器的地址进行更改和访问,一次只能改写或读取一个寄存器内容。

【Logisim实验】构建立即数-随机存储器-寄存器的传送

2)立即数与主存储器

主存储器与寄存器都是存储部件能作为输入输出使用,立即数只能作为输入

【Logisim实验】构建立即数-随机存储器-寄存器的传送

3)通路设计

控制数据通路实际是通过数据选择器不断的控制输入地址达到选择通路的效果。

【Logisim实验】构建立即数-随机存储器-寄存器的传送

两处data作为同一线路,同时为Memory输入端提供可选地址

【Logisim实验】构建立即数-随机存储器-寄存器的传送

为寄存器入口提供选择入口

【Logisim实验】构建立即数-随机存储器-寄存器的传送

存储器->寄存器

寄存器->存储器

是一对互斥操作可将两者读写控制信号合并为一个

0->存储器写

1->寄存器写

4)将控制通路的二路选择器信号合并一处形成指令端口

这里有两种布局方式a)硬布线b)微程序控制器

两者各有优缺点

需要有指令周期这里就是简单的读写周期用clock+译码器就可构成

采用方案b将读写,li/Memory,li/Regs端口进行分析

指令 读写r/w li/memory li/regs 指令序号
立即数->memory 0 0 0 1
立即数->regis 1 0 0 2
memory->regis 1 1 0 3
regis->memory 0 0 1 4

三位二进制控制信号可以指定8种操作其中很多操作相互重叠只取其中一个就好

【Logisim实验】构建立即数-随机存储器-寄存器的传送

5)编写微指令控制器

ROM中存储微指令

【Logisim实验】构建立即数-随机存储器-寄存器的传送

这样就完成了数据传送了

后续

可以发现图中还有很多地址信号可以压缩成一定长(S_R,w_a,address,data),度需要根据指令类型进行指令各个位置的数据的通路判断。


以上所述就是小编给大家介绍的《【Logisim实验】构建立即数-随机存储器-寄存器的传送》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++编程风格

C++编程风格

卡吉尔 / 聂雪军 / 机械工业出版社发行室 / 2007-1 / 25.00元

本书描述C++语言中较深层次的程序设计思想和使用方法,包含大量软件工程概念和设计模式,重点介绍大规模编程相关的内容,例如增加代码的可读性、可维护性、可扩展性以及执行效率等的方法。本书的示例代码都是从实际程序中抽取出来的,融人了作者的实际开发经验。讲解如何正确地编写代码以及避开一些常见的误区和陷阱,并给出了许多实用的编程规则,可快速提升读者的C++编程功力。   本书描述平实,示例丰富,适合有......一起来看看 《C++编程风格》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试