1、计算机组成与结构课程设计计算机组成与结构课程设计(总32页)前 言随着计算机科学与技术的迅猛发展,直接推动了我们对计算机组成与结构这门课程的学习。计算机总体上是由软件和硬件组成。硬件是物质基础,没有良好的硬件,软件将无法发挥作用;软件是灵魂,没有软件,计算机就无法工作,软件不良,计算机也无法高效率地工作。计算机的硬件由运算器、控制器、存储器、输入设备和输出设备构成。计算机的软件主要由系统软件与应用软件组成。程序预先存放在存储器中,计算机工作时能自动高速地从存储器中取出指令和数据加以执行。计算机是通过执行指令来处理各种数据的。为了指出数据的来源、操作结果的去向及所执行的的操作,一条指令一般包括操
2、作码、操作数地址、操作结果的存储地址、下一条指令的地址。操作码具体说明操作的性质和功能。一台计算机可能有几十条至几百条指令,每一条指令都有一个相应的操作码,计算机通过识别该操作码来完成不同的操作。操作数的地址CPU通过该地址就可以取得所需的操作数。把对操作数的处理结果保存在操作结果存储地址中以便再次使用。计算机的性能与它的指令系统有很的关系,而指令系统的设置又与机器的硬件密切相连。在本次课程设计中,我在同学的帮助下完成相应的整体逻辑图的设计、指令系统的设计、确定微操作控制信号等,设计的一台小型的实验计算机,能基本实现四则运算。前言任务书第1章实验计算机的设计 确定设计总要求 设计整机逻辑框图
3、设计指令系统 设计指令执行流程 确定微操作控制信号及其实现方法 设计微指令格式 确定微程序控制方式 编写指令的微程序 设计实验接线表 编写调试程序 编写应用程序第2章 实验计算机的组装 器件排列 信号连接 实验接线板安装 第3章 实验计算机的调试 调试准备 程序调试第4章 实验计算机的故障的排除 故障的类型和原因 故障的分析查找小结参考文献本科生课程设计任务书 2008 届 计算机科学与工程 系 计算机科学与技术 专业 课程设计题目:实验计算机利用 FDCES 实验仪提供的硬件资源(功能模块、控制台及外设等),按设计、组装、调试等步骤研制一台微程序控制的实验计算机。 原始资料1、计算机组成与结
4、构实验指导书2、计算机组成与结构教材 课程设计任务内容1. 课程设计的目的意义:通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:、调查研究、分析问题的能力;、使用设计手册、技术规范的能力;、查阅中外文献的能力;、制定设计方案的能力;、计算机应用的能力;、设计计算和绘图的能力;、技术经济指标的分析能力;、语言文字表达的能力。2. 本课题研究的主要内容:研制一台性能如下的实验计算机:(1)不使用外设。(2)运算器采用单累加器多通用寄存器结构。(3)操作数寻址方式有: 直接地址寻址 立即数寻址 寄存器直接寻址(4)指令系统由如下8条指令组成:指令编码助记符指令功能第一字节第二字节I7
5、 I6 I5 I4 I3 I2 I1 I000000X AiADD A ,Ri(A)+(Ri)-Ai00001X AiMOV A,Ri(Ri)-(A)00010X XX SRC A(A)带进位C又环移一位00011X XXd7-d0MOV A,datadata-A001000 a9 a8a7-a0LDA addr(addr)-A001010 a9 a8a7-a0STA addr(A)-addr0011000 a9 a8a7-a0JC addr若CY=1 addr-PC,否则PC+1 001110 a9 a8a7-a0JMP addraddr -PC(5)能执行双字加法程序 (程序自编)第1章
6、实验计算机的设计 确定设计总要求(1) 不使用外设。(2) 运算器采用多单累加器多通用寄存器结构。(3) 能将内存中某一单元(非零)内容乘以4后在将结果放到另一单元。(4) 计算机共有8条指令,下列7种功能的指令: 算术加法指令ADD 数据传送指令MOV 进位位置1指令SRC 存储器读操作指令LDA 存储器写操作指令STA 程序无条件跳转指令JMP 有进位转移指令JC (5)微操作控制信号的实现(1)对于电平有效的微操作控制信号,通常可由微指令码直接实现。(2)对于脉冲型微操作控制信号,通常需要外加门电路实现。(3)对需要多个操作控制信号的器件:由不少器件,它执行某种操作需要多个微操作控制信号
7、同时有效。对此,通常可将其中某个(某些)信号事先固定准备好。(4)对只需要一个电平跳变有效的操作信号的器件:通常需外接门电路加以实现。1.2设计整机逻辑框图根据设计要求,对实验仪硬件资源进行逻辑剪辑组合,便可设计出该实验计算机的整机逻辑框图(图1-1)。实验整机由运算器模块,寄存器堆模块,内存模块,微程序控制模块有序组合而成。其中运算器模块(ALU)主要由累加器、运算器、累加器暂存器、暂存器、输出缓冲器,以及进位产生线路、累加器判零线路等构成;内存模块为用户提供有效的内存空间;寄存器模块由两片74670组成,提供4个8位寄存器;微程序控制模块主要由11位微地址计数器MPC(74163x3)、2
8、Kx24 bit的控存CM(6116x3),以及24位微指令寄存器MIR(74377x3)组。图1-1整机逻辑框图1.3设计指令系统一、指令类型 指令系统含以下类型指令:1.算术运算类指令 ADD A ,Ai ,2.移位操作类指令 SRC A3.数据传送类指令 MOV A,Ri MOV A , #data4.程序跳转控制类指令 JMP addr JC addr5.存储器操作类指令 LDA addr STA addr二、指令操作数寻址方式及其编码对于运算器采用多累加器结构的实验计算机,其指令系统操作数寻址方式有有多种。需确定实验计算机的指令系统具体由哪些指令组成,包含哪几种类型指令,指令操作数有
9、哪几种寻址方式,以及指令编码等。这要兼顾必要性(编程方便)和可行性(硬件条件)。1、直接地址寻址 LD Ai addr ;(addr)-Ai 指令第一字节低3位和指令第二字节8位构成11位操作数地址,指令第 一字节高5位含有累加器Ai选择码段。 第一字节 第二字节a10a9a8a7a6a5a4a3a2a1a0 操作码,Bx选择码 11位形式地址2、累加器直接寻址 单字节指令 MOV A, Ri ;(Ri)-(A) 指令(第一)字节含有两个累加器选择码段,分别用于选择Ai和Aj。 操作码和R i选择码3、立即数寻址 双字节指令 MOV A,#data ;data-A 指令第一字节中含有一个累加器
10、选择码段。 第一字节 第二字节 操作码和Ri选择码 8位立即数data设计指令执行流程应根据实验计算机整机逻辑图来设计指令系统中每条指令的执行流程。1、单字节指令ADD A,Ri 该指令功能为(A)+(Ri)-Ai,需执行如下微操作: PCO B1 (1)(PC)-IAB-OAB根据PC访问内存。 RC B2,B3 CI,GI(2)(M)-ODB-IDB-IR1读出指令字节送IR1。 P+1,CK (3)(PC) + -PCI PC加1计数,为取下条指令字节准备。 RR,A,B CG(4)(Ai)-IDB-ACT读Ai,经IDB送入ACT,为ALU准备好被加数。 RR,A,B CT(5)(Aj
11、)-IDB-TMP读Aj,经IDB送入ACT,为ALU准备好加数 OT,A,B,RR,Cn,M,S3,S2,S1,S0(6)(ACT)+(TMP)-AALU执行加法,结果暂存到累加器A 。 SA,SB,C(7)Cn + 4-CY据加法结果置进位标志CY。 OB WR,A,B(8)(A)-IDB-Ai累加器内容经BUF,IDB存入Ai。其中,(1)(2)必须同一拍;(5)(6)也必须同一拍;(5)后可以和(6)(7)同一拍(这是TMP设置为直通,CT=1,OT=0),但不可以和(4)同一拍;(4)单独一拍;(3)可以和(1)(2)合一拍或与(4)合一拍。具体方案如下:T0(第一拍):(1)(2)
12、(3)T1(第二拍):(4)T2(第三拍):(5)(6)(7)T3(第四拍):(8)2、单字节指令MOV A, Ri该指令功能为(Ri) A,需执行如下微操作: PCO B1 (PC) PC0 IAB B1 OAB 根据PC访问内存。 (M) RC ODB B2,B3 IDB CI,GI IR1 取出本指令第一字节送入IR1。 (PC)+1 P+1,CK PCI PC加1,为取本指令下一字节做准备。 (PC) PC0 LAB B1 OAB 根据PC访问内存。 (Ri) RR,A,B,Cn,M,S3,S2,S1,S0 BUF OB IDB CL IR2 读Ri内容经AL送入 IDB,存入IR (
13、PC)+1 P+1,CK PCI PC加1,为取下条指令作准备。 (I2,I1,I0(IR2) OI IAB BI OAB 将寄存器内容送入外部数据线。 (M) RC ODB B2,B3 IDB CL A从内存中把数据送入A中。其中(1)(2)必须同一拍;(4)须一拍;(5)(6)也必须同一拍;(3)可以单独一拍或和(1)(2)合一拍或和(4)合一拍;具体方案如下:T0(第一拍):(1)(2)(3)T1(第二拍):(4)T2(第三拍):(5)(6)3、双字节指令 MOV A,#data 该指令功能为Data-Ai,需执行如下微操作: PCO B1 (1) (PC)-IAB-OAB根据PC访问内
14、存。 RC B2,B3 CI,GI(2)(M)-ODB-IDB-IR1取出本指令第一字节送IR1。 P+1,CK(3) (PC) + -PCIPC加1,为取本指令下一字节准备。 PCO B1(4)(PC)-IAB-OAB根据PC访问内存。 RC B2,B3 CL(5)(M)-ODB-IDB-IR2取出本指令第二字节送IR2。 P+1,CK(6)(PC) + -PCIPC加1,为取下一指令字节准备。其中(1)(2)必须同一拍;(4)(5)也必须同一拍;(3)可以单独一拍或和(1)(2)合一拍;(6)可以单独一拍或和(4)(5)合一拍。具体方案如下:T0(第一拍):(1)(2)(3)T1(第二拍)
15、:(4)(5)(6)4、双字节指令LDA A,addr该指令功能为(addr)-A,需执行如下微操作: PC PC0 IAB B1 OAB 根据PC访问内存。 (M) RC ODB B2,B3 IDB CI,GI IR1 取出本指令第一字节送入IR1。 (PC)+1 P+1,CK PCI PC加1,为取本指令下一字节做准备。(PC) PC0 LAB B1 OAB 根据PC访问内存。(M) RC ODB B2,B3 IDB CL IR2 取出本指令第二个字节送入IR2.(PC)+1 P+1,CK PCI PC加1,为取下条指令作准备。(I2,I1,I0(IR2) OI IAB BI OAB 由I
16、R1低3位和IR2的8位形成11位操作数地址 (M) RC ODB B2,B3 IDB CL TMP 从内存中读出操作数存入TMP。 (TMP) OT,Cn,M,S3,S2,S1,S0,X1,X0,CA A TMP内容经ALU存入A。i 。其中(1)(2)必须同一拍;(5)(6)也必须同一拍;(7)(8)也必须同一拍;(3)可以单独一拍或和(1)(2)同一拍;(6)可单独一拍也可和(4)、(5)合一拍或者和(7)(8)合一拍。具体方案如下:T0(第一拍):(1)(2)(3)T1(第二拍):(4)(5)(6)T2(第三拍):(7)(8)5、双字节指令STA A, adder该指令功能为(Ai)-
17、addr,需执行如下微操作: PC PC0 IAB B1 OAB 根据PC访问内存。 (M) RC ODB B2,B3 IDB CI,GI IR1 取出本指令第一字节送入IR1。(PC)+1 P+1,CK PCI PC加1,为取下一字节作准备。 (PC) PC0 LAB B1 OAB 根据PC访问内存。 (M) RC ODB B2,B3 IDB CL IR2 取出本指令第二个字节送入IR2.(PC)+1 P+1,CK PCI PC加1,为取下条指令作准备。 (I2,I1,I0(IR2) OI IAB BI OAB 由IR1低3位和IR2的8位形成11位操作数地址 (A) RC ODB B2,B
18、3 IDB CT TMP从内存读出操作数存入TMP。 (TMP) OT,Cn,M,S3,S2,S1,S0,X1,X0,CA (M) TMP内容经ALU存入内存.(5)JMP addr PC PC0 IAB B1 OAB 根据PC访问内存。 (M) RC ODB B2,B3 IDB CI,GI IR1 取出本指令第一字节送入IR1。 (PC)+1 P+1,CK PCI PC加1,为取下一字节作准备。 (PC) PC0 LAB B1 OAB 根据PC访问内存。 (M) RC ODB B2,B3 IDB CL IR2 取出本指令第二个字节送入IR2. (PC)+1 P+1,CK PCI PC加1,为
19、取下条指令作准备。 (I2,I1,I0(IR2) OI IAB BI PC 由IR1低3位和IR2的8位形成转移地址送入PCAi 从内存读出操作数存入Ai 。其中(1)(2)必须同一拍;(5)(6)也必须同一拍;(7)(8)也必须同一拍;(3)可以单独一拍或和(1)(2)同一拍;(6)可单独一拍也可和(4)、(5)合一拍或者和(7)(8)合一拍。具体方案如下:T0(第一拍):(1)(2)(3)T1(第二拍):(4)(5)(6)T2(第三拍):(7)(8)7、双字节指令JMP addr 该指令功能为Addr-PC ,需执行如下微操作: PCO B1 (1) (PC)-IAB-OAB根据PC访问内
20、存。 RC B2,B3 CI,GI(2)(M)-ODB-IDB-IR1取出本指令第一字节送IR1。 P+1,CK(3) (PC) + -PCIPC加1,为取本指令下一字节准备。 PCO B1(4)(PC)-IAB-OAB根据PC访问内存。 RC B2,B3 CL(5)(M)-ODB-IDB-IR2取出本指令第二字节(即addr低8位)送IR2。 P+1,CK(6)(PC) + -PCIPC加1,为取下一指令字节准备。 OI LP(7) I2,I1,I0(IR2)-IAB-PC由IR1低3位和IR2的8位形成转移地址送程序计数器PC。其中(1)(2)必须同一拍;(4)(5)也必须同一拍;(7)单
21、独一拍;(3)可以单独一拍或和(1)(2)合一拍;(6)是冗余操作。具体方案如下:T0(第一拍):(1)(2)(3)T1(第二拍):(4)(5)(6)T2(第三拍):(7)8、双字节指令JC addr 该指令功能为若CY=1则addr-PC,否则PC加1 ,需执行如下微操作: PCO B1 (1) (PC)-IAB-OAB根据PC访问内存。 RC B2,B3 CI,GI(2)(M)-ODB-IDB-IR1取出本指令第一字节送IR1。 P+1,CK(3) (PC) + -PCIPC加1,为取本指令下一字节准备。 PCO B1(4)(PC)-IAB-OAB根据PC访问内存。 RC B2,B3 CL
22、(5)(M)-ODB-IDB-IR2取出本指令第二字节(即addr低8位)送IR2。 P+1,CK(6)(PC) + -PCIPC加1,为取下一指令字节准备。 OI LP(7) I2,I1,I0(IR2)-IAB-PC由IR1低3位和IR2的8位形成转移地址送程序计数器PC。其中(1)(2)必须同一拍;(4)(5)也必须同一拍;(7)单独一拍;(3)可以单独一拍或和(1)(2)合一拍;(6)是冗余操作。具体方案如下:T0(第一拍):(1)(2)(3)T1(第二拍):(4)(5)(6)T2(第三拍):(7)1.4确定微操作控制信号及实现方法本设计阶段任务是综合实验计算机指令系统各指令执行流程中涉
23、及到的微操作控制信号,统计总共需多少个微操作控制信号,每个信号的有效性,决定这些信号中哪些由软件(微指令)直接产生,哪些需用硬件(TTL)实现。1、ALU的操作控制信号Cn、M、S3、S2、S1、S0可由某6位微指令码直接控制;运算器模块中暂存器TMP的操作控制信号CT和OT也都是电平有效,故也可用某两位微码控制。2、内存的读控制信号RC宜采用负脉冲,以保证内存读取数据的可靠性:可以用“与非”门实现 RC=/(Mi*) 或者用“或”门实现 RC=Mi+/ 若采用式,则Mi为“1”有效;若采用式,则Mi为“0”有效;3、累加器A(74198)的操作至少需要X0、X1和CA 3个控制信号,其中XO、X1是电平有效,CA是电平正跳变有效。我们不妨把CA固定接(后沿有效),XO、X1分别由微码Mi、Mj控制;指令寄存器IR1(74377)的接数有GI和CI两个控制信号。当GI为“0”且CI电平正跳时IR1接数。我们可把CI固定接(后沿
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1