课程设计计算机的研制.doc_第1页
课程设计计算机的研制.doc_第2页
课程设计计算机的研制.doc_第3页
课程设计计算机的研制.doc_第4页
课程设计计算机的研制.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 课程设计计算机的研制 利用FD-CES实验仪提供的硬件资源(功能模块、控制台及外设等),可按设计、组装、调试三个步骤研制一台微程序控制的实验计算机。实验计算机的研制过程见图4-1。图4-1 4.1实验计算机的设计 本阶段的任务是设计一套严密而周详的实验计算机技术资料,以供实施。4.1.1 确定设计总要求 这包括: (1)实验计算机是否使用外设(键盘和打印机),以什么方式使用外设(程序查询IO方式还是中断IO方式)。 (2)实验计算机运算器采用什么结构(如多通用寄存器结构、多累加器结构等)。(3)实验计算机功能和用途(如可对键盘输入的两个2位十进制数进行四则运算,由打印机输出结果)。(4)实验计算机指令系统规模(共有多少条指令,指令功能等)。4.1.2 设计整机逻辑框图 根据设计要求,对实验仪硬件资源进行逻辑剪辑组合,便可设计出该实验计算机的整机逻辑框图。图4-2和图4-3是两种较典型的实验计算机整机逻辑框图。为利于调试,应在逻辑框图上标明各器件的控制信号及必要的输出信号。图4-2 整机逻辑框图1图4-3 整机逻辑框图24.1.3 设计指令系统 需确定实验计算机的指令系统具体由哪些指令组成,包含哪几种类型指令,指令操作数有哪几种寻址方式,以及指令编码等。这要兼顾必要性(编程方便)和可行性(硬件条件)。一、指 令 类 型指令系统可含以下类型的指令:1算术/逻辑运算类指令 如加法、减法、取反、取补、逻辑与、加1、减1等指令。2移位操作类指令 如带进位或不带进位的移位、算术移位或逻辑环移等指令。3数据传送类指令 通常指CPU内部寄存器之间传送或累加器与寄存器间的数据传送指令,如: MOV A,RiMOV Ri,Rj4程序跳转控制类指令跳转指令分无条件必转和有条件跳转指令。“条件”可以是运算器的一些状态标志(如累加器内容为零标志ZD、进位标志CY、累加器最高位状态A7、累加器最低位状态A0),也可以是外设的状态标志(键盘有键入标志KB、打印机空闲标志PB)。如:JMP addr;必转JZ addr;条件ZD1时跳转JC addr;条件CY1时跳转JNKB addr;条件KB0时跳转5存贮器操作类指令即存贮器读/写指令。一般指的是把内存某单元内容读到累加器或将累加器内容写入某内存单元。如:LDA addr;(addr)ASTA addr;(A) addr6输入输出类指令由于FD-CES提供的外设(键盘和打印机)和内存统一编址(以地址最高位区别为0或1区分内存或外设),所以访问外设和访问内存的指令是统一的。 对于运算器采用多累加器结构的实验计算机(如图4-2或图4-4),设计其指令系统时也应体现出“多累加器”的特性。 如:ADD Ai,Aj;(Ai)+(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 )A STA addr;(A) addr 第一字节 第二字节a10a9a8a7a6a5a4a3a2a1a0 操作码 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位(页内地址)。例:单字节指令MOV A,Ri;(0(Ri)AMOV Ri,A;(A) 0(Ri) Ri选择码 0 操作码 页面号 (4)立即数寻址指令第二字节8位为立即可操作的数据。例:MOV A,#data;dataAMOV Ri,#data;dataRi 第一字节 第二字节d7d0操作码及Ri选择段 8位立即数data 2多累加器结构操作数寻址方式 对于运算器采用多累加器结构的实验计算机,其指令系统操作数寻址方式也可有多种。指令第一字节除含有操作码以外,通常含一个或两个累加器选择码段。例如: (1)直接地址寻址例:双字节指令LDAi addr ;(addr)Ai指令第一字节低3位和指令第二字节8位构成11位操作数地址,指令第一字节高5位含有累加器Ai选择码段。 第一字节 第二字节a10a9a8a7a0 操作码及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位(页内地址)。 Aj选择码 |-|0 |操作码及Ai选择码|- 页面号 | (4)立即数寻址例:双字节指令MOV Ai,#data ;dataAi指令第一字节中含有一个累加器选择码段。 第一字节 第二字节d7d6d5d4d3d2d1d0|-操作码及Ai选择码 | | 8位立即数data -|4.1.4 设计指令执行流程 应根据实验计算机整机逻辑图来设计指令系统中每条指令的执行流程。 我们知道,一条指令从内存取出到执行完,需要若干个机器周期(节拍)。任何指令的第一个机器周期都是“取指令周期”,或称为公操作周期。而一条指令共需几个机器周期取决于指令在机内实现的复杂程度。 对于微程序控制的计算机设计指令执行流程时,要保证每条微指令所含微操作的必要性和合理性,防止微操作之间有时序冲突,为此要分析: * 哪些微操作信息可以安排在同一条微指令中; * 哪些微操作信息必须安排在同一条微指令中; * 哪些微操作信息不能安排在同一条微指令中。 另外,还应记住:总线IAB、IDB、OAB、ODB仅是传输信息的通路而已,无寄存信息的功能;利用总线传输信息时要保证信息的唯一性(即不能有一个以上器件向总线发送信息);ALU的输出缓冲器BUFFER仅是三态传输门电路,无寄存功能。 下面我们举几个例子说明如何设计指令流程。注:箭头表示数据信息流向,横线上信号为所需的控制信息。例一: 单字节指令 ADD A,Ri (硬件见图4-2)该指令功能为(A)(Ri)A,需执行如下微操作: (PC) IABOAB;程序计数器PC内容作访问内存地址 (M)ODB IDBIR1;从内存该地址单元读出指令字节送指;令寄存器IR1 (PC)+1 PC;PC加1,为取下条指令字节准备 (A) ACT ;累加器A内容送累加器暂存器ACT,;为ALU准备好被加数 (ACT)+(Ri)BUF IDBA ;使暂存器TMP输出高阻,读Ri 寄存器内容,使ALU执行加法,结果经BUF至IDB最后送入累加器A Cn+4 CY ;据加法结果置进位标志CY 其中, 必须在一拍(即取指令周期)内完成;也必须在同一拍内完成;而不可以和在同一拍,但可以和在同一拍;可以和同拍也可以和同拍;也可把、单独一拍,甚至和各一拍也可以。 推荐采用如下方案: T0(第一拍): T1(第二拍): 例二: 单字节指令 ADD Ai,Aj (硬件见图4-3)该指令功能为(Ai)(Aj)Ai,需执行如下微操作: (PC) IAB OAB;根据PC访问内存 (M)ODB IDBIR1;读出指令字节送IR1 (PC)+1 PC;PC加1计数,为取下条指令字节准备 (Ai)IDB ACT;读Ai,经IDB送入ACT,为ALU;准备好被加数 (Aj)IDB TMP;读Aj,经IDB送入TMP,为ALU;准备好加数 (ACT)+(TMP)A;ALU执行加法,结果暂存到累加器A Cn+4 CY ;据加法结果置进位标志CY (A)IDBAi ;累加器内容经BUF、IDB存入Ai 其中,必须同一拍; 也必须同一拍;可以和 同一拍(这时TMP设置为直通,CT=1,OT=0),但不可以和同一拍;单独一拍;可以和合一拍或与合一拍。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): T3(第四拍): 例三: 双字节指令 LDAi addr (硬件见图4-3)该指令功能为(addr)Ai,需执行如下微操作: (PC) IAB OAB;根据PC访问内存 (M)ODB IDBIR1;取出本指令第一字节送IR1 (PC)+1 PC;PC加1, 为取本指令下一字节准备 (PC) IAB OAB;根据PC访问内存 (M) ODB IDBIR2;取出本指令第二字节送IR2 (PC)+1PC;PC加1, 为取下一指令字节准备 I2.I1.I0(IR2)IABOAB;由IR1低3位和IR2的8位形成11;位操作数地址 (M)ODBIDBAi;从内存读出操作数存入Ai 其中,必须同一拍; 也必须同一拍;也必须同一拍;可以单独一拍或和合一拍; 可单独一拍也可和、合一拍或者和 合一拍。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): 例四:双字节指令 LDA addr (硬件见图4-3)该指令功能为(addr)A,需执行如下微操作: (PC) IAB OAB;根据PC访问内存 (M)ODB IDBIR1;取出指令第一字节送IR1 (PC)+1PC;PC加1,为取下条指令字节准备 (PC)IABOAB;根据PC访问内存 (M) ODB IDBIR2;取出指令第二字节送IR2 (PC)+1PC;PC加1,为取下条指令字节准备 I2.I1.I0(IR2)IABOAB ;由IR1低3位和IR2的8位形成11;位操作数地址 (M)ODBIDBTMP;从内存读出操作数送TMP (TMP)A;TMP内容经ALU传送,存入A 其中,必须同一拍;也必须同一拍;也必须同一拍;可以单独一拍也可与合一拍;可单独一拍也可和合一拍; 可单独一拍也可和合一拍或者和 合一拍(TMP设置为直通)。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): 例五: 双字节指令 JMP addr 该指令功能为 addrPC,需执行如下微操作: (注:转移类指令与运算器结构无关) (PC)IABOAB;根据PC访问内存 (M)ODB IDBIR1;取本指令第一字节送IR1 (PC)+1PC;PC加1 (PC)IABOAB;根据PC访问内存 (M)ODBIDBIR2;取本指令第二字节(即addr低8位)送IR2 (PC)+1PC;PC加1,为取下条指令字节准备 I2.I1.I0(IR2)IABPC;由IR1低3位和IR2内容形成转移地;址送程序计数器PC 其中,必须同一拍;也必须同一拍;单独一拍;可以单独一拍也可与合一拍; 是冗余操作(为与其他双字节指令统一)。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): 例六: 单字节指令 RRC A ;该指令功能是累加器A内容带进位CY右环移一位,即 CYA7A6A1A0 ,需执行如下微操作: |(注:本指令执行与运算器结构无关) (PC)IABOAB ;程序计数器PC内容作访问内存地址 (M)ODB IDBIR1;读出指令字节送IR1 (PC)+1PC;PC加1,为取下条指令字节准备 (A)、CYA、CY ;控制累加器A带CY右环移一位 (移入CY作A7,移出的A0送CY) 其中,必须在一拍; 可以和合一拍,;可单独一拍。 推荐采用如下方案: T0(第一拍): T1(第二拍): 例七: 单字节指令 RRC Ai,Aj (硬件见图4-3)该指令功能为Aj内容带进位CY右环移一位送Ai和CY,需执行如下微操作: (PC)IABOAB ;根据PC访问内存 (M)ODB IDBIR1 ;取出指令字节送IR1 (PC)+1PC;PC加1,为取下条指令字节准备 (Aj)IDBTMP ;读Aj内容经IDB送TMP (TMP)A ;TMP内容经ALU传IDB到累加器A (A)、CYA、CY;控制A带CY右环移一位 (移入CY作A7,移出的A0送CY) (A)IDBAi;A的内容经BUF传IDB至Ai 其中,必须同一拍; 可单独一拍也可与合一拍或者和合一拍;可以和合一拍但不可以和 合一拍。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): T3(第四拍): 例八:单字节指令 MOV A,Ri (硬件见图4-2)该指令功能为 (I2.I1.I0(Ri)A,需执行如下微操作: (PC)IABOAB ;根据PC访问内存 (M)ODBIDBIR1;取本指令字节送IR1 (PC)+1PC;PC加1,为取下条指令字节准备 (Ri)BUFIDBIR2 ;读Ri内容经ALU传送至IDB,存入IR2 I2.I1.I0(IR2)IABOAB;由IR1低3位和IR2的8位形成操作;数地址 (M)ODBIDB A;从内存读出操作数送入累加器A 其中,必须同一拍; 也必须同一拍;单独一拍;可与合一拍或与合一拍,也可单独一拍。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): 例九:单字节指令 MOV Ai,Aj (硬件见图4-3)该指令功能为 (I2.I1.I0(Aj)Ai,需执行如下微操作: (PC)IABOAB ;根据PC访问内存 (M)ODBIDBIR1;取本指令字节送IR1 (PC)+1PC;PC加1,为取下条指令字节准备 (Aj)IDBIR2;读Aj内容至IDB,存入IR2 I2.I1.I0(IR2)IABOAB;由IR1低3位和IR2的8位形成操作;数地址 (M)ODBIDBAi;从内存读出操作数送Ai 其中,必须同一拍;须一拍; 也必须同一拍;可单独一拍也可与合一拍或与合一拍。 推荐采用如下方案: T0(第一拍): T1(第二拍): T2(第三拍): 例十:双字节指令 MOV A,#data (硬件见图4-2)该指令功能为 data A,需执行如下微操作: (PC)IABOAB ;根据PC访问内存 (M)ODBIDBIR1;取本指令第一字节送IR1 (PC)+1PC;PC加1,为取下条指令字节准备 (PC)IABOAB ;根据PC访内存 (M)ODBIDBA;取出本指令第二字节(即data)送A (PC)+1PC;PC加1,为取下条指令字节准备 其中,必须同一拍; 可单独一拍也可与合一拍; 也必须同一拍; 可单独一拍也可与合一拍。 推荐采用如下方案: T0(第一拍): T1(第二拍): 例十一:双字节指令 MOV Ai,#data (硬件见图4-3)该指令功能为 dataAi,需执行如下微操作: (PC)IABOAB ;根据PC访问内存 (M)ODBIDBIR1;取本指令第一字节送IR1 (PC)+1 PC;PC加1,为取指令下一字节准备 (PC)IABOAB ;根据PC访问内存 (M)ODBIDBAi ;取出本指令第二字节送Ai (PC)+1PC;PC加1,为取下条指令字节准备 其中,必须同一拍; 可单独一拍也可与合一拍; 也必须同一拍; 可单独一拍也可与合一拍。 推荐采用如下方案: T0(第一拍): T1(第二拍): 4.1.5 设计微操作控制信号及其实现方法 本设计阶段任务是综合实验计算机指令系统各指令执行流程中涉及到的微操作控制信号,统计总共需多少个微操作控制信号,决定这些信号中哪些由软件(微指令)直接产生,哪些需用硬件(逻辑电路)实现。设计时应考虑到以下几点:一、微指令编码格式 微指令长24位,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号可由微码直接实现。 如果采用分组编码译码,那么n位微码通过二进位译码可实现2n 个互斥的微操作控制信号(即它们不可能在同一节拍内激活)。二、微操作信号的有效性 (1) 对于电平有效的微操作控制信号,通常可由微指令码直接实现。 例:ALU的操作控制信号、M、S3、S2、S1、S0可由某6位微指令码直接控制。 又如:运算器模块中暂存器TMP的操作控制信号CT和OT也都是电平有效,故也可用某两位微码直接控制。(2) 对于脉冲型微操作控制信号,通常需外加门电路实现。 例:内存的读控制信号RC宜采用负脉冲,以保证内存读出数据的可靠性。 可以用“与”门实现 RC 或者用“或”门实现 RCMi 式中Mi为微指令某码位,它的意义是“读内存”,需要读内存时Mi 应有效。 若采用式,则Mi 为“1”有效; 若采用式,则Mi 为“0”有效。 两种方法等效,均可在需要读内存时得到负脉冲型的RC信号。 此外,写内存控制信号WC、写寄存器堆控制信号WR也都宜负脉冲有效,实现方法与RC类似。三、器件的操作条件1对需要多个操作信号的器件 有不少器件,它执行某种操作需要多个微操作控制信号同时有效。对此,通常可将其中某个(某些)信号事先固定准备好。 例如:累加器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固定接RF使运行时允许74245传送,而传送方向控制信号B2则另处理。2对只需要一个电平跳变有效的操作信号的器件 有些器件,它执行某种操作只需一个电平跳变信号,通常需外接门电路加以实现。 如运算器模块中的进位触发器CY(7474),它的接数条件仅是CP。当CP电平正跳时CY接收其D端数据。 可以用“与”门实现 CP 或者用“或”门实现 CPMi 式中Mi为微指令某码位,它的意义是“CY接数”,需要CY接数时Mi 应有效。 若采用式,则Mi 为“1”有效; 若采用式,则Mi 为“0”有效。 两种方法等效,均可在需要CY接数时得到正跳变有效的CP信号。4.1.6 设计微指令格式 本阶段设计任务是决定24位长的微指令是否分段定义、各段段长;决定微指令各码位含义和有效性;对其中尚需用硬件作后继处理的信号加以注明,如M0RC,表示对M0尚需作后继处理才能产生有效的RC信号(注:RC为读内存控制信号,负脉冲有效)。 对于那些允许同时有效且有效性一致的微操作控制信号可以合用一个微码表示。 如果实验计算机指令系统规模较小,功能也不太复杂,那么通常情况下推荐采用全水平不编码纯控制场的微指令格式。4.1.7 确定微程序控制方式 这阶段设计任务包括设计各微程序入口地址的形成方法和控存的顺序控制(即下地址形成)方法。一、确定微程序入口地址形成方法 比较简易的方法是以指令操作码(8位)为核心扩展成11位的微程序地址即MD10MD0,这种方法称为“按操作码散转”。 如果指令系统仅8条指令,IR1的I7.I6.I5为指令操作码,每条指令执行不超过4拍,即微程序可由多至4条微指令组成,见图4-4,那么可按图4-6形成各微程序首地址,见表4-1。 MPC0 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 微程序首址形成举例表4-1 按指令操作码散转指令操作码I7I6I5微程序首址MD10MD00 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1003H007H00BH00FH013H017H01BH01FH二、确定控存的顺序控制方法 控存的顺序控制方法即控存的下地址的确定方法。 根据FD-CES实验仪提供的微程序控制模块的组成原理,推荐采用计数增量方法。即每段微程序执行过程中MPC加1计数指向下一条微指令地址。4.1.8 编写各指令的微程序 根据指令流程和微指令格式仔细地逐条填写微指令各码位。 为减少填写错误,可先把本条微指令用到的微码(微操作控制信号)按预定的有效性填入,检查无误后,再对本条微指令用不到的微码(微操作控制信号)填入与预定的有效性相反的代码,核对无误后,最后将这24位微码缩写成6位十六进制微指令。4.1.9 设计实验接线表 这张接线表须仔细设计,因为它是组装实验计算机的依据。为此:(1)为避免遗漏,应按模块逐个归纳整理,明确各模块中各器件各控制信号的处理方法。(2)对于模块中不用的器件,也应有所处理。 例如:某实验计算机不使用寄存器堆,但仍需对寄存器堆操作信号作必要控制,把读寄存器堆信号RR接“1”(使其无效),以防止实验计算机内数据流受寄存器堆信息干扰。 又如:某实验计算机的运算器不使用暂存器TMP,则务必将其输出控制信号OT接“1”(使其无效),以防止实验计算机内数据信息混乱。 再如:某实验计算机无停机指令,则应把运行触发器数据输入信号DR接“1”或将该触发器接数脉冲信号RCP接“1”,以防止实验计算机运行中意外停机。(3)尽量减少外接器件,以降低实验计算机成本、节省接线时间、提高实验计算机可靠性。(4)实验计算机接线表举例: 以下是某个简单实验计算机的微操作控制信号设计表,也即该实验计算机组装接线表。(仅作举例,请不要盲从)。 运算器模块累加器A:X0M16 X1M17 CA SR、SL:不用 累加器暂存器ACT: CCCGM5 暂存器TMP:CT “1”OT “0” 算术逻辑单元ALU:M23MM22S3M21S2M20S1M19S0M18 输出缓冲器BUF:OBM8 进位产生线路:P2、P1、P0:不用 SB、SA “1”CP M12 寄存器堆模块: RR “1” WR、A、B:不用 指令部件模块 指令寄存器IR1: GI M4CI 指令寄存器IR2: CL M10 IR1、IR2输出控制: OI M11 程序计数器PC: P+1 M9 CLR “1” LP CY CK PC输出控制: PCO 内存模块: RC M14 WC M15 总线缓冲模块: B1 RF B2 M3 B3 RF 微程序控制模块 微程序计数器MPC: MCLR RO MCLK PO MLD M1 MP+1 “1” 操作码散转控制: MD10MD4 “0” MD3 I7 MD2 I6 MD1、MD0 “1” 微指令寄存器MIR: MIG M2 MICP MICP(启停时序模块) 启停和时序模块: DR M0 RCP “1”4.1.10 编写调试程序 实验计算机调试程序通常包括:存取类指令调试程序、传送类指令调试程序、算术逻辑类指令调试程序、跳转类指令调试程序和IO设备调试程序等。 下面对I/O设备调试程序作些讨论。 对程序I/O方式,CPU使用外设时须先用程序询问外设状态,判知该外设可使用后再进行数据的输入输出,见图4-6。 读键 打印 图4-6 程序查询IO CPU获知外设状态的方法不止一种。编程时要考虑硬件背景和指令系统。 (1) 若实验计算机已有用户构设的如图4-7所示的IO状态询问口(以下简称“询问口”)线路,则可这样编写键盘和打印机工作程序: KEY:LDA 404H ;读询问口,KB被读入累加器最低位 JA0 KEY ;若KB为“1”,则继续读询问口,等待有键入 IN:LDA 401H ;读键值送累加器A(注:若键盘设备号为401H);键值处理 PRINT: LDA 404H ;读询问口,PB被读入累加器最高位 RLC A;使PB移入CY JC PRINT;若PB为1,则继续读询问口,等待打印机空闲 OUT:;装配打印数据 STA 402H ;输出打印(注:若打印机设备号为402H)图4-7 IO状态询问口线路 (2)若指令系统中有以外设状态为条件的跳转指令,则实验者不必构设上述“询问口”,而需在设计程序计数器PC接数控制信号LP时兼顾到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 实验计算机组装 认真研究第一章的各模块电路,分析各种信号的作用及它们的连接关系,用ABEL语言描述整机电路,并将描述电路的JED电路下载到PLD实验板。4.3 实验计算机的调试 下载描述电路无误,便可进入加电调试阶段,先静态后动态。4.3.1 调 试 准 备一、测控制台复位功能 加电按RET键,应显示CPU READY字样,表示实验仪监控程序开始工作。此时信号RO应为“0”,RF应为“1”,表示处于停机态。二、测控制台启动功能 按STRT或STEP键,应显示出C.P.U. R.E.A.D.Y字样,此时信号RO应为“1”,RF应为“0”,表示处于运行态。三、输入微程序 将开关M / CM置右端,在停机态从键盘或从外存EEPROM将微程序输入到控存。方法见第三章。四、输 入 程 序 将开关M / CM置左端,在停机态从键盘或从外存EEPROM将程序输入内存。方法见第三章。4.3.2 程 序 调 试一、以连续方式运行程序 如果对实验计算机前期研制工作把握较大,那么不妨先以连续运行方式运行程序:按RET键,然后键入程序首地址,再按STRT键,使实验计算机全速运行某段或某个程序,然后检查该程序运行结果。如结果正确,再以连续方式运行另一段或另一个程序。如结果不正确,则应改用单拍方式运行。二、以单拍方式运行程序由于单拍方式运行程序过程中,控制台会显示每拍的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)运算器采用多累加器结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论