ImageVerifierCode 换一换
格式:DOC , 页数:33 ,大小:2.06MB ,
资源ID:4120853      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4120853.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计计算机的研制.doc)为本站会员(hyngb9260)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

课程设计计算机的研制.doc

1、55第四章 课程设计计算机的研制利用 FD-CES 实验仪提供的硬件资源(功能模块、控制台及外设等) ,可按设计、组装、调试三个步骤研制一台微程序控制的实验计算机。实验计算机的研制过程见图 4-1。图 4-1 4.1 实验计算机的设计本阶段的任务是设计一套严密而周详的实验计算机技术资料,以供实施。4.1.1 确定设计总要求56这包括:(1)实验计算机是否使用外设(键盘和打印机) ,以什么方式使用外设(程序查询 IO 方式还是中断IO 方式) 。(2)实验计算机运算器采用什么结构(如多通用寄存器结构、多累加器结构等) 。(3)实验计算机功能和用途(如可对键盘输入的两个 2 位十进制数进行四则运算

2、,由打印机输出结果) 。(4)实验计算机指令系统规模(共有多少条指令,指令功能等) 。4.1.2 设计整机逻辑框图根据设计要求,对实验仪硬件资源进行逻辑剪辑组合,便可设计出该实验计算机的整机逻辑框图。图 4-2 和图 4-3 是两种较典型的实验计算机整机逻辑框图。为利于调试,应在逻辑框图上标明各器件的控制信号及必要的输出信号。图 4-2 整机逻辑框图 157图 4-3 整机逻辑框图 24.1.3 设计指令系统需确定实验计算机的指令系统具体由哪些指令组成,包含哪几种类型指令,指令操作数有哪几种寻址方式,以及指令编码等。这要兼顾必要性(编程方便)和可行性(硬件条件)。一、指 令 类 型指令系统可含

3、以下类型的指令:1算术/逻辑运算类指令如加法、减法、取反、取补、逻辑与、加 1、减 1 等指令。2移位操作类指令如带进位或不带进位的移位、算术移位或逻辑环移等指令。3数据传送类指令通常指 CPU 内部寄存器之间传送或累加器与寄存器间的数据传送指令,如:MOV A,RiMOV Ri,Rj4程序跳转控制类指令跳转指令分无条件必转和有条件跳转指令。 “条件”可以是运算器的一些状态标志(如累加器内容为零标志 ZD、进位标志 CY、累加器最高位状态 A7、累加器最低位状态 A0) ,也可以是外设的状态标志(键盘有键入标志 KB、打印机空闲标志 PB) 。如:JMP addr ;必转JZ addr ;条件

4、 ZD1 时跳转JC addr ;条件 CY1 时跳转JNKB addr ;条件 KB0 时跳转5存贮器操作类指令即存贮器读/写指令。一般指的是把内存某单元内容读到累加器或将累加器内容写入某内存单元。如:58LDA addr ;(addr)ASTA addr ;(A) addr6输入输出类指令由于 FD-CES 提供的外设(键盘和打印机)和内存统一编址(以地址最高位区别为 0 或 1 区分内存或外设) ,所以访问外设和访问内存的指令是统一的。对于运算器采用多累加器结构的实验计算机(如图 4-2 或图 4-4) ,设计其指令系统时也应体现出“多累加器”的特性。 如:ADD Ai,Aj ;(Ai)

5、+(Aj)AiRRC Ai,Aj ;(Aj)带 CY 右环移一位AiMOV Ai,Aj ;(Aj)AiMOV Ai,Aj ;(I2.I1.I0(Aj) )AiLDAi,addr ;(addr)AiSTAi,addr ;(Ai)addr二、指令操作数寻址方式及其编码1单累加器多寄存器结构操作数 寻址方式根据 FD-CES 提供的硬件条件,单累加器多寄存器结构的实验计算机指令的操作数寻址方式至少可有以下几种:(1)直接地址寻址11 位操作数地址由指令第一字节低 3 位和第二字节 8 位直接给出。例:LDA addr ;(addr )ASTA addr ;(A) addr第一字节 第二字节a10 a

6、9 a8 a7 a6 a5 a4 a3 a2 a1 a0 操作码 11 位操作数地址 注:a100,addr 为内存地址;a101,addr 为外设地址。(2)寄存器直接寻址指令(第一)字节含寄存器选择码,决定选哪个寄存器并对其操作。例:单字节指令 MOV A,Ri ;(Ri)A 操作码及 Ri 选择码 例:双字节指令MOV Ri,#data ;dataRi第一字节 第二字节 操作码及 Ri 选择码 data (3)寄存器间接寻址指令(第一)字节低 3 位 I2.I1.I0 为 0,它是操作数地址高 3 位(或称页面号) ,其中两位是寄存器 Ri 选择码,该寄存器内容作为操作数地址低 8 位(

7、页内地址) 。例:单字节指令MOV A,Ri ;(0(Ri) )AMOV Ri,A ;(A) 0(Ri)Ri 选择码590 操作码 页面号(4)立即数寻址指令第二字节 8 位为立即可操作的数据。例:MOV A,#data ;dataAMOV Ri,#data ;dataRi第一字节 第二字节d7 d0操作码及 Ri 选择段 8 位立即数 data 2多累加器结构操作数寻址方式对于运算器采用多累加器结构的实验计算机,其指令系统操作数寻址方式也可有多种。指令第一字节除含有操作码以外,通常含一个或两个累加器选择码段。例如:(1)直接地址寻址例:双字节指令LDAi addr ;(addr)Ai指令第一

8、字节低 3 位和指令第二字节 8 位构成 11 位操作数地址,指令第一字节高 5 位含有累加器 Ai选择码段。第一字节 第二字节a10 a9 a8 a7 a0 操作码及 Ai 选择码 11 位操作数地址 addr (2)累加器直接寻址例:单字节指令MOV Ai,Aj ;(Aj)Ai指令(第一)字节含有两个累加器选择码段,分别用于选择 Ai 和 Aj。含操作码及 Ai 选择码. Aj 选择码 (3)累加器间接寻址例:单字节指令MOV Ai,Aj ;(0(Aj) )Ai指令(第一)字节含有两个累加器选择码段,而且低 3 位 0决定访内地址高 3 位(页面号) ,Aj的内容决定访内地址低 8 位(页

9、内地址)。Aj 选择码-0 操作码及 Ai 选择码- 页面号 (4)立即数寻址例:双字节指令MOV Ai,#data ;dataAi指令第一字节中含有一个累加器选择码段。第一字节 第二字节d7 d6 d5 d4 d3 d2 d1 d0-操作码及 Ai 选择码 8 位立即数 data -4.1.4 设计指令执行流程应根据实验计算机整机逻辑图来设计指令系统中每条指令的执行流程。我们知道,一条指令从内存取出到执行完,需要若干个机器周期(节拍) 。任何指令的第一个机器周60期都是“取指令周期” ,或称为公操作周期。而一条指令共需几个机器周期取决于指令在机内实现的复杂程度。对于微程序控制的计算机设计指令

10、执行流程时,要保证每条微指令所含微操作的必要性和合理性,防止微操作之间有时序冲突,为此要分析:* 哪些微操作信息可以安排在同一条微指令中;* 哪些微操作信息必须安排在同一条微指令中;* 哪些微操作信息不能安排在同一条微指令中。另外,还应记住:总线 IAB、IDB、OAB、ODB 仅是传输信息的通路而已,无寄存信息的功能;利用总线传输信息时要保证信息的唯一性(即不能有一个以上器件向总线发送信息) ;ALU 的输出缓冲器 BUFFER仅是三态传输门电路,无寄存功能。下面我们举几个例子说明如何设计指令流程。注:箭头表示数据信息流向,横线上信号为所需的控制信息。例一: 单字节指令 ADD A,Ri (

11、硬件见图 4-2)该指令功能为(A)(Ri)A,需执行如下微操作: (PC) IAB OAB ;程序计数器 PC 内容作访问内存地址PCO B1 (M) ODB IDB IR1 ;从内存该地址单元读出指令字节送指R 23。 CIG。 ;令寄存器 IR1 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PCK 1。 (A) ACT ;累加器 A 内容送累加器暂存器 ACT,G。 ;为 ALU 准备好被加数 (ACT)+(Ri) BUF IDB A OTABRCnMSS。 。 。 。 。 。 。 。 。3210 OB XC01。 。 ;使暂存器 TMP 输出高阻,读 Ri 寄存器内容,使

12、ALU 执行加法,结果经 BUF 至 IDB 最后送入累加器A C n+4 CY ;据加法结果置进位标志 CYSBCP。 。 其中, 必须在一拍(即取指令周期)内完成;也必须在同一拍内完成;而不可以和在同一拍,但可以和在同一拍;可以和同拍也可以和同拍;也可把、单独一拍,甚至和各一拍也可以。推荐采用如下方案:T0(第一拍): T1(第二拍): 例二: 单字节指令 ADD Ai,Aj (硬件见图 4-3)该指令功能为(Ai)(Aj)Ai,需执行如下微操作: (PC) IAB OAB ;根据 PC 访问内存PCO B1 (M) ODB IDB IR1 ;读出指令字节送 IR1R 23。 CIG。 6

13、1 (PC)+1 PC ;PC 加 1 计数,为取下条指令字节准备PCK 1。 (Ai) IDB ACT ;读 Ai,经 IDB 送入 ACT,为 ALURABT。 。 。 ;准备好被加数 (Aj) IDB TMP ;读 Aj,经 IDB 送入 TMP,为 ALUCT。 。 。 ;准备好加数 (ACT)+(TMP) A ;ALU 执行加法,结果暂存到累加器 AOTABRCnMS。 。 。 。 。 。 30 C n+4 CY ;据加法结果置进位标志 CYSABCP。 。 (A) IDB Ai ;累加器内容经 BUF、IDB 存入 AiO WRAB。 。 其中,必须同一拍; 也必须同一拍;可以和

14、同一拍(这时 TMP 设置为直通,CT=1,OT=0) ,但不可以和同一拍;单独一拍;可以和合一拍或与合一拍。推荐采用如下方案:T0(第一拍): T1(第二拍): T2(第三拍): T3(第四拍): 例三: 双字节指令 LDAi addr (硬件见图 4-3)该指令功能为(addr)Ai,需执行如下微操作: (PC) IAB OAB ;根据 PC 访问内存PCO B1 (M) ODB IDB IR1 ;取出本指令第一字节送 IR1R 23。 CIG。 (PC)+1 PC ;PC 加 1, 为取本指令下一字节准备PCK 1。 (PC) IAB OAB ;根据 PC 访问内存O B1 (M) OD

15、B IDB IR2 ;取出本指令第二字节送 IR2RC 23。 CL (PC)+1 PC ;PC 加 1, 为取下一指令字节准备PK 1。 I2.I1.I0(IR2) IAB OAB ;由 IR1 低 3 位和 IR2 的 8 位形成 11OI B1 ;位操作数地址 (M) ODB IDB Ai;从内存读出操作数存入 AiRC 23。 WRA。 。 其中,必须同一拍; 也必须同一拍;也必须同一拍;可以单独一拍或和合一拍; 可单独一拍也可和、合一拍或者和 合一拍。62推荐采用如下方案:T0(第一拍): T1(第二拍): T2(第三拍): 例四:双字节指令 LDA addr (硬件见图 4-3)该

16、指令功能为(addr)A,需执行如下微操作: (PC) IAB OAB ;根据 PC 访问内存PCO B1 (M) ODB IDB IR1 ;取出指令第一字节送 IR1R 23。 CIG。 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PCK 1。 (PC) IAB OAB ;根据 PC 访问内存O B1 (M) ODB IDB IR2 ;取出指令第二字节送 IR2RC 23。 CL (PC)+1 PC ;PC 加 1,为取下条指令字节准备PK 1。 I2.I1.I0(IR2) IAB OAB ;由 IR1 低 3 位和 IR2 的 8 位形成 11OI B1 ;位操作数地址 (M)

17、 ODB IDB TMP ;从内存读出操作数送 TMPRC 23。 CT (TMP) A ;TMP 内容经 ALU 传送,存入 AOTnMSX。 。 。 。 。 。01 其中,必须同一拍;也必须同一拍;也必须同一拍;可以单独一拍也可与合一拍;可单独一拍也可和合一拍; 可单独一拍也可和合一拍或者和 合一拍(TMP 设置为直通) 。推荐采用如下方案:T0(第一拍): T1(第二拍): T2(第三拍): 例五: 双字节指令 JMP addr 该指令功能为 addrPC,需执行如下微操作:(注:转移类指令与运算器结构无关)63 (PC) IAB OAB ;根据 PC 访问内存PCO B1 (M) OD

18、B IDB IR1 ;取本指令第一字节送 IR1R 23。 CIG。 (PC)+1 PC ;PC 加 1PCK 1。 (PC) IAB OAB ;根据 PC 访问内存O B1 (M) ODB IDB IR2;取本指令第二字节(即 addr 低 8 位)送 IR2RC 23。 CL (PC)+1 PC ;PC 加 1,为取下条指令字节准备PK 1。 I2.I1.I0(IR2) IAB PC ;由 IR1 低 3 位和 IR2 内容形成转移地OI LP ;址送程序计数器 PC其中,必须同一拍;也必须同一拍;单独一拍;可以单独一拍也可与合一拍; 是冗余操作(为与其他双字节指令统一) 。推荐采用如下方

19、案:T0(第一拍): T1(第二拍): T2(第三拍): 例六: 单字节指令 RRC A ;该指令功能是累加器 A 内容带进位 CY 右环移一位,即 CYA7A6A1A0 ,需执行如下微操作: (注:本指令执行与运算器结构无关) (PC) IAB OAB ;程序计数器 PC 内容作访问内存地址PCO B1 (M) ODB IDB IR1 ;读出指令字节送 IR1R 23。 CIG。 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PCK 1。 (A)、CY A、CY ;控制累加器 A 带 CY 右环移一位XASBCP0。 。 。 。 。 (移入 CY 作 A7,移出的 A0 送 CY)

20、其中,必须在一拍; 可以和合一拍, ;可单独一拍。推荐采用如下方案:T0(第一拍): T1(第二拍): 例七: 单字节指令 RRC Ai,Aj (硬件见图 4-3)该指令功能为 Aj 内容带进位 CY 右环移一位送 Ai 和 CY,需执行如下微操作:64 (PC) IAB OAB ;根据 PC 访问内存PCO B1 (M) ODB IDB IR1 ;取出指令字节送 IR1R 23。 CIG。 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PCK 1。 (Aj) IDB TMP ;读 Aj 内容经 IDB 送 TMPRAB。 。 T (TMP) A ;TMP 内容经 ALU 传 IDB

21、 到累加器 AOTCnMSXC。 。 。 。 。 。301 (A)、CY A、CY ;控制 A 带 CY 右环移一位XABP01。 。 。 。 。 (移入 CY 作 A7,移出的 A0 送 CY) (A) IDB Ai ;A 的内容经 BUF 传 IDB 至 AiOB WR。 。 其中,必须同一拍; 可单独一拍也可与合一拍或者和合一拍;可以和合一拍但不可以和 合一拍。推荐采用如下方案:T0(第一拍): T1(第二拍): T2(第三拍): T3(第四拍): 例八:单字节指令 MOV A,Ri (硬件见图 4-2)该指令功能为 (I2.I1.I0(Ri) )A,需执行如下微操作: (PC) IAB

22、 OAB ;根据 PC 访问内存PCO B1 (M) ODB IDB IR1 ;取本指令字节送 IR1R 23。 CIG。 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PCK 1。 (Ri) BUF IDB IR2 RABnMS。 。 。 。 。 。30 OB CL ;读 Ri 内容经 ALU 传送至 IDB,存入 IR2 I2.I1.I0(IR2) IAB OAB ;由 IR1 低 3 位和 IR2 的 8 位形成操作OI 1 ;数地址 (M) ODB IDB A ;从内存读出操作数送入累加器 ARC B23。 其中,必须同一拍; 也必须同一拍;单独一拍;可与合一拍或与合一拍,也

23、可单独一拍。推荐采用如下方案:T0(第一拍): 65 T1(第二拍): T2(第三拍): 例九:单字节指令 MOV Ai,Aj (硬件见图 4-3)该指令功能为 (I2.I1.I0(Aj) )Ai,需执行如下微操作: (PC) IAB OAB ;根据 PC 访问内存PCO B1 (M) ODB IDB IR1 ;取本指令字节送 IR1R 23。 CIG。 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PCK 1。 (Aj) IDB IR2 ;读 Aj 内容至 IDB,存入 IR2RAB。 。 L I2.I1.I0(IR2) IAB OAB ;由 IR1 低 3 位和 IR2 的 8

24、位形成操作OI B1 ;数地址 (M) ODB IDB Ai;从内存读出操作数送 AiRC B23。 WRA。 。 其中,必须同一拍;须一拍; 也必须同一拍;可单独一拍也可与合一拍或与合一拍。推荐采用如下方案:T0(第一拍): T1(第二拍): T2(第三拍): 例十:双字节指令 MOV A,#data (硬件见图 4-2)该指令功能为 data A,需执行如下微操作: (PC) IAB OAB ;根据 PC 访问内存PCO B1 (M) ODB IDB IR1 ;取本指令第一字节送 IR1R 23。 CIG。 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PCK 1。 (PC) I

25、AB OAB ;根据 PC 访内存O B1 (M) ODB IDB A;取出本指令第二字节(即 data)送 ARC 23。 XC01。 。 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PK 1。其中,必须同一拍; 可单独一拍也可与合一拍; 也必须同一拍; 可单独一拍也可与合一拍。推荐采用如下方案:T0(第一拍): 66T1(第二拍): 例十一:双字节指令 MOV Ai,#data (硬件见图 4-3)该指令功能为 dataAi,需执行如下微操作: (PC) IAB OAB ;根据 PC 访问内存PCO B1 (M) ODB IDB IR1 ;取本指令第一字节送 IR1R 23。

26、CIG。 (PC)+1 PC ;PC 加 1,为取指令下一字节准备PCK 1。 (PC) IAB OAB ;根据 PC 访问内存O B1 (M) ODB IDB Ai ;取出本指令第二字节送 AiRC 23。 WRAB。 。 (PC)+1 PC ;PC 加 1,为取下条指令字节准备PK 1。其中,必须同一拍; 可单独一拍也可与合一拍; 也必须同一拍; 可单独一拍也可与合一拍。推荐采用如下方案:T0(第一拍): T1(第二拍): 4.1.5 设计微操作控制信号及其实现方法本设计阶段任务是综合实验计算机指令系统各指令执行流程中涉及到的微操作控制信号,统计总共需多少个微操作控制信号,决定这些信号中哪

27、些由软件(微指令)直接产生,哪些需用硬件(逻辑电路)实现。设计时应考虑到以下几点:一、微指令编码格式微指令长 24 位,若微指令采用全水平不编码纯控制场的格式,那么至多可有 24 个微操作控制信号可由微码直接实现。如果采用分组编码译码,那么 n 位微码通过二进位译码可实现 2n 个互斥的微操作控制信号(即它们不可能在同一节拍内激活) 。二、微操作信号的有效性(1) 对于电平有效的微操作控制信号,通常可由微指令码直接实现。例:ALU 的操作控制信号 、M、S3、S2、S1、S0 可由某 6 位微指令码直接控制。Cn又如:运算器模块中暂存器 TMP 的操作控制信号 CT 和 OT 也都是电平有效,

28、故也可用某两位微码直接控制。(2) 对于脉冲型微操作控制信号,通常需外加门电路实现。例:内存的读控制信号 RC 宜采用负脉冲,以保证内存读出数据的可靠性。67可以用“与”门实现 RC Mi或者用“或”门实现 RCMi 式中 Mi 为微指令某码位,它的意义是“读内存” ,需要读内存时 Mi 应有效。若采用式,则 Mi 为“1”有效;若采用式,则 Mi 为“0”有效。两种方法等效,均可在需要读内存时得到负脉冲型的 RC 信号。此外,写内存控制信号 WC、写寄存器堆控制信号 WR 也都宜负脉冲有效,实现方法与 RC 类似。三、器件的操作条件1对需要多个操作信号的器件有不少器件,它执行某种操作需要多个

29、微操作控制信号同时有效。对此,通常可将其中某个(某些)信号事先固定准备好。例如:累加器 A(74198)的操作至少需要 X0、X1 和 CA 3 个控制信号,其中 X0、X1 是电平有效,CA 是电平正跳变有效。我们不妨把 CA 固定接 (后沿有效) ,X0、X1 分别由微码 Mi、Mj 控制。又如:指令寄存器 IR1(74377)的接数有 GI 和 CI 两个控制信号。当 GI 为“0”且 CI 电平正跳时IR1 接数。我们可把 CI 固定接 (后沿有效) ,而 GI 由某位微码控制产生。再如:对数据总线传送器件 74245,它的操作需 B2、B3 两个电平型控制信号。我们可把 B3 固定接

30、RF 使运行时允许 74245 传送,而传送方向控制信号 B2 则另处理。2对只需要一个电平跳变有效的操作信号的器件有些器件,它执行某种操作只需一个电平跳变信号,通常需外接门电路加以实现。如运算器模块中的进位触发器 CY(7474) ,它的接数条件仅是 CP。当 CP 电平正跳时 CY 接收其 D 端数据。可以用“与”门实现 CP Mi或者用“或”门实现 CPMi 式中 Mi 为微指令某码位,它的意义是“CY 接数” ,需要 CY 接数时 Mi 应有效。若采用式,则 Mi 为“1”有效;若采用式,则 Mi 为“0”有效。两种方法等效,均可在需要 CY 接数时得到正跳变有效的 CP 信号。4.1

31、.6 设计微指令格式本阶段设计任务是决定 24 位长的微指令是否分段定义、各段段长;决定微指令各码位含义和有效性;对其中尚需用硬件作后继处理的信号加以注明,如 M0RC,表示对 M0 尚需作后继处理才能产生有效的RC 信号(注:RC 为读内存控制信号,负脉冲有效) 。对于那些允许同时有效且有效性一致的微操作控制信号可以合用一个微码表示。如果实验计算机指令系统规模较小,功能也不太复杂,那么通常情况下推荐采用全水平不编码纯控制场的微指令格式。4.1.7 确定微程序控制方式这阶段设计任务包括设计各微程序入口地址的形成方法和控存的顺序控制(即下地址形成)方法。一、确定微程序入口地址形成方法比较简易的方

32、法是以指令操作码(8 位)为核心扩展成 11 位的微程序地址即 MD10MD0,这种方法称为“按操作码散转” 。如果指令系统仅 8 条指令,IR1 的 I7.I6.I5 为指令操作码,每条指令执行不超过 4 拍,即微程序可由多至 4 条微指令组成,见图 4-4,那么可按图 4-6 形成各微程序首地址,见表 4-1。MPC680 0 0 H 取 指 微 指 令0 0 3 H0 0 7 H0 0 B H0 0 F H0 1 3 H0 1 7 H0 1 B H图 4-4 控存分布举例MD10 MD5 MD4 MD3 MD2 MD1 MD0 “0” I7 I6 I5 “1”图 4-5 微程序首址形成举

33、例表 4-1 按指令操作码散转指令操作码I7I6I5微程序首址MD10MD00 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1003H007H00BH00FH013H017H01BH01FH69二、确定控存的顺序控制方法控存的顺序控制方法即控存的下地址的确定方法。根据 FD-CES 实验仪提供的微程序控制模块的组成原理,推荐采用计数增量方法。即每段微程序执行过程中 MPC 加 1 计数指向下一条微指令地址。4.1.8 编写各指令的微程序根据指令流程和微指令格式仔细地逐条填写微指令各码位。为减少填写错误,可先把本条微指令用到的微码(微操作控制信号)按预定的有效性填入

34、,检查无误后,再对本条微指令用不到的微码(微操作控制信号)填入与预定的有效性相反的代码,核对无误后,最后将这 24 位微码缩写成 6 位十六进制微指令。4.1.9 设计实验接线表这张接线表须仔细设计,因为它是组装实验计算机的依据。为此:(1)为避免遗漏,应按模块逐个归纳整理,明确各模块中各器件各控制信号的处理方法。(2)对于模块中不用的器件,也应有所处理。例如:某实验计算机不使用寄存器堆,但仍需对寄存器堆操作信号作必要控制,把读寄存器堆信号RR 接“1” (使其无效) ,以防止实验计算机内数据流受寄存器堆信息干扰。又如:某实验计算机的运算器不使用暂存器 TMP,则务必将其输出控制信号 OT 接

35、“1” (使其无效) ,以防止实验计算机内数据信息混乱。再如:某实验计算机无停机指令,则应把运行触发器数据输入信号 DR 接“1”或将该触发器接数脉冲信号 RCP 接“1” ,以防止实验计算机运行中意外停机。(3)尽量减少外接器件,以降低实验计算机成本、节省接线时间、提高实验计算机可靠性。(4)实验计算机接线表举例:以下是某个简单实验计算机的微操作控制信号设计表,也即该实验计算机组装接线表。 (仅作举例,请不要盲从) 。 运算器模块累加器 A: X0 M16X1 M17CA SR、SL:不用累加器暂存器 ACT: CC CG M5暂存器 TMP: CT “1”OT “0”算术逻辑单元 ALU:

36、 M23CnM M22S3 M21S2 M20S1 M19S0 M18输出缓冲器 BUF: OB M8进位产生线路: P2、P1、P0:不用SB、SA “1”CP M12 寄存器堆模块: RR “1”WR、A、B:不用 指令部件模块指令寄存器 IR1: GI M470CI 指令寄存器 IR2: CL M10 IR1、IR2 输出控制: OI M11程序计数器 PC: P+1 M9CLR “1”LP CYCK PC 输出控制: PCO M9 内存模块: RC M14 WC M15 总线缓冲模块: B1 RFB2 M3B3 RF 微程序控制模块微程序计数器 MPC: MCLR ROMCLK POM

37、LD M1MP+1 “1”操作码散转控制: MD10MD4 “0”MD3 I7MD2 I6MD1、MD0 “1”微指令寄存器 MIR: MIG M2MICP MICP(启停时序模块) 启停和时序模块: DR M0RCP “1”4.1.10 编写调试程序实验计算机调试程序通常包括:存取类指令调试程序、传送类指令调试程序、算术逻辑类指令调试程序、跳转类指令调试程序和 IO 设备调试程序等。下面对 I/O 设备调试程序作些讨论。对程序 I/O 方式,CPU 使用外设时须先用程序询问外设状态,判知该外设可使用后再进行数据的输入输出,见图 4-6。KB 0?YesNo PB 0?YesNo读键 打印图

38、4-6 程序查询 IOCPU 获知外设状态的方法不止一种。编程时要考虑硬件背景和指令系统。71(1) 若实验计算机已有用户构设的如图 4-7 所示的 IO 状态询问口(以下简称“询问口” )线路,则可这样编写键盘和打印机工作程序:KEY:LDA 404H ;读询问口,KB 被读入累加器最低位JA0 KEY ;若 KB 为“1” ,则继续读询问口,等待有键入IN:LDA 401H ;读键值送累加器 A(注:若键盘设备号为 401H) ;键值处理PRINT: LDA 404H ;读询问口,PB 被读入累加器最高位RLC A ;使 PB 移入 CYJC PRINT ;若 PB 为 1,则继续读询问口

39、,等待打印机空闲OUT: ;装配打印数据STA 402H ;输出打印(注:若打印机设备号为 402H)1 2 3 4ABCD4321DCBA TitleNumber RevisionSizeA4Date: 19-Apr-1996 Sheet of File: D:SLFZCDOCZCH5.SCH Drawn By:45 6B8910C 1 2A12 3A12 3A12 3AIAB2IAB10RC B2PBKB IDB0IDB7图 4-7 IO 状态询问口线路(2)若指令系统中有以外设状态为条件的跳转指令,则实验者不必构设上述“询问口” ,而需在设计程序计数器 PC 接数控制信号 LP 时兼顾到

40、 KB 和 PB 这两个条件,能使 KB 为“1”或 PB 为“1”时 LP 为“1”有效,使程序计数器 PC 接受转移地址。这种方法的键盘和打印机工作程序可如下编制:KEY:JKB KEY ;查 KB,若 KB 为“1”则等待有键入LDA 401H ;读键值 ;键值处理PRINT:JPB PRINT ;查 PB,若 PB 为“1”则等待打印完STA 402H ;输出打印4.1.11 编写调试程序用实验计算机指令系统编写实验计算机调试程序。在编写打印程序时,不仅要考虑到 CPU 与打印机的联接使用方式,还要考虑到打印机本身的性能和打印格式的要求(见前面第一章有关介绍) 。4.2 实验计算机组装

41、认真研究第一章的各模块电路,分析各种信号的作用及它们的连接关系,用 ABEL 语言描述整机电路,并将描述电路的 JED 电路下载到 PLD 实验板。4.3 实验计算机的调试下载描述电路无误,便可进入加电调试阶段,先静态后动态。4.3.1 调 试 准 备72一、测控制台复位功能加电按 RET 键,应显示 CPU READY 字样,表示实验仪监控程序开始工作。此时信号 RO 应为“0” ,RF 应为“1” ,表示处于停机态。二、测控制台启动功能按 STRT 或 STEP 键,应显示出 C.P.U. R.E.A.D.Y 字样,此时信号 RO 应为“1” ,RF 应为“0” ,表示处于运行态。三、输入

42、微程序将开关 M / CM 置右端,在停机态从键盘或从外存 EEPROM 将微程序输入到控存。方法见第三章。四、输 入 程 序将开关 M / CM 置左端,在停机态从键盘或从外存 EEPROM 将程序输入内存。方法见第三章。4.3.2 程 序 调 试一、以连续方式运行程序如果对实验计算机前期研制工作把握较大,那么不妨先以连续运行方式运行程序:按 RET 键,然后键入程序首地址,再按 STRT 键,使实验计算机全速运行某段或某个程序,然后检查该程序运行结果。如结果正确,再以连续方式运行另一段或另一个程序。如结果不正确,则应改用单拍方式运行。二、以单拍方式运行程序由于单拍方式运行程序过程中,控制台

43、会显示每拍的 OAB 和 ODB 或微指令信息,以供分析判断该拍执行情况,所以此方式适合调试较复杂或有故障的程序。4.4 实验仪样机分析下面以 FD-CES 实验仪样机为例,进一步说明利用 FD-CES 研制实验计算机的过程。此样机供调试 FD-CES 用,有两种使用方案。一种是将实验仪上 KA、KB、KC、KR 四组选择开关分别置右、左、左、右,以构成多累加器的运算器结构。另一种使用方案是将 KA、KB、KC、KR 四组选择开关分别置左、右、右、左,以构成单累加器多寄存器的运算器结构。这两套方案自搭硬件线路一样,但指令系统不一样,微程序不一样。下面对这两套方案作分别介绍。4.4.1 调试样机方案一该调试样机要求开关 KA、KB、KC、KR 分别置右、左、左、右。一、设 计 要 求(1)运算器采用多累加器结构

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报