计算机组成原理课设(多寄存器减法、右移位、输入输出、转移指令实验计算机设计)
- 格式:docx
- 大小:688.68 KB
- 文档页数:23
计组课程设计指令一、教学目标本章节的教学目标分为三个部分:知识目标、技能目标和情感态度价值观目标。
知识目标:通过本章节的学习,学生需要掌握计算机组成原理的基本概念、各个组件的功能和相互之间的关系,以及计算机系统的工作原理。
技能目标:学生能够熟练运用所学的知识,分析并解决计算机系统中的实际问题。
例如,能够根据具体需求,设计和优化计算机系统的硬件配置。
情感态度价值观目标:培养学生对计算机科学的兴趣和热情,增强其对新技术的敏感度和适应能力,使其认识到计算机技术在我国经济社会发展中的重要地位和作用。
二、教学内容本章节的教学内容主要包括计算机组成原理的基本概念、计算机系统的硬件组成、指令系统、中央处理器(CPU)的工作原理、存储器、输入输出系统等。
具体安排如下:1.计算机组成原理的基本概念:计算机系统的定义、计算机硬件和软件的分类及其相互关系。
2.计算机系统的硬件组成:中央处理器(CPU)、存储器、输入输出设备等。
3.指令系统:指令的格式、指令的分类、指令的执行过程等。
4.中央处理器(CPU)的工作原理:CPU的结构、指令的 fetch-decode-execute 过程、时钟周期、 pipelining 等。
5.存储器:内存、外存、存储器的层次结构、虚拟存储器等。
6.输入输出系统:I/O设备、中断、直接存储器访问(DMA)、输入输出控制器等。
三、教学方法本章节的教学方法采用讲授法、讨论法、案例分析法和实验法等多种教学方法相结合。
1.讲授法:通过教师的讲解,使学生掌握计算机组成原理的基本概念和理论知识。
2.讨论法:引导学生针对计算机系统的硬件组成、指令系统等方面的问题进行讨论,提高学生的思考和分析能力。
3.案例分析法:分析实际案例,使学生更好地理解计算机系统的工作原理和组成。
4.实验法:通过实验操作,让学生亲身体验计算机系统的硬件组成和指令执行过程,提高学生的实践能力。
四、教学资源本章节的教学资源包括教材、参考书、多媒体资料和实验设备等。
计算机组成原理课程设计1. 引言计算机组成原理是计算机科学与技术专业中一门重要的基础课程。
通过学习计算机组成原理,可以了解计算机的基本组成结构、工作原理和性能提升方法。
为了更好地掌握和应用所学知识,本文将介绍一项针对计算机组成原理课程的设计任务。
2. 任务描述本次课程设计任务要求设计一个简单的单周期CPU,实现基本的指令执行功能。
具体要求如下:•CPU的指令集包括加载(Load)、存储(Store)和算术逻辑运算(ALU)指令,需要支持整数加法、减法、乘法和除法运算。
•CPU需要具备基本的流水线功能,包括取指(Instruction Fetch)、译码(Decode)、执行(Execute)和写回(Write Back)。
•CPU需要支持基本的寄存器操作,包括寄存器读取(Register Read)和寄存器写入(Register Write)。
•CPU的指令和数据存储器使用单端口RAM,指令和数据的访问都需要经过存储器。
3. 设计思路针对上述需求,我们可以采用以下设计思路:3.1 CPU总体设计•CPU采用单周期结构,即每个指令都在一个时钟周期内完成。
•CPU主要分为指令存储器、数据存储器、寄存器文件和控制逻辑四个部分。
3.2 指令存储器设计•指令存储器采用单端口RAM,每个指令的长度为固定的32位。
•指令存储器需要实现读取指令的功能,每次从内存中读取一个指令。
3.3 数据存储器设计•数据存储器也采用单端口RAM,每个数据的长度为固定的32位。
•数据存储器需要实现读取数据和写入数据的功能,执行指令时需要从存储器中读取数据,计算结果需要写回存储器。
3.4 寄存器文件设计•寄存器文件包含若干个通用寄存器,用于存储指令执行过程中的临时数据。
•寄存器文件需要实现读取寄存器和写入寄存器的功能,执行指令时需要读取和写入寄存器。
3.5 控制逻辑设计•控制逻辑负责根据当前指令的操作码和操作数生成控制信号,控制CPU的工作流程。
计算机组成原理课程设计
计算机组成原理课程设计是计算机科学与技术专业的一门核心课程,其目的是帮助学生更深入地理解计算机的组成原理和工作原理,培养学生分析和设计计算机硬件的能力。
在这个课程设计中,我选择了设计一个简单的单周期CPU。
首先,我会设计CPU的指令集,包括处理器指令的类型、指
令格式、寻址方式等。
然后,根据指令集的要求,设计并实现CPU的控制器,控制指令的执行流程。
接着,我会设计并实
现CPU的数据通路,包括寄存器、ALU、存储器等组件,实
现指令的操作。
在设计过程中,我会遵循计算机组成原理的基本原理和设计原则,如冯·诺伊曼体系结构、指令周期、数据通路和控制单元
的相互协调等。
我会使用硬件描述语言,如VHDL或Verilog,进行设计,通过仿真和验证来测试设计的正确性。
同时,我还会考虑CPU的性能和效率,尽量优化各个部分的设计,以提
高CPU的运行速度和处理能力。
在设计完成后,我还会进行性能测试和功能验证,测试CPU
在不同工作负载下的性能表现,并根据测试结果对设计进行优化。
最后,我会编写报告,详细介绍我的设计思路、实现过程和测试结果,以及可能存在的问题和改进的方向。
通过这个课程设计,我将深入理解计算机组成原理的相关知识,并掌握CPU设计的基本方法和技术。
这对于我今后的学习和
工作都具有重要意义,不仅可以加深我对计算机硬件的理解,
还可以提高我的问题分析和解决能力,为我未来的研究和工作奠定坚实的基础。
计算机科学学院课程设计报告课程计算机组成原理题目用户输入数据的阶加年级2009级专业计算机科学与技术学号学生任课教师2012 年月日课程设计题目用户输入数据的阶加验收时间2012年2月28日验收地点指导教师小组成员具体分工备注无课题总体设计思想概述在TEC-2000教学计算机仿真软件系统的PC机上,用已有基本指令,运用已经掌握的指令格式、指令操作码编码、寻址方式和指令功能等基本内容,以及教学计算机总体组成和各部件的运行原理,完成扩展新的指令,使新指令能够在教学机上运行。
设计出新扩展指令的微程序段,合理安排到已有基本指令的微程序中。
课题设计目的和原理实验目的:(1)进一步熟悉教学计算机指令格式、指令编码、寻址方式和指令功能;(2)进一步熟悉教学计算机的总体组成和各部件的运行原理,理解指令的执行过程;(3)通过对指令系统的扩展,了解微程序控制器设计和实现的基本过程;(4)思考和讨论微程序控制器的特点并与组合逻辑控制器进行比较。
实验原理:指令由微控制命令组成,可以通过微地址找到。
通过更改下址可以把微程序串联起来。
通过封装组合把一段微程序写成一条扩展的新微指令。
课题设计方案实验方案设计:(一)根据题目内容,把题目转化成数学公式为:N+(N-1)+(N-2)+ (1)这个指令要求的指令之外首先把N的值放入r0寄存器中,结果也在r0中。
(二)实现N+(N-1)+(N-2)+···+1此计数公式的汇编程序为:org 2000hpush r8push r14mvrd r0,X (X为用户自定义的数)mvrd r8,Xmvrr r14,r5h:dec r8add r0,r8jrnz hpop r8pop r14retend(三)把以上程序封装在设置好的扩展指令中,扩展指令为zxd 00111001 46扩展指令的入口地址为38。
(四)根据扩展指令,修改好的新ROM地址单元,如下示:(五) 生成新的ROM 文件,并保存。
计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。
本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。
二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
通过该设计,我们可以掌握计算机系统的基本组成和工作原理,加深对计算机组成原理的理解。
三、设计方案1. CPU设计1.1 硬件设计CPU由控制单元和算术逻辑单元组成。
控制单元负责指令的解码和执行,算术逻辑单元负责算术和逻辑运算。
1.2 指令设计设计一套简单的指令集,包括算术运算指令、逻辑运算指令、数据传输指令等。
1.3 寄存器设计设计一组通用寄存器,用于存储数据和地址。
2. 存储器设计2.1 主存储器设计一块主存储器,用于存储指令和数据。
2.2 辅助存储器设计一个简单的辅助存储器,用于存储大容量的数据。
3. 输入输出设备设计3.1 键盘输入设备设计一个键盘输入设备,用于接收用户的输入。
3.2 显示器输出设备设计一个显示器输出设备,用于显示计算结果。
四、实施步骤1. CPU实现1.1 根据CPU的硬件设计,搭建电路原型。
1.2 编写控制单元的逻辑电路代码。
1.3 编写算术逻辑单元的逻辑电路代码。
1.4 进行仿真验证,确保电路的正确性。
2. 存储器实现2.1 设计主存储器的存储单元。
2.2 设计辅助存储器的存储单元。
2.3 编写存储器的读写操作代码。
2.4 进行存储器的功能测试,确保读写操作的正确性。
3. 输入输出设备实现3.1 设计键盘输入设备的接口电路。
3.2 设计显示器输出设备的接口电路。
3.3 编写输入输出设备的读写操作代码。
3.4 进行输入输出设备的功能测试,确保读写操作的正确性。
五、实验结果与分析通过对CPU、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。
计算机组成原理课程设计一、课程目的1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
2.为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机的概念。
二、课程内容1.课程原理部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次课程能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据同路的控制将由微程序控制来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本课程采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT (输出)、JMP(无条件跳转),其指令格式如下(前四位为操作码):助记符机器指令码说明IN 0000 0000 输入设备上的数据送入R0 ADDaddr 0001 0000 xxxxxxxx R0+[addr]→R0STA addr 0010 0000 xxxxxxxx R0→[addr]OUT addr 0011 0000 xxxxxxxx [addr] →BUSJMP addr 0100 0000 xxxxxxxx addr→PC其中IN为单子长(8位),其余为双字长指令,xxxxxxxx为addr为对应的二进制地址码。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须涉及三个控制台操作微程序。
存储器读操作(KRD):拨动总清零开关CLR后,控制台开关SWB、SW A为“0 0”时,按START微动开关,可对RAM连续手动读操作。
存储器写操作(KWE):拨动总清零开关CLR后,控制台开关SWB、SWA为“0 1”时,按START微动开关,可对RAM连续手动写入。
启动程序:拨动清零总开关CLR后,控制台开关SWB、SWA置为“1 1”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。
1、课程设计的题目基本模型机的设计——跳转、转移指令的实现2、设计的目的及设计原理2.1课程设计目的运用所学的知识,通过使用软件HKCPT掌握各个单元模块的工作原理将其组成完整的系统,并了解程序编译、加载的过程,以及通过微单步、单拍调试理解模型机中的数据流向。
此次课程设计主要目的有两个:其一,掌握各个单元模块的工作的原理,进一步将其组成完整的系统,构造一台基本的模型计算机;其二,是学会规划读/写内存、寄存器、数值计算等功能,并且编写相应的微程序,在具体上机的过程中,高度各个模块单元以便掌握整机的概念。
2.2课程设计原理计算机中CPU是核心,它的实现是通过指令和微指令实现的,指令对应一段微程序,而且微程序是用微指令来实现的,微指令是有几个微命令组成,从而能够保证指令的实现。
在本实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和之配合的微指令来实现的,即每条机器指令都对应一个微程序。
在各个模块实验中,各模块的控制信号都是由实验者手动模拟产生的。
而在真正的实验系统中模型机的运行是在微程序的控制下进行的,可实现指定的指令功能。
在本实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即1条机器指令对应一个微程序。
部件实验过程中,各部件单元的控制信号是以人为模拟产生为主,而这次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本实验采用五条机器指令:SUB(减法)、ADD(二进制加法)、STA(存数)、MOV(赋值)、JMP(无条件转移)、JC、RRC(循环右移)。
3、根据设计要求给出模型机的逻辑框图其中运算器由2片74L181构成8位字长的ALU单元。
2片74LS374作为2个数据锁存器(DR1、DR2),8芯插座ALU-IN作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。
计算机组成原理课程设计一、设计背景计算机组成原理是计算机科学与技术专业的一门基础课程,旨在培养学生对计算机硬件组成和工作原理的深刻理解。
通过课程设计,学生可以巩固和应用所学的知识,提高解决实际问题的能力。
二、设计目标本次计算机组成原理课程设计的目标是让学生通过实践,加深对计算机硬件组成和工作原理的理解,培养学生的设计和实现能力。
具体目标包括:1. 设计并实现一个简单的计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
2. 熟悉计算机指令系统的设计与实现,包括指令的编码、解码和执行过程。
3. 学会使用硬件描述语言(如VHDL)进行计算机硬件的设计和仿真。
4. 掌握计算机系统的性能评估方法,包括指令周期、时钟频率等。
三、设计内容本次计算机组成原理课程设计的内容为设计并实现一个简单的基于冯·诺依曼结构的计算机系统。
具体设计内容包括以下几个方面:1. 计算机系统的总体设计根据冯·诺依曼结构的原理,设计计算机系统的总体框架。
包括中央处理器(CPU)、存储器、输入输出设备等。
2. 指令系统的设计与实现设计并实现一个简单的指令系统,包括指令的编码、解码和执行过程。
指令集可以包括算术运算、逻辑运算、数据传输等常见指令。
3. 中央处理器(CPU)的设计与实现设计并实现一个简单的中央处理器,包括指令寄存器、程序计数器、算术逻辑单元等。
通过对指令的解码和执行,实现计算机的基本功能。
4. 存储器的设计与实现设计并实现一个简单的存储器模块,包括指令存储器和数据存储器。
通过存储器的读写操作,实现程序的加载和数据的存储。
5. 输入输出设备的设计与实现设计并实现一个简单的输入输出设备,如键盘和显示器。
通过输入输出设备,实现用户与计算机系统的交互。
6. 系统性能评估对设计的计算机系统进行性能评估,包括指令周期、时钟频率等指标的测量和分析。
通过性能评估,优化计算机系统的性能。
四、设计步骤本次计算机组成原理课程设计的步骤如下:1. 确定设计的整体框架和目标,明确设计的内容和要求。
计算机组成原理移位运算实验报告移位运算是计算机中非常基础的运算之一,用于将二进制数的位数进行移动。
移位运算可分为左移和右移两种,左移是将二进制数的位数向左移动,右移则是将二进制数的位数向右移动。
移位运算通常用于二进制数的乘除运算、数据压缩、程序优化等方面。
在本次实验中,我们将通过Verilog HDL 设计一个移位器,实现移位运算。
1. 实验原理和设计设计移位器需要对移位运算的原理有一定的理解。
在二进制数的移位运算中,移位的方向和位移的距离都是明确的,因此我们可以通过调整输入信号的位置,分别实现左移和右移。
具体实现方法可以采用逻辑门电路实现,也可以采用移位指令指令直接实现。
在本次实验中,我们采用逻辑门的实现方法。
移位器的设计主要分为以下几个步骤:1. 采用Verilog HDL 自定义输入端口和输出端口。
2. 采用逻辑门电路实现移位器,包括左移和右移两种方式。
3. 对移位器进行仿真调试,验证移位器的正确性。
以下是实验所采用的Verilog HDL 代码:module shifter(input [15:0] in_data,input [1:0] shift_direction,input [3:0] shift_distance,output [15:0] out_data);wire [15:0] shift_out;assign shift_out = shift_direction[0] ? (in_data << shift_distance) : (in_data >> shift_distance);assign out_data = shift_direction[1] ? (in_data << shift_distance) : (in_data >> shift_distance);endmodule代码中定义了4 个输入端口和一个输出端口,在输入端口中,`in_data` 为需要进行移位的二进制数,`shift_direction` 为移动方向(0 为右移,1 为左移),`shift_distance` 为移动的距离。
目录1课设目的 (1)2课设内容 (1)3课设计算机的设计 (1)3.1设计整机逻辑框图 (1)3.2指令系统的设计 (3)3.3微指令的格式设计及微操作控制部件的组成原理 (6)3.4微程序设计 (9)3.5编写调试程序 (12)3.6编写实验程序 (14)4实验计算机的组装 (15)5、实验计算机的调试 (18)5.1.调试前准备 (18)5.2.程序调试过程 (18)5.3调试结果 (19)5.4出错和故障分析 (21)5.4.1出错分析 (21)5.4.2故障分析查找 (21)5.4.3确认是否属故障 (22)5.4.4正确判断故障原因 (22)6心得体会 (22)7参考文献 (22)1课设目的(1)组成一个复杂的计算机整机系统—模型机,输入程序并运行;(2)了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程;(3)定义几条机器指令,编写相应微程序并具体上机调试.(4)完成多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计。
2课设内容利用EL-JY-II型计算机组成原理实验仪提供的硬件资源,通过设计(包括整机结构设计、指令设计、微程序设计、微指令设计、调试程序设计等)、组装、调试三个步骤完成台微程序控制的简单实验计算机的研制。
完成多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计。
3课设计算机的设计3.1设计整机逻辑框图本系统的结构组成为:1.基板:本部分是8位机和16位机的公共部分,包括以下几个部分:数据输入和输出,显示及监控,脉冲源及时序电路,数据和地址总线,外设控制课设电路,单片机控制电路和键盘操作部分,与PC机通讯的接口,主存储器,电源,CPLD课设板(选件),自由课设区(面包板)。
2.CPU板:本板分为8位机和16位机两种,除数据字长分别为8位和16位以外,都包括以下几个部分:微程序控制器,运算器,寄存器堆,程序计数器,指令寄存器,指令译码电路,地址寄存器,数据、地址和控制总线。
运算器:由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器、和状态条件寄存器组成,它是数据加工处理部件。
相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是有控制器发出的控制信号来指挥的,所以它是执行部件.存储器:是保存或“记忆”解题的原始数据和解题步骤。
在运算前需要把参加运算的数据和解题步骤通过输入设备送到存储器中保存。
微程序控制器:控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,而执行部件接受命令后的操作叫做微操作。
1地址寄存器:用来保存当前CPU所访问的内存单元地址。
程序计数器:CPU能确定下一条指令的地址来保证程序能够连续地执行下去指令寄存器:指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传到指令寄存器。
指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P1,通过节拍脉冲的控制以便识别所要求的操作。
“指令译码器”根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
输入设备:能把人们用文字或语言所能表达的问题直接到计算机内部处理。
输出设备:把计算机处理的结果变换为人或其他机器设备所能接收和识别的信息形式。
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备;另一种是数码管,它作为输出设备。
输入时,二进制开关数据直接经过三态门送到数据总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到外部数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码管显示。
整机逻辑框图如图1.1所示:23图3.1 模型及结构框图3.2指令系统的设计(1)算术逻辑指令控制信号)算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址其格式如表3.1所示:表3.1 算术逻辑指令格式其中OP_CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定如表3.2所示:表3.2 选定寄存器(2)访问及转移指令本机设计有2条访问指令,即存数(STA)、取数(LDA),1条转移指令,即无条转移(JMP)、指令格式表3.3所示表3.3 访存及转移指令格式其中OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义见表3.4所示表3.4 寻址模式本机规定变址寄存器RI指定为寄存器R2。
(3)I/O指令输入(IN)和输出(OUT)指令采用单字节指令,其格式如表3.5:表3.5 I/O指令格式4其中,addr=01时,选中“数据输入电路”中的开关组作为输入设备,addr=10时,选中“输出显示电路”中的数码管作为输出设备。
各指令系统主要功能参如表3.6所示:表3.6 各指令系统主要功能算术运算指令:SUB R0,R2指令功能:rs-rd→rd指令格式如表3.7所示:表3.7 SUB指令格式机器码:10100010RRC R2,R0指令功能:rs的值带进位循环右移一位→rd指令格式如表3.8所示表3.8 RRC指令格式机器码:1110100输入输出指令:IN #DATA R05IN #DATA R2指令功能:DATA→rd指令格式如表3.9所示:表3.9 IN指令格式机器码:IN #DATA R0 01000100IN #DATA R2 01000110OUT #DATA R0指令功能:Ri的值→LED输出指令格式如表3.10所示表3.10 OUT指令格式机器码:01011000转移指令:JMP 00H指令功能:ADDR→PC指令格式如表3.11所示表3.11 JMP指令格式机器码:000010003.3微指令的格式设计及微操作控制部件的组成原理系统设计的微指令采用水平型微指令格式,字长共24位,其控制位顺序如表3.12所示:表3.12 控制位的顺序其中前18位为操作控制字段和测试字段。
uA5-uA0为6位的下地址字段微地址。
微指令中个控制位的含义如下:S3、S2、S1、S0、M、Cn是控制运算器的逻辑和算术运算的微命令,如图3.13所示表3.13 控制运算器的逻辑和算术的微命令WE是写内存的微命令,状态“1”有效。
1A、1B是输入电路选通、内存RAM选通、输出LED选通控制微命令,分别对应状态“11”、“10”、“01”。
状态“00”为无效。
F1、F2、F3为三个译码字段,分别由三个控制位经指令译码电路74138译码输出8种状态,前7种状态分别对应一组互斥性微命令中的一个,状态“111”为无效。
F3字段包含P1- P4四个测试字位。
其功能是根据机器指令代码及相应微指令代码进行译码测试,使微程序转入相应的微地址入囗,从而实现微程序的顺序、分支、循环运行。
F1、F2、F3三个字段的编码方案如表3.14所示表3.14 F1,F2,F3三个字段的编码方案表7其中微命令LDRi表示写寄存器操作。
微命令LOAD表示程序计数器PC写操作。
微命令LDR2表示数据暂存器LT2写操作。
微命令LDR1表示数据暂存器LT1写操作。
微命令LAR表示地址寄存器AR写操作。
微命令LDIR表示指令寄存器写操作。
微命令RAG表示源寄存器读操作。
微命令ALU-G表示运算器输出操作。
微命令RCG表示目的寄存器读操作。
微命令PC-G表示程序计数器PC读操作。
微命令LPC表示程序计数器PC选通操作。
微命令299-G表示移位寄存器读写操作。
微命令RBG表示变址寄存器读操作。
确定微程序控制方式微程序入口地址形成方法采用多路转移方式,根据判别测试条件,通过微地址形成电路使微程序转入相应的微地址入口。
本系统有3个判别测试位:P4判别测试位是根据指令译码输入CA1、CA2的状态为测试条件,通过修改下地址字段微地址的μA0、μA1位产生3路分支转移,使微程序分别转移到写机器指令、读机器指令、和执行机器指令三种状态的微程序的入口。
P1判别测试位是根据指令中的前4位操作码IR7、IR6、IR5、IR4的状态为测试条件,通过修改下地址字段微地址的μA3、μA2、μA1、μA0位产生16路分支转移,使微程序分别转移到IN指令、ADD指令、MOV指令、OUT指令、RRC指令等16条机器指令执行阶段的微程序的入口。
P2判别测试位是根据指令中的2位操作码IR3、IR2的状态为测试条件,通过修改下地址字段微地址的μA1、μA0位产生4路分支转移,使微程序分别转移到LDA指令、STA指令、BZC指令和JMP指令4条机器指令执行阶段的微程序的入口。
微程序顺序控制方法微程序顺序控制方式也即微程序执行过程中下一条微指令地址的确定方式。
常用的有两种方式:计数增量方式和“下地址场”断定方式。
8计数增量方式是指微程序在执行过程中,通过微程序控制部件中的微地址计数器MPC增量计数,来产生下一条微指令地址。
因此,采用这种方式的微指令格式中可以不设置“下地址场”字段,微程序存储在控存的若干个连续单元中。
“下地址场”断定方式是指微程序在执行过程中,通过微程序控制部件中的微地址形成电路,直接接受微指令中“下地址场”字段的信息,来产生下一条微指令地址。
因此,采用这种方式的微指令格式中设有“下地址场”字段,一条机器指令所对应的微程序在控存中可以不连续存放。
本实验计算机的顺序控制是采用“下地址场”断定方式。
无论是在微程序的顺序执行过程中,还是最后一条微指令执行结束之后进入下一条机器指令的取指过程,都是由微指令中“下地址场”字段的微地址,通过微程序控制部件中的微地址形成电路,直接来产生下一条微指令地址。
微程序控制部件组成结构示意图如图3.2所示。
图3.2 微程序控制部件组成结构示意图3.4微程序设计画出每条机器指令所对应的微程序流程图,并标出每条微指令中所使用的微操作命令输入指令IN的程序流程图如图3.3所示:9图3.3 IN指令的程序流程图输出指令OUT的程序流程图如图3.4所示:图3.4 OUT指令的程序流程图转移指令JMP得逞醋溜程序图如图3.5所示:10图3.5 JMP的程序流程图算术运算指令RRC的程序流程如图3.6所示图3.6 RRC的程序流程图11算术运算指令SUB的程序流程图如图3.7所示图3.7 SUB的程序流程图3.5编写调试程序根据指令执行流程和微指令格式,编写各指令对应的微程序中每条微指令的编码(分别写出2进制和16进制编码)IN指令的编码如表3.15所示:表3.15 IN指令的编码12OUT指令的编码如表3.16所示:表3.16 OUT指令的编码SUB指令的编码如表3.17所示:表3.17 SUB的编码RRC指令的编码如表3.18所示;表3.18 RRC的编码13JMP指令的编码如表3.19所示:表3.19 JMP指令的编码3.6编写实验程序使用各指令编写一段实验程序(用汇编语言写出程序、及程序中每条指令的机器码,即16进制编码和在内存中的存放地址)。