硬件课程设计报告_基于RISC处理器结构的模型机
实验一 简化的RISC_CPU设计

5、状态控制器
指令周期是由8个时钟组成,每个时钟都要完成固定的操作: 第6个时钟:空操作。此时如果操作为STO,datactl_ena 为1;如果操作为ADD,ANDD,XORR和LDA,则rd为 1,否则个控制信号全为0; 第7个时钟:若操作符为SKZ且累加器值为0,则PC值再 增1(即inc_pc变为1),跳过一条指令,否则PC无变化。
3
2、 什么是CPU
CPU即中央处理单元的缩写,它是计算机的核 心部件。计算机进行信息处理可分为两个步骤: (1)将数据和程序(即指令序列)输入到计算机 的存储器中; (2)从第一条指令的地址起开始执行该程序,得 到所需结果,结束运行。
4
2、 什么是CPU
CPU的作用是协调并控制计算机的各个部件并 执行程序的指令序列,使其有条不紊地进行。因此 它必须具有以下基本功能: • 取指令:当程序已经在存储器中时,首先根据程 序入口地址取出一条程序,为此要发出指令地址及 控制信号。 • 分析指令:即指令译码,这是对当前取得的指令 进行分析,指出它要求什么操作,并产生相应的操 作控制命令。 • 执行指令:根据分析指令时产生的“操作命令”形 成相应的操作控制信号序列,通过运算器、存储器 及输入/输出设备的执行,实现每条指令的功能,其 中包括对运算结果的处理以及下条指令地址的形成。
18
模块3
累加器
19
模块三 累加器
累加器用于存放当前的结果,它也是双目运算 中的一个数据来源; 复位后,累加器的值是零; 当累加器通过ena口收到来自CPU状态控制器 load_acc信号时,在clk1时钟正跳沿时就收到来自 于数据总线的数据。
20
模块4
算数运算器
21
模块四 算术运算器
计算机组成原理课程设计报告(基本模型机设计与实现)

本科生课程实习学生姓名学生学号所在专业所在班级指导教师职称时间成绩目录一、课程设计题目 (2)二、课程设计使用的实验设备 (2)三、课程设计内容与步骤 (2)1、所设计模型机的功能与用途 (3)2、数据通路图 (4)3、微代码定义 (4)4、微程序流程图 (5)5、微指令二进制代码 (6)6、本课程设计机器指令 (7)7、模型机的调试与实现 (7)(1)接线图 (7)(2)写程序 (8)(3)运行程序 (8)四、总结 (9)参考文献 (9).一、课程设计题目基本模型机设计与实现二、课程设计使用的实验设备TDN-CM计算机组成原理教学实验系统一台,排线若干三、课程设计内容与步骤不见实验过程中,各部件单元的控制信号是认为模拟产生的,而本次课程实习将能在为程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本课程设计采用六条机器指令:IN(输入)、AND(与运算)、DEC(自增1)、STA(存数)、OUT(输出)、JMP(无条件跳转),其指令格式如下:其中IN、DEC为单字长,其余为双字长指令,********为addr对应的二进制地址码。
1、所设计模型机的功能与用途本次课程设计设计的模型机包括六条指令,输入、与运算、自增、存数、输出、无条件跳转。
利用此模型机可完成两个数的与运算,一个数从键盘输入,另个数从内存中读取,再将运算结果自增1,把最后结果保存到内存中,并且将运算结果输出2、数据通路图3、微代码定义C字段A字段B字段4、微程序流程图控制程序流程图当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试;控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,共三路分支。
5、微程序设计完毕后,将每条微指令代码化,将流程图转化为二进制代码表6、本课程设计机器指令7、模型机的调试与实现(1)接线图(2)写程序A、现将机器指令对应的微代码正确写入2816中。
实验五:基于RISC处理器构成模型机实验

实验五基于RISC处理器构成模型机实验
一、实验目的
1.理解硬布线控制器的工作原理。
硬布线控制器由时钟模块,编码模块,译码模块构成。
硬布线控制器当执行不同的机器指令时,通过激活一系列彼此很不相同的控制信号来实现对指令的解释。
2.理解RISC指令系统定义。
3.理解RISC指令周期流程图。
实验类型:
综合
实验内容:
1.调入RISC模型机的机器指令。
并编译。
2.观察编译好的二进制代码。
3.以单拍方式运行,注意观察以下部件,PC,E/M,DBUS,IR。
以及dais开发环境中数据的流通。
实验报告:
1.总结本次RISC模型机的机器指令类型。
2.描述实验过程。
可以拍照,dais开发环境中的执行过程。
3.和复杂模型机对比,指出各自的优缺点。
计算机硬件课程设计--复杂模型机设计报告

计算机硬件课程设计--复杂模型机设计报告硬件课程设计复杂模型机设计报告一.实验目的:经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,这在硬件方面是一个提高,进一步培养实践能力。
二.实验内容:搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。
三.实验思路:1、确定设计目标:确定所设计计算机的功能和用途。
2、确定指令系统:确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。
3、确定总体结构与数据通路:总体结构设计包含确定各部件设置以及它们之间的数据通路结构,列出各种信息传送路径以及实现这些传送所需要的微命令。
4、设计指令执行流程:数据通路确定后,就可以设计指令系统中每条指令的执行流程。
根据指令的复杂程度。
每条指令所需要的机器周期数。
对于微程序控制的计算机,根据总线结构,需要考虑哪些微操作可以安排在同一个微指令中。
5、确定微程序地址:根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。
6、根据微指令格式,将微程序流程中的所有微操作进行二进制代码化,写入到控制存储器中的相应单元中。
7、组装、调试:在总装调试前,先按功能模块进行组装和分调,因为只有功能模块工作正常后,才能保证整机的运行正确。
四.实验原理:1.指令系统及指令格式:指令系统包括:算术逻辑运算指令、访存指令、控制转移指令、I/O指令、停机指令。
一般指令格式:OP-CODE RS RDDATA/ADDR00 M OPCODE RDDATA/ADDR指令系统如: ADD RS,RD MOV DATA,RDMOV RS,[ADDR] JZ ADDRIN RD HALT其中RS 、RD为R0、R1、R2中之一,DATA 为立即数,ADDR为内存地址。
2.微指令格式:WE A9 A80 0 0 INPUT0 0 1 RAM读1 0 1 RAM写1 1 0 LED,写接口0 1 1 无0 1 0 写接口3.微程序地址入口的形成:P(1)是用来译码指令寄存器的I7、I6、I5、I4 ,用于一般指令,微程序入口址为OP+10HP(2)是用来译码指令寄存器的I3、I2 ,用于不同寻址方式指令,入口地址转OP+20HP(3)是用来译码判断标志位C、Z ,用于条件转移指令,条件成立转OP+30H,条件不成立转OP+20HP(4)是用来译码控制台操作的SWB、SWA ,用于手动操作。
计算机组成原理课设报告(设计一台嵌入式CISC模型机)

计算机组成原理课程设计(论文)说明书题目:设计一台嵌入式CISC模型机系别:专业:学生姓名:学号:一.CISC 模型机数据通路框图总体设计如下二.操作控制器的逻辑框图外部时钟 复位信号指令寄存器IR三.模型机的指令系统3.1指令系统3.2本模型机中的指令系统中共有10条基本指令,下表列出了每条指令的格式、汇编符号和指令功能。
说明:①对Rs 和Rd 的规定:②模型机规定数据的表示采用定点整数补码表示,单字长为8位,其格式如下:3.3设计时序产生器电路T1、T2、T3、T4与CLR 、Q 之间的关系图四.微程序流程图Q CLR T1 T2 T3 T400五.编写汇编语言源程序由给出的题目(范例)和设计的指令系统编写相应的汇编语言源程序。
算法思想为:采用R0寄存器存放从开关输入的任意一个整数,R1存放准备参加累加运算的奇数,R2存放累加和,用一个循环程序实现如下:MOV R3,0MOV R2,0MOV R1,5L2:IN1 R0Test R0JS L1L3:INC R2CMP R2,R1JB L2L4:OUT1 R3JMP L4L1:CMP R0,R3JB L3MOV1 R0,R3JMP L3六.机器语言源程序根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序,并将其设计到模型机中的ROM中去。
与3.3.8中汇编语言源程序对应的机器语言源程序如下:助记符地址(十六进制)机器代码功能MOV R3,O 00 0001 0011 0→R3010000 000MOV R2,0 02 0001 0010 0→R203 0000 0000MOV R1,5 04 0001 0001 5→R105 0000 0101L2:IN1 R0 06 0000 0000 (SW) →R0Test R0 07 0111 0000 80H-ACJS L1 08 1000 0000 若SF=1 L1→PC09 0001 0001L3:INC R2 0A 0100 0010 (R2)+1→R2CMP R2,R1 0B 0110 1001 (R2)-(R1)JB L2 0C 1001 0000 L2→PCOD 0000 0110L4:OUT1 R3 0E 0011 1100 (R3)→LEDJMP L4 0F 0101 0000 L4→PC10 0000 1110L1:CMP R0,R3 11 0110 0011 (R0)-(R3)JB L3 12 1001 0000 L3→PC13 0000 1010MOV1 R0,R3 14 0010 0011 R0→R3JMP L3 15 0101 0000 L3→PC16 0000 1010七.机器语言源程序的功能仿真波形图及结果分析;输入数值: 85,05,83,87,89输出结果: 89结果分析:05是正数,判断为负直接跳出,83<85<87<89所以 89最大,与仿真波形图结果相同八.故障现象和故障分析1.问题:为微程序流程图分配首地址时出现错误,导致不能正确译码。
计算机硬件基于微程序的复杂模型机课程设计报告

硬件课程设计报告——基于微程序的复杂模型机设计硬件课程设计报告——基于微程序的复杂模型机设计一、硬件课程设计目的经过一系列硬件课程的学习及相关实验之后,做一个综合的系统性设计,这在硬件方面是一个提高,可进一步培养实践能力。
二、硬件课程设计内容搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。
三、指令系统列表采用的一般指令格式为:7 4 3 2 1 0四、微操作流程图R1->BUSR1->BUS BUS->DR2 R1->BUS BUS->DR2 R1->BUS五、验证程序IN R0MOV R1,05HADD R1,R0MOV R1,[R0]SUB R0,R1JNZ P1MOV [R0],R0AND R0,R1P0: OUT R0P1: OR R0,R1JMP P0六、机器指令及微程序机器指令如下:$P0000 ; IN R0$P0121$P0205 ; MOV R1,05H$P0354 ; ADD R1,R0$P0441 ; MOV R1,[R0]$P0531 ; SUB R0,R1$P0660$P0731 ; JZ(JC)$P0870 ; MOV[R0],R0$P0984 ; AND R0,R1$P0A10 ; OUT R0$P3132 ;JZ(YES)$P3294 ;OR R0,R1$P33A0$P340A ;JMP微指令如下:$M00018001 ;00→01$M0101ED82 ;PC→AR,PC+1$M0200C050 ;RAM→BUS,BUS→IR,P(1)$M10001001 ;INPUT→R0$M1201ED83 ;PC→AR,PC+1$M03009001 ;RAM→BUS,BUS→R1$M1301A404 ;R0→BUS,BUS→DR1$M0401B205 ;R1→BUS,BUS→DR2$M05619A01 ;DR1减DR2→R0$M1401E206 ;R0→BUS,BUS→AR$M06000901 ;RAM→BUS,BUS→R1$M1501A407 ;R1→BUS,BUS→DR1$M0701B208 ;R0→DR2,BUS→DR2$M08959B41 ;DR1加DR2→R1$M1601ED89 ;PC→AR,PC+1$M0900E0E0 ;RAM→BUS,BUS→AR,P(3)$M3000D181 ;RAM→BUS,BUS→PC$M20018001 ;空操作$M1701E20A ;R0→BUS,BUS→AR$M0A028401 ;R0→BUS,BUS→RAM$M1801A40B ;R0→BUS,BUS→DR1$M0B01B20C ;R1→BUS,BUS→DR2$M0CB99A01 ;DR1DR2→R0$M1901A40D ;R0→BUS,BUS→DR1$M0D01B20E ;R1→BUS,BUS→DR2$M0EE99A01 ;DR1+DR2→R0$M1A01ED8F ;PC→AR,PC+1$M0F00D181 ;RAM→BUS,BUS→PC$M11030201 ;R0→OUTPUT七、实验截图八、心得体会实验总体来说还是比较容易的,就是在输入微程序和老师的测试程序时比较费力,弄不好又要重新输入(后来听说可以使用软件直接烧制)。
硬件课设-微型复杂模型机

南京理工大学硬件课程设计(I)实验报告学院:计算机科学与工程学院专业:计算机科学与技术姓名:姜茜学号:912106840208姓名:付艳荣学号:912106840109一、课程设计目的综合运用所学计算机原理知识,设计并实现较为完整的计算机。
经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,这在硬件方面是一个提高,进一步培养实践能力。
二、课程设计要求搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令等,并且有各种不同的寻址方式。
数据格式及指令系统1、数据格式模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:其中第7位为符号位,数值表示范围是:-1≤X<1。
2、指令格式模型及设计三大类指令共十五条,其中包括运算类指令、控制转移类指令、数据传送类指令。
指令系统应包括:算术逻辑运算指令、访存指令、控制转移指令、I/O指令。
指令格式如下:所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT 和 MOV)格式如下:其中,OP-CODE 为操作码,RS为源寄存器,RD为目的寄存器,并规定:IN和 OUT 的指令格式为:其中括号中的 1 表示指令的第一字节,2 表示指令的第二字节,OP-CODE 为操作码,RS为源寄存器,RD 为目的寄存器,P 为 I/O 端口号,占用一个字节。
系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址。
其中M 为寻址模式,具体见下表,以 R2 做为变址寄存器 RI。
三、课程设计内容1、指令系统列表2、微操作流程图序号 汇编指令OP-CODERS RD P/D 功能1 IN R0,P 0000 / 00 P 从端口P 输入数据到R02 MOV R0,R2 0001 00 10 / 将R0寄存器值移动至R1寄存器3 ADD R1,R0 0010 01 00 / R0+R1值送到R14 SHL R0 0011 / 00 / R0值左移一位5LOAD R0,[R2+5] 0100 00 [R2+15] /将R0的值放到[R2+15]的内存地址空间6 AND R0,R1 0101 00 02 / R0,R1逻辑与送到R17 JMP 0BH 0110 / / / 跳转指令,跳到0BH 处8 OUT P,R0 0111 00 / P 把R0数据输出到端口P9 INC R1 1000 / 01 / R1寄存器值自增110 STORE [40H],R0100100[40H]/将R0的值存入内存的40H 单元3、微程序列表//** Start Of MicroController Data **//$M 00 000001 $M 01 006D42 $M 02 107050 //IN 指令$M 03 106004 $M 04 183001 //MOV 指令$M 06 00B401 //ADD 指令$M 08 002409 $M 09 04B201 //SHL 指令$M 0B 03B201NOPPA-〉AR PC+1-〉ARMEM-〉P<1>P->A RI/O-> R0R0->R2R0-.>ALU -AA+B->R 1A+B->R 1左移一位R0-.AL U-APC->AR PC+1->MEM-.>AL U-A R1->ALU-BR0-.>ALU -AA+B->R1MEM->R0PC->AR PC+1->R1->ALU-P->A RMEM->PCPC->AR PC+1->PR0->I/OA+1->R1MEM->ARR0->MEM$M 0C 002413//LOAD指令$M 0D 00980E$M 0E 006D4F$M 0F 10A020$M 20 04E221$M 21 10B001//AND指令$M 23 002424$M 24 013201$M 25 200626//JMP指令$M 26 105141//OUT指令$M 28 106029$M 29 280401//INC指令$M 2B 06B201//STORE指令$M 2D 006D6E$M 2E 10602F$M 30 006D44$M 31 001606$M 32 001607$M 33 001609$M 34 001410$M 35 001612$M 36 006C14$M 37 006C15$M 38 006D57$M 39 006D5A$M 3A 006D60$M 3B 006D50$M 3C 006D5C$M 3D 006D5E$M 3E 006D68$M 3F 006D6C; //** End Of MicroController Data **// 4、验证程序//***** Start Of Main Memory Data *****// $P 00 00(1)IN R0,P 从端口P输入数据到R0$P 01 00(2)MOV R0,R2 将R0寄存器值移动至R2寄存器$P 02 12(3)ADD R0,R1 R0+R1值送到R1$P 03 21(4)SHL R0 R0值左移一位$P 04 30(5)LOAD [R2+5] ,R0 将[R2+5]的值放到R0的内存地址空间$P 05 40$P 06 0F(6)AND R0,R1 R0,R1逻辑与送到R1$P 07 51(7)JMP 0BH 跳转指令,跳到0BH处$P 08 60$P 09 0B(8)OUT P,R0 把R0数据输出到端口P$P 0B 70$P 0C 47(9)INC R1 R1寄存器值自增1$P 0D 85(10)STORE [40H],R0 将R0的值存入内存的40H单元$P 0E 90$P 0F 40; //***** End Of Main Memory Data *****//四、课程设计总结从最开始做实验,我们就逐渐体会到了硬件课设的魅力所在,首先接线方面稍不留意就会造成打错,所以对我们严谨求实的态度有了新的要求,同时也对计算机这门学科有了新的认识:软件与硬件的统一、程序与电路的融合。
计算机硬件课程设计报告--基于微程序的复杂模型机设计

计算机硬件课程设计报告--基于微程序的复杂模型机设计硬件课程设计报告——基于微程序的复杂模型机设计一、实验目的经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,这在硬件方面是一个提高,进一步培养实践能力。
二、实验内容搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。
三、设计思路1.确定设计目标:确定所设计计算机的功能和用途。
2.确定指令系统:确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。
3.确定总体结构与数据通路:总体结构设计包含确定各部件设置以及它们之间的数据通路结构,列出各种信息传送路径以及实现这些传送所需要的微命令。
4.设计指令执行流程:数据通路确定后,就可以设计指令系统中每条指令的执行流程。
根据指令的复杂程度。
每条指令所需要的机器周期数。
对于微程序控制的计算机,根据总线结构,需要考虑哪些微操作可以安排在同一个微指令中。
5.确定微程序地址:根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。
6.根据微指令格式,将微程序流程中的所有微操作进行二进制代码化,写入到控制存储器中的相应单元中。
7.组装、调试:在总装调试前,先按功能模块进行组装和分调,因为只有功能模块工作正常后,才能保证整机的运行正确。
四、指令系统列表指令系统应包括:算术逻辑运算指令、访存指令、控制转移指令、I/O指令、停机指令。
一般指令格式:模型机的指令系统:四、 微操作流程图0POAD JM STORLOAMOV00六、实现程序$P0030 $P0140 $P0201 $P0335 $P0450 $P0511 $P0625 $P0760 $P0861 $P0955 $P0A90 $P0B90 $P0C80$P0D03$P0E70$P0F00$P1080$P1101$P1240$P1300七、微指令$M00018001 $M0101ED82 $M0200C050 $M1301ED85 $M0500E006 $M06009001 $M10019201 $M1101A203 $M0301B404 $M04959A01 $M1201ED87 $M0700E008$M08028201 $M1601A209 $M0901B40A $M0A699A01 $M1531820B $M0B11880C $M0C019801 $M1401ED8D $M0D00D181 $M1901ED8E $M0E009001 $M1701ED8F $M0F00E020 $M20011001 $M1801EDA1 $M2100E022 $M22030201八、截图Read r0Mov r0,r1Read r1Add r0,r1Xor r0,r1Rcl r1Mov 90h,r0Out r003HIn r0 00hOut r0 01hJmp 00h九、心得体会硬件课程设计,从开始做的时候一片迷茫,到通过请教同学和查询书本而一点点的变清晰,再到最后自己做出来感觉很有成就感。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件课程设计报告姓名:学院:计算机科学与技术专业:网络工程时间:2010年12月17日题目:基于RISC处理器结构的模型机一、设计目的随着计算机技术要求的不断发展,为增强计算机系统的功能,简化编译器的工作量,更好的改善计算机的性能,减少系统的辅助开销,提高计算机的运行速度和效率,计算机结构设计者一直在致力研究为系统结构提供更好的硬件支持。
设计RISC及其一般遵循以下原则:1、确定指令系统时,选取使用频率最高的一些简单指令,以及很有用但不复杂的指令。
2、指令长度固定,指令格式限制在1-2种之内,大大减少指令系统的寻址方式,一般不超过2种。
3、大部分指令在一个及其周期内完成。
4、只有取、存指令可以访问存储器,其他指令的操作一律在寄存器间进行,大大增加寄存器的数量。
5、一硬布线控制为主,很少户不用微程序控制。
6、特别重视编译优化工作,支持高级语言的实现。
二、设计内容与要求1、选用使用频率比较高的五条基本指令:MOV ADD STORE LOAD JMP,成功执行后添加一条指令,如:SUB。
2、寻址方式采用寄存器寻址级直接寻址两种方式。
3、指令格式采用单字长级双字长两种格式。
4、设计不采用微程序,在CPLD中设计控制逻辑。
单字长指令格式:操作码RS RD双字长指令格式:操作码RS RDADDR其中RS RD为不同状态,则选中不同的寄存器:RS或RD 寄存器00 R001 R110 R211 AC指令系统如下:MOV RS, RDADD RS,RDJMP RSLOAD [ADDR] ,RDSTORE RS,[ADDR]MOV ADD JMP三条指令为单周期执行完成,STORE LOAD两条指令为两周期执行完成,ADDR为存或取数的直接地址。
第一及其周期完成取操作码、作标记;第二机器周期完成取直接地址并完成取数或存数。
5、CPLD芯片设计顶层模块电路图(top.sch)6、RISC模型机的连线图三、设计原理目前在RISC处理机中主要采用如下的技术:1、延时转移技术在RISC处理机中,指令一般采用流水线方式工作。
取指令和执行指令并行运行。
如果取指令和执行指令需要一个周期,那么,在正当情况之下,每个周期就能执行完一条指令。
人后,在遇到转移指令时,流水就有可能断流。
由于转移的目的地址要在指令执行完后才能产生,这是下一条指令已经取出来了,因此,必须把取出来的指令作废,并按照转移地址重新取出正确的指令。
为解决上述问题,可以使比一期自动调整指令序列,在转移地址后插入一条有效的指令,而转移指令好像被延迟执行了,这种技术成为延迟转移技术。
2、重叠寄存器窗口技术由于RISC程序中有很多的CALL和RETURN指令,因而在执行CALL指令时,必须保存现场,另外,还要把执行子程序的参数从主程序中传输出去,在执行RETURN指令时,要把保存的结果传输加主程序。
为了尽量减少访问存储器的次数,在RISC处理机中采用重叠寄存器宣传品技术。
3、硬连实现为主,微程序固件为辅主要采用硬联逻辑来实现指令系统,对于那些必须的少量的复杂指令,可以采用微程序实现。
微程序便于实现复杂指令,便于修改指令系统,增强了机器的灵活性和适应性,但执行速度低。
4、强调优化编译系统设计编译器必须努力优化寄存器的分配和使用,提高寄存器的使用效率,减少访问存储器的次数,为了使RISC处理机中的流水线高效率的工作,尽量不断流,编译器不必分析所放弃的数据流和控制流,当发现有可能断流时,要调整指令序列,对有些可以通过流量重新命名来消除数据相关的,要尽量消除,这样,可以提高流水线的执行效率,缩短程序的执行时间。
四、设计结果及分析1、指令执行流程2、RISC数据通路3、ABEL程序的基本格式Module 模块名//模块开始[title '标题说明'][Declarations] //说明部分[器件名device '器件的工业标号' ;][低层模块名INTERFACE(输入->输出);][例化名FUNCTIONL_BLOCK 低层模块名;]信号名, 信号名pin [引脚号, 引脚号] [istype '属性' ];信号名, 信号名node [istype '属性' ];[常量说明语句;][集合的定义;][宏定义语句;]//逻辑关系描述部分Equations //逻辑方程[truth-table(输入变量-> 输出变量) 真值表;][state-diagram(状态变量) 状态图描述;][test-vectors(输入变量-> 输出变量) 测试向量表;] //测试向量部分end 模块名//模块结束[MODULE低层模块名]……4、PLD的ABEL程序MODULE PLDT1,T2,T3,T4 PIN ;I7,I6,I5,I4,I3,I2,I1,I0 PIN ;PC_B, ALU_B ,CS,WR PIN ;LD,LDAR,LDAC,LDIR,LDPC PIN ;CLR, R0_B,R1_B,R2_B PIN ;LDDR, LDR0,LDR1,LDR2 PIN ;MOV,ADD,JMP,LOAD,STA NODE ISTYPE 'COM' ;RS_B, LDRi NODE ;F NODE ISTYPE 'REG';EQUATIONSMOV=!I6&!I5&!I4;ADD=!I6&!I5&I4;JMP=!I6&I5&!I4;LOAD=!I6&I5&I4;STA=I6&!I5&!I4;F.AR=CLR;F.CLK=!((LOAD#STA)&T4);F:=!F.FB;PC_B=(!T1&!(LOAD&T3)&!(STA&T3))#F;CS=(!T2&!F)#(!T1&!(T2&LOAD)&!(T3&STA)&F);LDIR=T3&!F;LDPC=!T2&!(JMP&T3);LDDR=(!ADD&T4);ALU_B=!(ADD&T4);WR=!(T3&STA&F);LD=!(JMP&(T3#T4))#F;LDAR=T2#LOAD&T4&!F#STA&T4&!F;RS_B=((!(MOV&T3)&!(ADD&T3)&!(JMP&(T4#T3)))&!F)#(!(STA&T3)&F);LDRi=(!(MOV&T3)&!(ADD&T4)#F)&(!(LOAD&T2)#!F);R0_B=RS_B#I3#I2;R1_B=RS_B#I3#!I2;R2_B=RS_B#!I3#I2;LDAC=LDRi#!I1#!I0;LDR0=LDRi#I1#I0;LDR1=LDRi#I1#!I0;LDR2=LDRi#!I1#I0;END5、操作步骤(1)在ispDesignEXPERT系统中建立RISC设计项目,包括顶层模块原理图(top.sch),PLD 子模块程序,经编译,将生成的JED文件下载至CPLD芯片ispLSI1032中。
ispEXPERT使用提示a、建立新设计项目选File->New project->命名b、选择器件在source in project表中双击器件名->选择1K、1032、60、84PLCCc、添加源文件选中器件->选SOURCE的NEW->选AEL_HDL或chematicd、编译、仿真选中源文件->双击右边的Compile logic->选中测试向量文件->双击Compile Test Vectors ->双击Functional Smulation->单击“!”(2)按所给的接线图连接线路。
(3)用所设计的指令系统,编写一段机器指令程序。
(4)运行CMPP20进行联机,进入软件界面,将上述程序装载到实验系统的RAM中。
(5)装载机器指令后,选择RISC通路图,按相应功能键即可联机运行、监控、调试程序。
(6)修改顶层模块电路图(top.sch),添加一条指令SUB。
修改后图如下:6、测试程序$P0030 LOAD [40],R0 [40]->R0$P0140$P0203 MOV RO,Ac R0->Ac$P0310 ADD Ac,R0 R0+Ac->R0$P0440 STORE RO,[0A] R0->[0A]$P050A$P0630 LOAD [41],R0 [41]->R0$P0741$P0820 JMP R0 R0->PC$P4034$P4100五、对这个设计题目的评价该实验连线较复杂,需要仔细与耐心,首次使用ABEL语言、ispEXPERT软件,能使学生对ABEL语言有一定了解,并熟悉ispEXPERT软件的应用,对进一步学习起到启蒙作用。