Logisim处理器设计

第一部分
第二部分
第三部分
第四部分
第五部分

Charles Petzold撰​​写的“代码”一书中的一章专门介绍CPU的设计,并且在本章的开头介绍了一种设备,该设备可让您汇总存储在内存中的数字集。 在Logisim中设计该电路。 取一组八位数字并将其连接到多路复用器,我们将使用连接到多路复用器选择器输入的计数器将一个数字切换为另一个,并将加法器和电池连接到多路复用器的输出。 我们将使用该按钮作为时钟发生器。 释放按钮时,数据将被加载到电池中(这是通过连接到按钮的NOT元素完成的)。



我们将数字存储在RAM中。

RAM可以表示为一组寄存器,可使用解复用器和复用器(DMX和MUX)对其进行访问。


假设一组数字存储在RAM中,我们需要将所有数字相加并保存结果(在自由单元格中)。 我们将命令(“ add”和“ save”)存储在一个RAM中,并将正在处理的数字存储在另一个RAM中。 这种存储方法是哈佛架构的标志。
“ 1”命令会将数字从加法器写入电池,“ 2”命令会将数字从累加器写入第二RAM。

假设在RAM中存储了几个数字数组。 即 我们需要
  • 将编号从RAM加载到电池
  • 将加法器中的数字加载到电池中
  • 将数字从电池保存到RAM

我们将使用MUX多路复用器从RAM中选择数据。
新指令“ 5”沿时钟发生器的上升沿切换MUX多路复用器,并沿下降沿(在下降沿)写入电池。


接下来,我们将指令和数据存储在一个RAM中。 这种存储方法是冯·诺依曼von Neumann)建筑的标志。
该命令将存储在八位存储单元的前四位中,地址将存储在后四位中( 直接寻址 )。

我们将地址和命令加载到单独的寄存器中,然后使用多路复用器转到保存的地址。 要将数据写入RAM,我们首先将数据加载到Temp临时寄存器中(否则指令将写入RAM中,而不是数据中),然后再写入电池Ass。 在Temp和Ass中记录数据将在后沿完成。

例如,我们将添加数字2和3,它们位于单元格8和9中,并将结果保存在地址为a的单元格中。


我们还添加了无条件跳转的功能。
我们实现了一种仅执行一个命令的设备-无条件跳转命令。 为此,我们将四个最低有效位(实际上是地址)发送到生成地址的计数器,并将存储在存储单元高位中的命令发送到下载端口。
例如,要跳转到地址为2的单元格,请使用命令82。


添加命令以无条件跳转到先前的方案。


通常,在极客时间,Logisim中已经有一篇专门讨论CPU设计的文章。

上面介绍的所有方案都可以下载到一个文件中
Logisim可在此处下载。

考虑加法器如何在155im3芯片(7483)的示例中工作。 对于第155系列的微电路,我们同意在输入端有一个内部电阻器,该电阻器上拉至正值(如果支路“悬在空中”,则其上有一个逻辑“ 1”),因此当电源连接到微电路时,连接到输出的所有LED都将点亮。

图为MS 74ls283(155im3的现代类似物)。

为了在Logisim中设计这种芯片,需要选择“菜单”-“项目”-“添加方案”。

这就是该MS在子电路内部的外观。 这是四个加法器组合成一个完整的加法器。

图片


作为电池,我们将使用155tm8芯片(74175)-四重D触发器。

属于MS的触发器一直一直运行,直到同步输入上的值为1,不仅沿边缘(具有静态控制的触发器),而且在Logisim中我们只有动态触发器,但是在这种情况下,这无关紧要; 我们将使用什么。

您可以在Wikipedia上了解有关触发器的更多信息。

让我们用D型触发器组装MS 155tm8模型。

图片

接下来,我们收集一个允许您添加数字集的方案。

例如,如果您添加一组数字2(0010),则得到2(0010),4(0100),6(0110),依此类推。

图片


图片

前2个出现在加法器的输出(红色LED),然后2个加载到四路D触发器(黄色LED),并且4个出现在加法器的输出,然后4个被加载到155tm8中,而6个出现在加法器的输出,依此类推。

为了设计一个简单的内存模块,我们需要一个多路复用器。 我们设计了一个双路复用器155kp2。
图片

我们还需要一个柜台。 我们将设计155ie5芯片。

这是一个四位数的计数器,但是我们只需要两个最低有效位。
我们将存储数字,例如2(0010),3(0011),5(0101)。
图片




将所有组件组合在一个电路中。 我们将添加存储在“内存”中的数字
2 + 3 + 5。


Logisim可在此处下载。

PS关于该书的文章“代码。 计算机科学的秘密语言。” 在哈布雷(Habré)上。
Z.Y. 此处此处此处有关处理器体系结构的翻译文章(由PatientZero翻译)

Source: https://habr.com/ru/post/zh-CN406157/


All Articles