电子说
2007年,我开发了一种名为PERSEUS-3的计算机,以克服1980年自制的机器语言计算机遭受的挫折。其功能如下。
(1)可以在没有PC的情况下用机器语言编程。
(2)可以手动执行单条指令,并在此时显示执行地址。
(3)我自己的微型翻译语言已开发到这台计算机上。
(4)最初,我使用PC作为操作字符终端,后来我开发了一个自制终端并使用了它。
(5)后来,此计算机的概念成为我的#6502独立计算机项目的PERSEUS-7计算机的基础。
1.硬件配置 图1显示了硬件配置。CPU执行指令时,CPU会访问存储设备和外围设备。编程时,CPU通过直接内存访问(DMA)电路与总线分开,并且面板上的开关和LED直接连接到内存设备。
2. CPU 我之所以选择摩托罗拉的MC6802作为该计算机的CPU,是因为我在1980年对该计算机进行了机器语言开发经验,并且易于制作DMA电路。MC6802具有与流行的MC6800相同的指令,但是在暂停状态下,地址总线不会变为高阻态,而是继续输出下一个可执行地址。这对于常规的DMA电路设计是不方便的,但是它适合在LED上显示运行地址。
3.记忆 存储设备是一个16 k位SRAM(HM6116LP-3)和一个64 k位SRAM(6264A-10L)。总存储容量为10 k字节。这两款设备均由3.6 V,70 mA h NiMH电池备份。电池充满a电。HM6116的2 k字节区域(包括系统向量地址)具有写掩码开关。解释器已安装到该区域。使写保护开关可写,然后输入程序。然后将写保护开关设置为可禁用状态,然后您将运行该程序。这样,如果程序失控,程序将不会中断。
4.面板开关和LED 在这台计算机上,使用面板上的开关输入程序。通过三态缓冲器(74HC244)将十六个地址开关连接到地址总线。八个数据开关也通过三态缓冲器(74HC244)连接到数据总线。DMA电路控制3状态缓冲器。在串行接口中,发送/接收信号上有LED,因此您可以直接识别通信状态。并行接口的一个位还配备了一个开关和一个LED,可让您轻松了解接口的操作。
5.按照指令一一调试 当面板上的RUN / HALT开关置于停止侧时,CPU的HALT输入信号变为低电平,CPU停止运行。地址LED指向已停止指令的下一个执行地址。存储器地址总线和数据总线通过DMA电路连接到开关。数据显示LED显示地址开关指向的地址的存储数据值。现在,当按下写开关时,数据开关的值将被写入存储器,并且LED显示屏将变为写值。 按下步骤开关,CPU将执行一条指令并停止。在地址LED显示屏上可以看到程序的正确进度。当开关设置为RUN侧时,CPU将从停止位置开始连续执行。
6.周边设备 该计算机具有一个RS-232C串行接口和一个8位并行输入/输出接口。作为串行接口,使用了异步通信接口适配器(ACIA)MC6850(HD6350 Hitachi)。并行接口配置有标准逻辑74LS374、74HCT374。该计算机还具有模拟输入/输出接口。使用8位A / D转换器(AD7820)作为模拟输入,使用8位D / A转换器(AD558JN)作为模拟输出。动态范围为0v至2.5V。这是模拟信号处理的实验。
7.建立 笔记本计算机使用30厘米x 30厘米x 9厘米的钢制外壳,但面板由铝制成。该外壳用于制作自制的音频放大器。使用变压器和稳压器IC 7805的5V,1A电源安装在机柜的背面。交流电源输入为100V。通用板上的接线是绕线。
8.微小的口译语言 我制作了名为Computation Interpreter -1(CI-1)的微小的16位整数解释器语言。RS232C串行终端可以对该解释器进行编程和输出。变量是‘A’到‘Z’的26个变量。运算符只是四个算术运算。数学表达式的表示法是反向波兰表示法(RPN)。提供了条件决策语句和跳转语句。我还提供了直接访问参数指定的内存空间的函数。这使我可以描述一个数组。该语言还包括行编辑器。如果某行没有行号,则直接执行。如果一行具有行号,则会将其添加到程序中。解释器是用机器语言编写的,并在此计算机上进行手工组装和调试。程序大小为1.7 k字节。
9.结果 我能够制造一台6802机器语言计算机和一个微型解释器。1980年,当我自己建造一台这样的计算机时,调试程序很困难,因为没有地址LED。相比之下,这台计算机PERSEUS-3具有LED指示程序的手动进度,并使调试机器语言变得实用。 该计算机PERSEUS-3成为仿真器,用于在2015年开发用于老式无线电数字显示器的嵌入式后续计算机PERSEUS-4,并在2018年开发用于RS232C串行终端的嵌入式计算机PERSEUS-5
责任编辑:pj
全部0条评论
快来发表一下你的评论吧 !