计算机组成原理课程设计基本模型机的设计——不带进位的与或运算指令的实现.doc

上传人:仙人指路1688 文档编号:2882306 上传时间:2023-03-01 格式:DOC 页数:16 大小:216.50KB
返回 下载 相关 举报
计算机组成原理课程设计基本模型机的设计——不带进位的与或运算指令的实现.doc_第1页
第1页 / 共16页
计算机组成原理课程设计基本模型机的设计——不带进位的与或运算指令的实现.doc_第2页
第2页 / 共16页
计算机组成原理课程设计基本模型机的设计——不带进位的与或运算指令的实现.doc_第3页
第3页 / 共16页
计算机组成原理课程设计基本模型机的设计——不带进位的与或运算指令的实现.doc_第4页
第4页 / 共16页
计算机组成原理课程设计基本模型机的设计——不带进位的与或运算指令的实现.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《计算机组成原理课程设计基本模型机的设计——不带进位的与或运算指令的实现.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计基本模型机的设计——不带进位的与或运算指令的实现.doc(16页珍藏版)》请在三一办公上搜索。

1、课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位:题 目: 基本模型机的设计不带进位的与或运算指令的实现初始条件: 理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。 实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。2、根据课程设计题目的要求,编制实验所需的程序,

2、上机测试并分析所设计的程序。3、课程设计的书写报告应包括: (1)课程设计的题目。 (2)设计的目的及设计原理。 (3)根据设计要求给出模型机的逻辑框图。 (4)设计指令系统,并分析指令格式。 (5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。 (6)模型机当中时序的设计安排。 (7)设计指令执行流程。 (8)给出编制的源程序,写出程序的指令代码及微程序。 (9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中与或运算指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。 (10)课程设计总结(设计的特点

3、、不足、收获与体会)。时间安排: 周一:熟悉相关资料。 周二:系统分析,设计程序。 周三、四:编程并上实验平台调试 周五:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日1设计的题目基本模型机的设计不带进位的与或运算指令的实现2设计的目的及设计原理 2.1设计目的:1分析阶段:在掌握已学的知识的基础下,充分运用数字逻辑,汇编语言,以及计算机组成原理的理论知识。通过对计算机的基本组成原理,核心部件的设计与构成,以及部件间的连接方式,设计合理的指令系统, 编制相应指令的微指令与微程序,编制一个不带进位的与或运算的程序。2设计阶段:根据自己已掌握的微指令的知识,将分

4、析阶段的与或运算转换成相应的有微指令组成的微程序。3验证阶段:将编写程序的运算结果与实际结果进行对比,验证程序设计的是否正确。2.2设计原理:在计算机中所有的运算都是通过CPU来实现的,CPU根据指令的格式分别实现对应不同的功能。而每一个指令都对应一段由微指令构成微程序,而微指令又是由多个微命令组成,每一个微命令指示对应的硬件完成相应的任务。通过这样的一种联系来组织计算机硬件来完成所要执行的指令。本次试验中,模型机从内存中取出指令,分析指令,执行指令。在时序的调节与微程序的控制下,完成一条机器指令,最后通过机器指令的逐步完成,从而实现不带进位的与或运算。3模型机的逻辑框图运算器由2片74L18

5、1构成8位字长的ALU单元。2片74LS374作为2个数据锁存器(DR1、DR2),8芯插座ALU-IN作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。数据输入锁存器DR1的EDR1为低电平,并且D1CK有上升沿时,把来自数据总线的数据打入锁存器DR1。同样使EDR2为低电平、D2CK有上升沿时把数据总线上的数据打入数据锁存器DR2。(模型机的框图如下图所示)4设计指令系统与指令格式4.1指令系统设计:此次实验涉及的指令有以下几种:MOV A, #data 将立即数传递到将累加器A中;ORL A,#data 将累加器A和立即数相或,结果送入累加器A中;MOV RI,#dat

6、a 将立即数传递到寄存器RI中;SUB A,RI 将累加器A中的内容减去寄存器RI中的内容,结果送入累加器A;ANL A,#data 将累加器A和立即数相与,结果送入累加器A中;STA addr 将寄存器中内容写入存储器中;HALT 停机指令;指令系统如下表:指令助记符指令功能指令编码微周期微操作取指指令T0PC-地址总线-RAMRAM-数据总线-IR1MOV A,#dataDataA5FT0T1RAMDBUSA取指指令ORL A,#data(A)或dataACFT0T1T2T3ADBUSDR1RAMDBUSDR2ALUDBUSA取指指令MOV RI,#dataDataA6CT0T1RAMDB

7、USRI取指指令SUB A,RI(A-RI) A1CT0T1T2T3ADBUSDR1RIDBUSDR2ALUDBUSA取指指令ANL A,#data(A)或dataADFT0T1T2T3ADBUSDR1RAMDBUSDR2ALUDBUSA取指指令STA addr(A)addr8FT0T1T2RAMDBUSIR2IR2地址总线,ARAM取指指令HALT停机FFT0停机4.2指令格式分析:指令一般由地址码和操作码组成,如下所示:操作码地址码 此实验所涉及指令的格式如下:MOV指令采用单字节指令,其格式如下:7 6 5 43 21 0操作码Adata ORL逻辑或指令采用单字节指令,其格式如下: 7

8、 6 5 43 21 0操作码Adata ANL逻辑与指令采用单字节指令,其格式如下: 7 6 5 43 21 0操作码Adata STA取数据指令,其格式如下:7 6 5 43 21 0操作码 data addr停机指令(HALT),其格式如下:7 6 5 43 21 0操作码 5设计微程序及其实现的方法5.1微指令格式的设计:微指令的一般格式如图所示:判别测试下地址操作控制顺序控制5.2后续微指令的产生方法:由于本系统中指令系统的功能比较简单,所以可以采用微指令全水平、不编码的方式,及每一个微操作控制信号由一位微代码来表示,24位微代码可以表示24个不同的微操作控制信号。在本系统中,MLD

9、为置微地址的控制信号,MCK为工作脉冲。当MLD=0、MCK有上沿时,把MD0MD7的值作为微程序的地址,打入微地址寄存器。当MLD=1、MCK有上升沿时,微地址计数器自动加1。5.3微程序入口地址的形成:本实验平台的硬件设计采用的是24位微指令,微指令采用全水平不编码的格式,可产生24个微操作控制信号。由于模型机指令系统规模较小,功能较简单,可由微代码直接实现。在模型机内,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0-MD7。这种方法称为“按操作码散转”(如下表所示)。微程序首地址形成MD7MD6MD5MD4MD3MD2MD1MD00017161514待添加的隐藏文字内容21

10、1按操作码散转指令操作码微程序首地址MD7、MD6I7I6I5I4MD1、MD0MD7MD0000001003H000011007H00010100BH00011100FH001001013H001011017H00110101BH00111101FH010001023H010011027H01010102BH01011102FH011001033H011011037H01110103BH01111103FH6模型机时序的设计安排由于微指令采用全水平不编码的格式,微程序的入口地址采用操作码散转方式,所以可确定模型机中时序单元中所产生的每一拍的作用。为了更好地观察实验的各个中间过程中各寄存器的值

11、,由监控单元产生一个PLS-O的信号来控制时序产生。PLS-O信号经过时序单元的处理产生了4个脉冲信号。4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。PLS0:微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。PLS1:PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计器(如跳转指令)等功能。PLS2:把24位微指令打入3片微指令锁存器PLS3:把当前总线上的数据打入微指令选通的寄存器它们的时序图如下图所示:7设计指令执行流程 在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。

12、而一条指令共需几个机器周期取决于指令在机器内实现的复杂程度。对于微程序控制的计算机,在设计指令执行流程时,要保证每条微指令所含的微操作的必要性和合理性,还应知道总线的IAB,IDB,OAB,ODB仅是传输信息的通路,没有寄存信息的功能,而且必须保证总线传输信息时信息的唯一性。以下描述取微指令执行周期:在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令锁存器输出无效。在处于停机状态时,脉冲PLS1对微地址寄存器(74LS161)无效,微地址寄存器保持为零。脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机置为运行状态,使微程

13、序锁存器输出有效。PLS3把微程序储存器00H单元中的内容打入指令寄存器中。在模型机处于运行状态时,脉冲PLS1将微地址寄存器(74LS161)加一,脉冲PLS2将PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。PLS4把当前总线上的数据打入当前微指令所选通的寄存器。对于此次实验每条指令的执行流程如下:周期微操作指令助记符T0T1T2T3取指微指令PC-地址总线-RAMRAM-数据总线-IR1 MOV A,#dataRAM数据总线A取指微指令 ORL A,#dataA数据总线DR1RAM数据总线DR2ALU数据总线A取指微指令MOV RI,#data RAM数据总线R

14、I取指微指令 SUB A,RIA数据总线DR1RI数据总线DR2 ALU数据总线A 取指微指令ANL A,#dataA数据总线DR1RAM数据总线DR2ALU数据总线A取指微指令STA addrRAM数据总线IR2IR2地址总线,ARAM取指微指令 HALT停机 8编制源程序,程序的指令代码及微程序8.1源程序:MOV A,#25ORL A,#35MOV R0,#10SUB A,R0ANL A,#45STA 30HALT 8.2程序的指令代码:内存地址指令助记符指令码或立即数说明00HMOV A,#255FH立即数25HA01H25H02HORL A,#35CFH(A) ORL 35A03H3

15、5H04HMOV R0,#106CHAR005H10H06HSUB A, R01CH(A-R0)A07HANL A,#45DFH(A) ANL45A08H45H09HSTA 308FH将A的内容写入RAM地址30H0AH30H0BHHALTFFH停机8.3微程序:MOV A,#25 : 00004D,FF,FF 取指指令 0017DD,FB,FF DbusAORL A,#35: 00184D,FF,FF 取指指令 0033FF,FC,FE ADbusDR1 0034DD,FF,7E RAMDbusDR2 0035FF,FB,BE ALUAMOV R0,#10: 00364D,FF,FF 取指指

16、令 001BFF,BD,FF RAMDbusRISUB A,R0 : 001C4D,FF,FF 取指指令 0007FF,7B,FF ADbusDR1 0007FF,7B,FF RIDbusDR2 0007FF,7B,FF ALUDbusAANL A,#45: 000A4D,FF,FF 取指指令 0037FFFCFB ADbusDR1 0038DDFF7B RAMDbusDR2 0039FFFBBB ALUASTA 30 : 003A4DFFFF 取指指令 0023D5FFFF DbusIR2 0024BBFDFF IR2Dbus; ADbusRAMHALT : 003E4DFFFF 取指指令

17、0003FFFDFFF 停机9说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中与或运算指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。9.1编制程序中与或运算指令的时序分析:将25存入累加器A中的时序图25与35进行逻辑或运算的时序图:上次运算结果减去10的时序图:上次运算结果与45进行逻辑与运算的的时序图:将最终结果保存到RAM地址的时序图:调试窗口如图所示:9.2累加器A和有关寄存器、存储器的数据变化以及数据流程:MOV A,#25数据流程:RAM-DBUS-A 执行后,A中数据值为25H,其他寄存器值无效ORL A,#35数据流程:ADBUSD

18、R1,RAMDBUSDR2,ALUDBUSA 执行后,A中的值为35H,DR1中数据值为25H,DR2中数据值为35H, 其他寄存器值不变MOV R0,#10数据流程:RAM-DBUS-R0 执行后,R0中数据值为10H,A中值不变,其他寄存器值无效SUB A, R0数据流程:A-DBUS-DR1,R0-DBUS-DR2,ALU-DBUS-A 执行后,A中值为25H,DR1中数据值为35H,DR2中数据值为10H,ANL A,#45 数据流程:A-DBUS-DR1,R0-DBUS-DR2,ALU-DBUS-A 执行后,A中值为05H,DR1中数据值为25H,DR2中数据值为45H, 其他寄存器

19、值不变STA 30数据流程:A-RAM 执行后,内存地址为30H的单元中值为05HHALT 停机10课程设计总结 在此次计算机组成原理的课程设计实验中,通过自己对计算机组成原理、汇编语言以及数字逻辑等课程知识的掌握与运用,在HKCPT软件平台上设计几个数的逻辑与或运算并成功地实现了设计的要求。虽然此次课程设计获得成功,但仍然暴露出自己不少的知识盲点,比如一条指令对应的多个微指令,每条微指令又起到的作用以及每条指令的流程周期变化等等,自己以前没有弄懂的地方。通过这次课程设计弥补了自己这方面的不足,加深了自己对知识结构的了解,掌握知识的运用,真是受益匪浅。这次设计的这个实验由于本身很简单,因此我也

20、没有设计很复杂的代码,不过它依然很清楚地反映了不带进位的逻辑与或的运算特点,完全符合设计要求。通过此次实验,首先,自己更一步熟悉和了解指令、微指令等等相关的一些基本知识以及与此次实验所连接到的其它科目的一些知识;其次,自己切身体会到这次课程设计实验是不同与我们之前所做的一些小实验,是对所学的计算机组成原理知识的一次综合运用;再次,这次实验进一步加深了我对此实验平台的理解和运用,同时也使我了解到了它的漏洞和缺点;当然,通过这次课程设计更使自己明白,要善于运用所学的知识运用到实际操作中,加强自己动手动脑的能力,加强独立思考分析的能力并以此检验所学知识的牢固、扎实。总而言之,在以后的学习生活中,自己必需加强自己的动手能力以及综合思考能力。11参考文献1计算机组成原理,主编:薛胜军,出版社:武汉理工大学出版社,出版或修订时间:2003.11 2计算机组成原理学习指导与实验,主编:薛胜军、谈冉,出版社:武汉理工大学出版社,出版或修订时间:2006.103 计算机组成原理,主编:薛胜军,出版社:华中科技大学出版社,出版或修订时间:2005.54 计算机组成原理,主编:白中英,出版社:科学出版社,出版或修订时间:2000.5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号