1、计算机组成原理课程设计指导计算机组成原理与系统结构课程设计指导书(Ver 1.0)陈媛 黄贤英 计算机科学与工程学院2004年11月目 录一、课程设计的目的 3二、模型机的设计步骤 3三、实验装置 5四、设计题目 5五、课程设计任务及要求 16六、考核办法 16七、附录 17附录1(数据通路): 17附录2(系统连线参考图) 18附录3 (微指令格式) 20附录4(译码电路) 20附录5 控制台命令 21一、课程设计的目的通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。二、模型机的
2、设计步骤设计一台完整的计算机,大致需按如下的顺序来考虑:1. 确定设计目标确定所设计计算机的功能和用途。2. 确定指令系统确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式,并给出具体的编码,比如指令的操作码,地址码等的位数及各种编码的含义。3. 确定总体结构(寄存器、加法器、选择器的设置与数据通路的设计)总体结构设计包含确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。对于部件设置,比如要确定运算器部件采用什么结构,控制器是微程序控制还是硬联控制等。综合考虑计算机的速率、性能价格比、可靠性等要求,设计合
3、理的数据通路结构,确定采用何种方案的内总线及外总线。数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。4. 设计指令执行流程数据通路确定后,就可以设计指令系统中每条指令的执行流程。根据指令的复杂程度,确定每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。5. 确定微程序地址确定后续微地址的形成方法,确定每个微程序地址及分支转移地址。6. 微指令代码化根据微指令格式,将微程序流程中的所有微指令代码化。首先写出每个微地址以及该地址对应的微指令代码(共24位二进制信息),如下表所示:其中:微
4、地址表示控制存储器的地址,后面的24位表示微指令。然后将每个微地址和对应的微指令转换成16进制,并写在一行,格式为:$M*,前面2个*表示该微指令的在微控制器中的地址,后面6个*表示该微指令代码。如上述表中的四条微指令写成:$M00018110:表示在控制存储器地址00h处的代码是018110h。$M0101ED82:表示在控制存储器地址01h处的代码是01ED82h。$M0200C048:表示在控制存储器地址02h处的代码是00C048h。$M0300E004:表示在控制存储器地址03h处的代码是00E004h。7 编写工作程序并代码化编写测试用的工作程序,并写出内存映像,用二进制表示。然后
5、代码化用16进制来表示,格式为:$P*,前面2个*表示该内存的地址,后面2个*表示该地址的数据。例如:$P0044:表示在内存地址00h处的数据是44h。$P0146:表示在内存地址01h处的数据是46h。8 联机操作文件的建立为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:a、 测试用的工作程序排在文件的前面,每个内存地址及代码占一行;b、 微指令代码排在文件的后面,每个微地址及微指令代码占一行;例如,下面是一个实验的文件(文件名:sample.txt):$P0044$P0146$P0298$M00018108$M01
6、01ED82$M0200C0509连接实验线路根据附录2的实验线路图连接实验线路,其中第1题和第2题用图2(简单模型机的连线图)连线,第3题和第4题用图3(复杂模型机的连线图)连线。10下载工作程序和微程序使用唐都软件将工作程序和微程序下载到实验箱的内存和控制存储器中。其中,自带电源线的实验箱用NCMP53软件,启动软件后使用F4装载进行下载;外接电源线的实验箱用CMPP软件,启动软件后在菜单中选择转储/装载进行下载。11调试在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。可以使用控制台命令SWA、SWB的不同取值,或使用联机软件检查内存程序是否正
7、确,微程序是否正确。当所有功能模块都调试正常后,进入总调试。可以使用单步微指令方式执行工作程序,也可以直接使用连续方式执行程序。在执行过程中,可以通过联机软件的数据通路图查看信息在计算机中的传送路径,更有利于掌握数据的通路结构。这样也可以直接验证程序和微程序的正确性。如果运行结果不正确,需要返回来修改程序或微程序,每次修改后,需要重新完成第10步,将程序和微程序下载到实验箱中。三、实验装置TDN-CM+计算机组成原理教学实验系统一台,排线若干。四、 设计题目题目一:设计一台模型计算机,实现下列指令系统,并通过给定的工作程序验证上述指令系统。本设计实现的模型机共包含五条机器指令:IN(输入)、A
8、DD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):助记符机器指令码(二进制)说明微程序的入口地址(八进制)IN00000000“INPUT DEVICE”中的开关状态R010(取指令后续微指令默认地址为10)ADD addr00010000 XXXXXXXXRO+addrR011STA addr00100000 XXXXXXXXROaddr12OUT addr00110000 XXXXXXXXaddrLED13JMP addr01000000 XXXXXXXXaddrPC14其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为add
9、r对应的二进制地址码。控制台命令的微程序流程如下(01为取指微指令的地址):本设计的验证程序的内存映象(装入起始地址00H)如下:地址(二进制)内容(二进制)助记符说 明0000 00000000 0000IN将输入数据送R0寄存器0000 00010001 0000ADD OAH0000 00100000 1010RO+0AHR00000 00110010 0000STA 0BH0000 01000000 1011R00BH0000 01010011 0000OUT 0BH0000 01100000 10110BHLED0000 01110100 0000JMP 010000 1000000
10、0 000101HPC0000 10010000 10100000 0001输入自定的数据0000 1011求和结果的存储单元测试数据为:FEH题目二:设计一台模型计算机,实现下列指令系统,并通过下列工作程序验证上述指令系统。本模型机共包含五条机器指令:IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):助记符机器指令码说明微程序的入口地址(八进制)IN00000000“INPUT DEVICE”中的开关状态R010(取指令后续微指令默认地址为10)ADC Imm00010000 XXXXXXXXRO+ Imm+cyR011ST
11、A addr00100000 XXXXXXXXROaddr12OUT addr00110000 XXXXXXXXaddrLED13JMP addr01000000 XXXXXXXXaddrPC14其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码或Imm所对应的二进制数据(补码形式)。控制台命令的微程序流程同1题。工作程序如下:地址 指令00 IN01 ADC 01H03 STA 0AH05 OUT 0AH07 JMP 01测试数据为:FEH题目三:设计一台模型计算机,实现下列指令系统,并用指定的工作程序验证上述指令系统。本模型机的指令系统及指令格式如下(
12、前4位为操作码):助记符号指令格式功能微程序入口地址(八进制)MOV rs,rd1000RsrdRsrd30ADC rs,rd1001RsrdRs+rd+cyrd31BZC00000000D当cy=1或z=1时,DPC否则,顺序执行20(取指令后续微指令默认地址为20)IN rd010001RdInput Device rd24OUT rd010110RdRd Output Device25HALT01100000停机26其中, rs为源寄存器,rd为目的寄存器,并规定:Rs或rd选定的寄存器000110R0R1R2控制台命令的微程序流程(注意控制台命令的微程序的入口地址,01为取指令微指令的
13、地址):工作程序如下:地址指令00IN R001IN R202ADC R2,R003MOV R0,R104OUT R105 BZC 0207HLT测试数据为两组:(1) R0=FE;R2=01H(2) R0=FF;R2=01H题目四:设计一台模型计算机,完成下列指令系统,并编写工作程序验证上述指令系统。本模型机共设计16条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。下表列出了各条指令的格式、汇编符号、指令功能。类型助记符号指令格式功能微程序入口地址(八进制)算术逻辑指令CLR rd011100rd0rd27MOV rs,rd1000RsrdR
14、srd30ADC rs,rd1001RsrdRs+rd+cyrd31SBC rs,rd1010RsrdRs-rd-cyrd32INC rd1011RdRd+1rd33AND rs,rd1100rsrdRsrdrd34COM rd1101Rdrdrd35RRC rs,rd1110RsRd36RLC rs,rd1111RsRd37访存指令LDA M, D, rd00M00RdDErd40STA M, D, rd00M01RdDRdE41程序控制指令JMP M,D00M1000DEPC42BZC00M1100D当cy=1或z=1时,EPC43输入输出IN addr, rd010001RdAddrrd
15、24OUT addr, rd010110RdRdaddr25其它HALT01100000停机26下面对各种指令格式加以说明:(1) 算术逻辑指令算术逻辑运算指令共9条,用单字节表示,寻址方式采用寄存器直接寻址,格式为:7 6 5 43 21 0OP-CODERsrd其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:Rs或rd选定的寄存器000110R0R1R2(2) 访存指令及程序控制指令模型机设计两条访存指令,即存数(STA)、取数(LDA),两条转移指令,即无条件转移指令(JMP)、结果为0或有进位转移指令(BZC),指令格式为:7 65 43 21 000MOP-C
16、ODErdD其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用),D为位移量(正负均可),M为寻址模式,其定义为:寻址模式M有效地址E说明微程序入口00011011E=DE=(D)E=(RI)+DE=(PC)+D直接寻址间接寻址RI变址寻址相对寻址20212223 变址寻址寄存器指定为寄存器R2。(3) 输入/输出指令输入输出指令均采取单字节指令,其格式如下:7 6 5 43 21 0OP-CODEaddrrd其中,addr=01时,选中“Input Device”中的开关组作为输入设备,addr=10时,选中“Output Device”中的数码显示作为输出设备。(4
17、) 停机指令用于实现停机操作。测试用的工作程序如下:IN 01,R0IN 01,R2ADC R2, R0MOV R0, R1RLC R1, R1OUT R1BZC 00, 00HLT题目五:选做:用CPLD设计并行加法器(1)、实验原理使用大规模可编程逻辑器件(CPLD)来设计实现一个4位的并行进位加法器。传统的数字系统设计只能通过设计电路板来实现系统功能,而采用可编程逻辑器件,则可以通过设计芯片来实现系统功能,从而有效地增强设计的灵活性,提高了工作效率。并能够缩小系统体积,降低能耗,提高系统的性能和可靠性。实验系统中采用的器件是Lattice公司的ispLSI1032芯片,isp芯片具有“在
18、系统可编程功能”,这种功能可随时对系统进行逻辑重构和修改,而且只需要一条简单的编程电缆和一台PC机就可以完成器件大编程。IspLSI1032芯片的等效逻辑门为6000门,具有128个宏单元,192个触发器和64个锁存器,共有84个引脚,其中64个为I/O引脚。IspLSI1032芯片的结构图如图5-1所示。图5-1 ispLSI1032芯片结构图对该器件的逻辑系统设计是通过使用硬件描述语言或原理图输入来实现的,硬件描述语言有ABEL、AHDL等多种语言,本节实现是使用原理图输入来编程的。下面是一个用原理入输入来设计一个4位并行加法器的例子。该加法器采用并行进位,有两组4位加法A3A0、B3B0
19、输入,4位本地和F3F0输出,一个低位进位C0输入及一个本地进位CY输出。系统采用ispDesignEXPERT软件来对可编程逻辑器件ispLS1032进行编程设计实现。IspDesignEXPERT可采用原理图或硬件描述语言或这两种方法的混合输入共三种方式来进行设计输入,并能对所设计的数字电子系统进行功能仿真和时序仿真。其编译器是此次软件所需要的熔丝图文件。该软件支持所有Lattice公司的ispLSI器件。(2)、实现步骤方法一:A、安装EDA软件打开计算机电源,进入WINDOWS系统,安装上述IspDesignEXPERT软件。安装完成后,桌面和开始菜单中则建有IspDesignEXPE
20、RT软件图标。B、建立新项目用鼠标双击该软件图标按钮,则出现建立新项目操作界面IspDesignEXPERT Project Navigator。在界面左上角File菜单中单击ew Project或单击坐上角“新建按钮,则出现界面Create New Project,在roject栏中输入ALU.syn,在Project type栏中选Schematic/ABEL,并单击“保存”按钮,则在Source in Project栏中建立了新的项目。双击第一行Untitled按钮并对该项目命名,在名称栏中填入_EX并单击按钮。双击第二行选择器件。根据实验系统中所使用的器件型号,例如对IspLSI103
21、2-70LJ这一器件,在amily栏中选ispLSI1K Device,在DEVICE栏中选IspLSI1032,在Speed Grade栏中选70,在Package栏中选84PLCC,单击OK按钮,再单击Yes按钮确定,则选定器件为IspLSI1032-70LJ84。C、输入编辑原理图单击界面左下角的New按钮,则出现界面New Source:(Schematic/ABEL),在其中选择Schematic,并单击OK按钮,则出现原理图编辑界面Schematic edit,输入模块名称ALU并单击OK按钮,就可在原理图编辑界面中输入加法器原理图了,见图5-2。输入逻辑图完成后,将其存盘并退出编
22、辑界面。图5-2 并行进位加法器逻辑原理图D、对源程序进行编译在左方Source in Project栏中选中第二行ispLSI1032-70LJ84,在右方Processes for Current Source栏中双击第七行JEDEC FILE按钮,则开始编译。如果编译正确,则生成可下载的文件JEDEC FILE,即使出现警告提示,也表明已成功生成了可下载文件。如果提示错误,则需修改程序,然后重新编译。E、连接下载电缆在打开PC机和实验系统的电源之前,将下载电缆的一端与PC机的打印口相连,另一端与实验系统中ispLSI1032器件编程接口相连。F、将JEDEC文件下载到ispLSI1032
23、首先打开实验系统的电源。在ispDesign EXP ERT软件界面菜单Tools中单击ispDCD按钮,则进入文件下载界面。在下载界面中,单击菜单Configuration中的Scan Board按钮或SCAN图标按钮,则出现扫描界面,其下方的信息显示已检测到ISP芯片电路。然后单击BROWSE按钮,在其中选择要下载的文件ALU.JED,并在Command菜单中,单击Run Operation in Sequential Mode按钮或Run Operation图标按钮,则进入文件下载过程。在进行下载时,实验系统下载电路的指示灯闪烁。下载完成后,界面下方显示下载过程是否正确的有关信息。G、连
24、接实验电路按图5-3连接实验电路,其中ispLSI1032的输入/输出引脚已在程序中定义。图5-3 并行加法器实验接线图H、验证所设计器件的逻辑功能本实验所设计的是一个4位并行进位加法器,实验中INPUT DEVICE单元的高4位为B3B0,低4位为A3A0,以总线单元的低4位B3B0发光二极管来显示运算结果,B7位来显示进位输出,而低位进位输入由一个开关AR来给出。使SWITCH UNIT单元中的开关SW-B=0(打开数据输出三态门),拨动INPUT DEVICE单元的输入开关置A和B的值,然后由总线单元的显示灯来观察运算结果。方法二:以上所设计的并行加法器在应用ispDesignEXPER
25、T软件时是以原理图输入形式来编程的,目的是为了让学生能更好地理解并行进位加法器的实现原理。为便于学生学习,这里以硬件描述语言编程,描写器件功能,下面用ABEL语言编程来实现上述加法器,步骤如下:a、建立新工程打开ispDesignEXPERT软件,建立一个新的目录来创建一个新的工程文件。在界面左上角File菜单中单击New Project或单击左上角“新建”按钮,则出现界面Create New Project,在Project栏中输入ALU2.syn,在Project type栏中选Schematic/ABEL ,并单击“保存”按钮,则在Sources in Project栏中建立了新的项目。
26、器件型号还是选ispLSI103270-LJ84。b、编辑源程序单击界面左下角的按钮New,则出现界面New Source:(Schematic/ABEL),在其中选择ABEL-HDL Module,单击OK按钮,则打开new ABEL-HDL source窗口,输入模块名称和文件名并单击OK按钮,就可在出现的源程序编辑界面中输入源程序了。输入完成后,将其存盘并退出编辑界面。上述并行加法器设计用ABEL语言来描述程序如下:MODULE aluTITLE 4 bit addr“InputsA4,A3,A2,A1 PIN 38,39,40,41;B4,B3,B2,B1 PIN 34,35,36,3
27、7;C0 PIN 52;“OutputsF4,F3,F2,F1 PIN 6,5,4,3;CY PIN 10;“VARA=0,A4,A3,A2,A1;B=0,B4,B3,B2,B1;C=0,0,0,0,C0;F=CY,F4,F3,F2,F1;“EQUATIONS“F=A+B+C;“ENDc、对源程序进行编译。d、将生成的JED文件下载至ispLSI1032芯片中。e、实验连线及实验操作步骤同上。五、课程设计任务及要求1、任务:在一周内至少正确完成3道题目。2、要求:1) 同学们在实验前应该认真准备实验,根据实验讲义和课堂上学到的知识写出机器指令程序和微程序代码,做实验时带上。若没预习,没有机器指
28、令程序和微程序代码,不准做实验。2) 每个题目完成后,回答实验指导老师的提问,由教师记录完成情况。3) 周五提交课程设计报告书,主要根据上述模型机设计步骤的要求,写出每一步骤的结果。重点阐述:A) 完善的微程序流程图(含所有机器指令和控制台命令的微程序流程图)。B) 全部十六进制微程序代码。C) 系统的功能测试方法(含助记符形式和二进制形式的机器指令程序和数据)、运行结果、结果分析、调试心得。六、考核办法课程设计成绩评定的依据有课程设计报告书、具体完成情况、答辩情况及课程设计考勤登记表,其中平时成绩占总成绩的20%。优:按要求完成4题或以上;有完整的符合标准的文档,文档有条理、有正确的微程序代码及工作程序代码,有正确的运行结果及结果分析;面试时概念正确、思路清晰、原理清楚、操作熟练、结果分析正确。良:完成4题,有完整
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1