




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
黄冈师范学院课程设计报告课程名称: 计算机组成原理 设计题目: 复杂模型机的设计与实现 系 别: 计算机科学与技术 专 业: 计算机科学与技术 组 别: 第四组 学生姓名: 张建芬 姜婷 李群 学 号: 2 1 3 起止日期: 2010年3月7日 2010年4月10日 指导教师: 关玉蓉 教研室主任: 汤恒耀 一、课程设计目的综合运用所学计算机组成原理知识,深刻理解计算机系统各模块的工作原理及相互联系,熟悉设计与调度计算机的基本步骤及方法,培养科学研究的独立工作能力,设计并实现较为完整的计算机,取得工程设计与组装调试的初步实践经验。二、课程设计步骤1确定设计目标确定所设计计算机的功能和用途。2确定指令系统确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式,并给出具体的编码,比如指令的操作码,地址码等的位数及各种编码的含义。3确定总体结构(寄存器、加法器、选择器的设置与数据通路的设计)总体结构设计包含确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。对于部件设置,比如要确定运算器部件采用什么结构,控制器是微程序控制还是硬联控制等。综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。4设计指令执行流程数据通路确定后,就可以设计指令系统中每条指令的执行流程。根据指令的复杂程度,确定每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。5确定微程序地址确定后续微地址的形成方法,确定每个微程序地址及分支转移地址。6微指令代码化根据微指令格式,将微程序流程中的所有微指令代码化。首先写出每个微地址以及该地址对应的微指令代码(共24位二进制信息),如下表所示:其中:微地址表示控制存储器的地址,后面的24位表示微指令。然后将每个微地址和对应的微指令转换成16进制,并写在一行,格式为:$M*,前面2个*表示该微指令的在微控制器中的地址,后面6个*表示该微指令代码。如上述表中的四条微指令写成:$M:表示在控制存储器地址00h处的代码是h。$M0101ED82:表示在控制存储器地址01h处的代码是01ED82h。$M0200C048:表示在控制存储器地址02h处的代码是00C048h。$M0300E004:表示在控制存储器地址03h处的代码是00E004h。7编写工作程序并代码化编写测试用的工作程序,并写出内存映像,用二进制表示。然后代码化用16进制来表示,格式为:$P*,前面2个*表示该内存的地址,后面2个*表示该地址的数据。例如:$P0044:表示在内存地址00h处的数据是44h。$P0146:表示在内存地址01h处的数据是46h。8联机操作文件的建立为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:(A)测试用的工作程序排在文件的前面,每个内存地址及代码占一行;(B)微指令代码排在文件的后面,每个微地址及微指令代码占一行;例如,下面是一个实验的文件(文件名:sample.txt):$P0044$P0146$P0298$M$M0101ED82$M0200C0509连接实验线路根据实验线路图连接实验线路。10下载工作程序和微程序将工作程序和微程序下载到实验箱的内存和控制存储器中。启动系统自带软件后使用F4装载进行下载;在菜单中选择转储/装载进行下载。11调试在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。可以使用控制台命令SWA、SWB的不同取值,或使用联机软件检查内存程序是否正确,微程序是否正确。当所有功能模块都调试正常后,进入总调试。可以使用单步微指令方式执行工作程序,也可以直接使用连续方式执行程序。在执行过程中,可以通过联机软件的数据通路图查看信息在计算机中的传送路径,更有利于掌握数据的通路结构。这样也可以直接验证程序和微程序的正确性。如果运行结果不正确,需要返回来修改程序或微程序,每次修改后,需要重新完成第10步,将程序和微程序下载到实验箱中。三、实验设备CCTIV计算机组成原理教学实验系统一台,排线若干。四、数据格式及指令系统1数据格式模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下: 76 5 4 3 2 1 0符号 数 据其中,第7位为符号位,数值表示范围是:-1X1。2指令格式模型机设计4大类指令共16条,其中包括算术逻辑指令、IO指令、访问及转移指令和停机指令。 (A)算术逻辑指令设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 43 2 1 0OP-CODE RsRd其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:9条算术逻辑指令的名称、功能和具体格式。 (B)访问指令及转移指令模型机设计2条访问指令,即存数(STA)、取数(LDA);2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 43 2 1 00 0MOP-CODERd D其中,OP-CODE为操作码, Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:寻址方式 有效地址 说 明 00 01 10 11 E=D E=(D) E=(R2)+D E=(PC)+D直接寻址间接寻址R2为变址寻址相对寻址(C)输入输出指令7 6 5 43 2 1 0OP-CODEaddrRd其中,addr=01 时,选中“INPUT DEVICE”中的开关组作为入设备,addr=10时,选中OUTPUT DEVICE中的数码快作为输出设备。(D)停机指令格式如下: 7 6 5 4 3 2 1 0OP-CODE0 0 0 0这类指令只有1条,即停机指令HALT。3指令系统本模型机共有16条基本指令。其中,算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其他它指令1条。表5列出了各条指令的格式、汇编符号、指令功能。五、总体设计本模型机的数据通路如图23所示。根据机器指令系统要求,设计微程序流程图及确定微地址,如图24所示。按照图18所示的微指令格式参照指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码转换为联机操作时的十六进制格式文件。 表5 指令系统编码序号 汇编符号 指令格式 功能说明 1CLR Rd0111 00 Rd0Rd 2MOV RS,Rd1000 RS RdRSRd 3ADC RS,Rd1001 RS RdRsRdCyRd 4ABC RS,Rd1010 RS RdRsRdCyRd 5INC Rd1011 - RdRd1Rd 6AND RS,Rd1100 RS RdRsRdRd 7COM Rd1101 00 Rd RdRd 8RRC RS,Rd1110 00 RdRd带进位右循环一位,RSRd 9RLC RS,Rd1111 Rs RdRd带进位左循环一位,RSRd10LDA M,D, Rd00 M 00 Rd,DERS11STA M,D, Rd00 M 01 Rd,DRdE12JMP M,D00 M 10 00,DEPC13BZC M,D00 M 11 00,D当CY=1或或=1时,EPC14IN addr, Rd0100 01 RdaddrRd15OUT addr, Rd0101 10 RdRdaddr16HALT 0110 00 00 停机实验程序如下:程序助记符$P0044IN01,R0 $P0146IN01,R2 $P0298ADC R2,R0 $P0381MOVR0,R1 $P04F5RLC R1,R1 $P050CBZC00,00 $P0600程序的思想如下:此程序是输入两个数据相加,首先将输入一个数到R0寄存器,然后输入另外一个到R2寄存器,完成后将时局送ALU单元执行ADC操作,ADC为带进位的加法,所以结果是在ADD的基础上又多加了一个CY(进位标志),ADC完成后结果送到R0寄存器,然后MOVE命令将R0中的数送到R1,然后送显示器显示,接着BZC跳转,判断是否循环执行,如ADC加法中产生了进位,CY=1,则送显后立即JMP指令回到微程序的01步,即回到ADC继续执行带进位的加法,一直循环,否则停机。微程序中,当A9=0,A8=0时,选中Y0; 当A9=0,A8=1时,选中Y1; 当A9=1,A8=0时,选中Y2; 当A9=1,A8=1时,选中Y3 ;$M0D00A00E$M0E01B60F$M0F95EA25$M1001ED83$M1101ED85$M1201ED8D$M1301EDA6$M$M$M$M173D9A01$M$M1901A22A$M1A01B22C$M1B01A232$M1C01A233$M1D01A236$M1E$M1F$M$M $M2205DB81 $ME4 $M$M2595AAA0 $M2600A027$M2701BC28$M2895EA29$M2995AAA0$M2A01B42B$M2B959B41$M2C01A42D$M2D65AB6E$M2E0D9A01$M2F01AA30$M300D8171$M31959B41$M32019A01$M3301B435$M3405DB81$M35B99B41$M360D9A01$M$M$MA$M3A$M3B070A08$M3C068A09 微程序 $M $M0101ED82 $M0200C050 $M0300A004 $M0400E0A0 $M0500E060 $M0600A007 $M0700E0A0 $M0801ED82$M0901ED8C$M0A00A03B$M0B$M0C00203C微指令解释:根据流程图以10H的指令开始,A9,A8为1,1即为选中Y3,不做任何操作,A,B,C字段为010,000,011,表示LDAR,PC-B,LDPC有效(附录图3说明),即是PC-AR,PC+1,后续地址为03H。03指令中A9,A8为0,1为选中Y1,Y1与WE相连表示存储器工作,A,B,C字段为010,000,011,表示选中LDDR1和P(3),P(3)为进行判断,若有进位则后续地址为30H,没有则后续地址为20H。30指令中A,B,C字段为101,101,110表示LOAD,ALU-B,LDPC有效,将DR1中的数据输入到PC中,即DR1-BUS-PC,后续地址为01H,继续执行ADC六、实验步骤1按图25连接实验线路,仔细查线无误后,接通电源。图23 复杂模型机数据通路图2写微程序。与PC联机,将实验微程序装入CCTIV实验机中或脱机时手动将本实验微程序写入CCTIV中。手动写入的具体方法如下; (A) 编程 将编程开关置为PROM(编程)状态。 将实验板上STATE UNIT中的STEP置为“STEP”,STOP置为“RUN”状态。 用二进制模拟开关置微地址A5A0 (如图22须将此六线排针接开关单元)。 在MK24MK1开关上置微代码,24位开关对应24位显示灯,开关量为“0”时灯亮,开关量为“1”时灯灭。 启动时序电路(按动启动按纽START),即将微代码写入到E2PROM 2816的相应地址对应的单元中 重复步骤,将本实验给出的十六进制格式文件转换的二进制代码写入2816。 (B)校验 将编程开关设置为READ(校验)状态。 将实验板的STEP开关置为“STEP”状态,STOP开关置为“RUN”状态。 用二进制开关置好微地址A5A0。 按动START键,启动时序电路,读出微代码观察显示灯MD24MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于PROM编程状态,重新执行(A)即可。(C)写程序 方法一;手动写入。使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。 使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。 拨动总清开关CLR(01),微地址寄存器清零,程序计数器清零,然后控制台SWB、SWA开关置为“0 1”,按动一次启动开关START,微地址显示灯显示“”,再按动一次START,微地址灯显示“”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为00H,以后每个循环PC自动加1,所以,每次按动START,只有在微地址灯显示“”时,才设置内容,直到所有机器指令写完。 写完程序后须进行校验。拨动总清开关CLR(01)后,微地址清零。PC程序计数器清零,然后使控制台开关SWB,SWA为“0 0”,按动启动START,微地址灯将显示“”;再按START,微地址灯显示为“”;第3次按START,微地址灯显示为“”;再按START后,此时输出单元的数码管显示为该首地址中的内容。不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。每次在微地址灯显示为“”时,是将当前地址中的机器指令写入到输出设备中显示。方法二:联机读写程序。使用软件中的F4LOAD功能装入机器指令格式文件或F2 _ RW PR功能逐条写入。3运行程序。 (A)单步运行程序 使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。 拨动总清开关CLR(01),微地址清零,程序计数器清零,程序首址为00H。 单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。图24 复杂模型机微程序流程图图25 复杂模型机实验接线图 (B)连续运行程序 使STATE UNIT中的STEP开关置为“EXEC”状态,STOP开关置为“RUN”状态。 拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。 (C)联机运行程序进入DEBUG调试界面,总清开关CLR(01)清零后,程序首址为00H,按相应功能键即可联机运行、调试程序。(软件使用说明请看10.8),采用单步或连续运行方式执行机器指令,参照机器指令及微程序流程图,将实验现象与理论分析比较,验证系统执行指令的正确性。4测试与结果分析。测试数据:第一组R0=FEH R2=01H; 第二组R0=FFH R2=01H;结果为: 第一组FF;第二组02。结果分析:两组数据主要是有进位与没有进位之间的差别,第一组数据FE+01=FF,R0和R1中的数据相加后没有产生进位,因此CY=0,Z=0输出结果后,BZC指令就会直接跳转到HLT执行停机操作,使程序终止;第二组数据为FF+01,结果为00,产生一个进位,因此CY=1,Z=1,BZC 的条件成立,跳转到02继续指令执行;并且ADC会将上次的进位带入相加,所以结果是00+01+CY=02,继续执行ADC到BZC时会因为没有产生进位,使程序终止运行。7、 课程设计总结与体会 通过这次课程设计,基本上了掌握了复杂模型机的设计与实现。与此同时,进一步的了解了计算机系统各模块的基本工作原理、各部件之间的设计与连接、微程序控制器的设计、微指令和微程序的编制与调试等过程。加深了对计算机组成原理理论课程以及上学期实验的巩固。通过小组成员对该课程设计实验的共同设计,对实验的基本原理掌握得还比较好。即在部件实验过程中,各部件单元的控制信号是人为模拟产生的,实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令功能。此时,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成。在对微程序指令的编写过程中,对程序执行的流程以及指令之间的跳转的规律有了更深的理解,能够根据指令的复杂程度而确定出每条指令所需要的机器指令周期数,能够根据流程图和机器指令写出相应微程序,对简单模型机里的数据流向图也有了一定的理解,能看懂根据自己编写的微程序在模型机上的一步步流向,对ADD,ADC,BZC,RLC等指令的运用更加熟悉,对它们微程序的一步步流程也有了清晰的认识,通过对机器指令和微指令的分析和编写,理解了指令代码所对应的功能。能够根据计算机的速率、性能价格比、可靠性等要求设计合理的数据通路。本次实验里的微程序均由自组员根据流程图及机器指令编写,正确完成了题目的要求。 本次课程设计中,在各部分的设计中都花费了不少时间,特别是在微程序的调试时花费的时间最多。首先必须对功能模块进行组装和分调,只有各模块工作正常后才能进行总调。在手动输入微程序指令的时,正确无误的写出各条机器指令的二进制代码也是一个难点,根据电路图连接线路也要多加注意。这就要求我们在操作时必须细心谨慎。在检错时,通过观察模型机上的操作流向来检查错误收获较大,模型机能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CNSS 007-2021易食食品
- 2025云南临沧市华旭幼儿园招聘7人备考考试题库附答案解析
- 2025贵州湄潭县城镇公益性岗位第三期招聘备考考试题库附答案解析
- 2025年9月广东中山市坦洲投资开发有限公司招聘2人考试参考试题及答案解析
- 2025年蚌埠五河县县直机关幼儿园招聘备考考试题库附答案解析
- 2025年合肥庐江县择优招聘部分紧缺学科临聘教师35名备考考试题库附答案解析
- 2025年阜阳市市直机关公开遴选公务员27名备考考试题库附答案解析
- 2025秋统编版(五四制)(2018)语文第四单元测试卷(附参考答案)
- 2026中建四局国际公司校园招聘备考考试题库附答案解析
- 掌握语文学习秘籍
- 2025-2030中国低因咖啡豆行业营销策略及销售规模预测报告
- 情感计算伦理边界-洞察及研究
- 《交通基础设施防灾减灾导论》全套教学课件
- 器械UDI码管理制度
- 第2课《中国人首次进入自己的空间站》课件
- 网络工程师的网络取证与证据收集试题及答案
- T/CACM 1552-2023中医慢性非传染性疾病管理技术通则
- 《家具设计》课件
- 国有融资担保公司笔试真题解析
- 提高VTE护理措施落实率
- 动物药理课件
评论
0/150
提交评论