计组课设-微指令的设计实验
计算机组成原理课程设计 微指令

计算机组成原理课程设计微指令微指令是计算机中的一种重要组成部分,是指对硬件操作的控制命令序列。
简单来说,微指令是对硬件进行操作的一种指示信号,它由控制单元内部产生,并由控制总线传送到各个部件执行。
微指令在计算机中的作用非常重要,可控制计算机的运行状态,包括指令的执行步骤、数据的处理流程、状态的转移等。
因此,微指令的设计质量对计算机的性能和各项指标都有很大影响。
微指令的设计需要考虑五个方面:
第一、控制流程设计。
微指令要能够正确地控制计算机执行指定的操作流程,并具有良好的延迟和时序特性。
第二、功能和格式设计。
微指令的功能必须与指令集相匹配,同时规定微指令的格式,以较低的硬件成本实现指令的执行。
第三、指令编码设计。
微指令的编码应该尽可能地高效,以减少控制总线的传输时间和控制逻辑的延迟,并且要保证指令的唯一性。
第四、性能和可扩展性设计。
微指令的设计需要尽量提高计算机的性能,从而在实现计算功能的同时,具备灵活可扩展的特性,使计算机系统可以随着技术进步不断地更新升级。
第五、微指令的测试和验证设计。
微指令的设计完成后,需要进行测试和验证,以保证其正确性和稳定性。
总之,微指令的设计是计算机系统中不可或缺的一部分,对计算机性能和稳定性具有极大的影响。
因此,在进行微指令的设计时,需要充分考虑各个方面的需求,并进行合理的设计,以保证计算机系统的稳定运行。
计算机组成原理微指令实验报告

计算机组成原理实验报告时间:2012.11.26 地点:实验大楼4楼北成绩:班级:xxxxxx 学号:xxxxxx 姓名:xx班级:xxxxxx 学号:xxxxxxx 姓名:xx题目:微程序控制器实验一、实验目的:1.掌握微程序控制器的组成原理;2.掌握微程序的编制、写入,观察微程序的运行过程。
二、实验内容及要求:3.熟悉微指令的编写方式,编码格式,了解机器指令与微指令之间的关联。
4.设计微指令,以实现从存储器中读出8位二进制数并进行加法计算的功能。
三、实验步骤、观察与思考:实验步骤:1.连线,将实验电路板上的所需单元用排线连接起来,以实现数据通路。
2.对微控制器的读写操作(1)手动读写:(默认为已实现线路连接)进行手动读或写,都需要手动给出地址,系统专门安排了一个ADDR单元,作为地址输入。
ADDR单元实为一个加减计数器。
当开关为“加1”挡时,在T2的下沿计数器进行加1计数;当开关为“减1”挡时,在T2的下沿计数器进行减1计数;当开关置为“置数”挡时,计数器置初值,其作用相当于直通,SA7…SA0的输出值就是二进制开关组的值。
在实验中选择什么挡位,取决于写入数据的地址是否连续,如果是连续地址,选择“加1”或是“减1”挡会方便一些。
如果是离散地址,选择“置数”挡会方便一些。
1)手动对微控制器进行编程(写)。
a.修改连线,以方便实现手动控制(完成读写操作后恢复);b.将MC单元编程开关置为“编程”挡,时序单元状态开关置为“单步”挡,ADDR单元状态开关置为“置数”挡。
c.使用ADDR单元的低六位SA5…SA0给出微地址MA5…MA0,微地址可以通过MC单元的MA5…MA0微地址灯显示。
d.CON单元SD27…SD20,SD17…SD10,SD07…SD00开关上置24位微代码,待写入值由MC单元的M23…M0 24位LED灯显示。
e.启动时序电路(按动一次TS按钮),即将微代码写入到EEPROM2816的相应地址对应的单元中。
《计算机组成原理》微程序设计实验报告

《计算机组成原理》实验报告学院:计算机学院专业:交通工程班级学号:AP0804114学生姓名:黄佳佳实验日期:2010.12.14指导老师:李鹤喜成绩评定:五邑大学信息学院计算机组成原理实验室实验五微程序设计实验一、实验目的:深入掌握微程序控制器的工作原理,学会设计简单的微程序。
二、预习要求:1.复习微程序控制器工作原理;2.复习计算机微程序的有关知识。
三、实验设备:EL-JY-II型计算机组成原理实验系统一台,连接线若干。
四、微程序的设计:1.微指令格式设计微指令编码格式的主要原则是使微指令字短、能表示可并行操作的微命令多、微程序编写方便。
微指令的最基本成份是控制场,其次是下地址场。
控制场反映了可以同时执行的微操作,下地址场指明下一条要执行的微指令在控存的地址。
微指令的编码格式通常指控制场的编码格式,以下几种编码格式较普遍。
1)最短编码格式这是最简单的垂直编码格式,其特点是每条微指令只定义一个微操作命令。
采用此格式的微指令字短、容易编写、规整直观,但微程序长度长,访问控存取微指令次数增多从而使指令执行速度慢。
2)全水平编码格式这种格式又称直接编码法,其特点是控制场每一位直接表示一种微操作命令。
若控制场长n位,则至多可表示n个不同的微操作命令。
采用此格式的微指令字长,但可实现多个允许的微操作并行执行,微程序长度短,指令执行速度快。
3)分段编码格式是将控制场分成几段。
若某段长i位,则经译码,该段可表示2i个互斥的即不能同时有效的微操作命令。
采用这种格式的微指令长度较短,而可表示的微操作命令较多,但需译码器。
2.微程序顺序控制方式的设计微程序顺序控制方式指在一条指令对应的微程序执行过程中,下一条微指令地址的确定方法,又叫后继地址生成方式。
下面是常见的两种。
1)计数增量方式这种方式的特点是微程序控制部件中的微地址中的微地址产生线路主要是微地址计数器MPC。
MPC 的初值由微程序首址形成线路根据指令操作码编码形成。
计算机组成原理微程序控制单元实验

计算机组成原理微程序控制单元实验## 微程序控制单元实验### 简介微程序控制单元(Microprogram Control Unit)是计算机组成原理中的一个重要概念。
它是一种基于微指令的控制方式,有效地解决了指令复杂度高、设计难度大的问题。
本篇文档将介绍微程序控制单元的实验原理和方法。
### 实验目的通过本次实验,我们将能够深入了解微程序控制单元的工作原理,理解微程序控制单元在计算机系统中的重要性,并通过实践掌握微程序的设计与编写。
### 实验内容1. 将微指令存储器的内容读入到微程序存储器中;2. 设计微指令的控制信号;3. 实现微程序控制单元的功能;4. 编写测试程序,验证微程序控制单元的正确性。
### 实验步骤#### 第一步:读取微指令存储器内容将微指令存储器中已经设计好的微指令读入到微程序存储器中。
这一步骤可以使用硬件开关、编程方式或者仿真软件进行。
#### 第二步:设计微指令的控制信号根据实验需求,设计微指令的控制信号。
微指令的控制信号包括指令码、操作码、地址码等等,根据具体的实验需求而定。
#### 第三步:实现微程序控制单元的功能将设计好的微指令的控制信号与微程序控制单元进行连接。
确保微程序控制单元能够正确地根据微指令的控制信号来执行相应的操作。
#### 第四步:编写测试程序编写测试程序,验证微程序控制单元的正确性。
测试程序需要覆盖到微程序控制单元的各个功能模块,包含不同类型的指令和操作,以确保微程序控制单元的完整性和鲁棒性。
#### 第五步:测试与调试将编写好的测试程序加载到微程序控制单元中,进行测试和调试。
通过观察微程序控制单元的输出结果,排查可能存在的问题并进行修正,以保证其正确性和稳定性。
### 实验总结通过本次实验,我们深入了解了微程序控制单元的工作原理,并通过实践掌握了微程序的设计与编写。
微程序控制单元的应用可以提高计算机系统的灵活性和可扩展性,同时也降低了整个系统的复杂度和设计难度。
指令、微指令设计

实验设计指令/微指令系统一、实验目的CP226计算机组成原理实验仪,可以由用户自己设计指令/微指令系统。
自己可以在现有的指令系统上进行扩充,加上一些较常用的指令,也可重新设计一套完全不同的指令/微指令系统。
1.在设计指令的过程中理解和掌握各个单元、总线信号的功能,以及与数据的流向的关系。
2.根据掌握情况设计每条指令,明确每条指令需要几个机器周期,每个机器周期需要完成的任务,对相容性的微操作采用并行执行的方式以使指令简化,提高执行效率。
二、实验仪器CP226计算机组成原理实验仪、CP226计算机组成原理软件三、实验内容2.创建新指令系统文件名为:new.dat打开CP226 组成原理实验软件,选择[文件|打开指令系统/微程序],调入一个已有的指令系统文件insfile1.dat,参考原来文格式,输入如下文件后,清除原来的指令系统,选择[文件]\另存为new.dat。
助记符号指令码字节数MOV R0,#* 04 2MOV R1,#* 05 2MOV R2,#* 06 2MOV R3,#* 07 2STO R0,* 08 2STO R1,* 09 2STO R2,* 0A 2STO R3,* 0B 2ADDC R0,#* 0C 2ADDC R1,#* 0D 2ADDC R2,#* 0E 2ADDC R3,#* 0F 2注:助记符中,#表示立即数,*表示十六进制数,@表示间址寻址04-0F表示相应指令的入口地址,最后一列为该指令所占的字节数。
3. 创建新微指令系统文件名为:new.mic打开CP226 组成原理实验软件,选择[文件|打开指令系统/微程序],调入一个已有的微指令系统文件insfile1.mic,参考原来文件格式,待下面微程序代码确定后相应输入下表,然后清除原来的微指令系统,选择[文件]\另存为new.mic._FATCH_ T0 00 CBFFFF 指令寄存器IR PC输出 A输出写入 +101 FFFFFF A输出 +102 FFFFFF A输出 +103 FFFFFF A输出 +1MOV R?, #II T1 04 C7FBFF 存贮器值EM 寄存器R? PC输出 A输出 +1 +1T0 05 CBFFFF 指令寄存器IR PC输出 A输出写入 +106 FFFFFF A输出 +107 FFFFFF A输出 +1STO R?, MM T2 08 C77FFF 存贮器值EM 地址寄存器MAR PC输出 A输出 +1 +1T1 09 D7BBFF 存贮器值EM 寄存器R? MAR输出 A输出 +1T0 0A CBFFFF 指令寄存器IR PC输出 A输出写入 +10B FFFFFF A输出 +1ADDC R?, #IIT3 0C C7FFEF 存贮器值EM 寄存器W PC输出 A输出 +1 +1T2 0D FFF7F7 寄存器R? 寄存器A A输出 +1T1 0E FFFA9C ALU直通寄存器R? 标志位C,Z 加运算 +1T0 0F CBFFFF 指令寄存器IR PC输出 A输出写入 +1下面根据指令的功能来设计相应的微程序。
计算机组成原理微程序控制单元实验

计算机组成原理微程序控制单元实验
微程序控制单元是计算机组成原理中的一个重要组成部分,其工作原理是将指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。
以下是一个微程序控制单元的实验流程:
1. 提取指令:从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。
提取指令之后,程序计数器根据指令长度增加存储器单元。
2. 解码:根据 CPU 的指令集架构 (ISA) 定义将数值解译为指令。
解码阶段将指令分解成一系列的微操作。
3. 控制命令发出:根据指令中的微操作,发出各种控制命令,例如读写控制、存储器选择、微操作执行等。
这些控制命令用于执行微操作系列。
4. 执行微操作:根据控制命令,执行微操作系列。
微操作通常是一些小规模的运算,例如存储器读写、算术运算等。
这些微操作被分解成一系列的微操作,然后由微程序控制单元执行。
5. 写回结果:完成微操作系列后,将结果写回到存储器或高速缓冲存储器中。
6. 跳转:如果需要,可以通过跳转指令来跳转到其他指令执行。
7. 重复:如果指令需要多次执行,可以通过重复指令来实现。
通过以上步骤,微程序控制单元可以实现对计算机指令的控制,从而实现计算机的功能。
值得注意的是,微程序控制单元是计算机组
成原理中的一个抽象概念,实际上并不存在具体的硬件实现。
微程序控制器组与微程序设计实验报告

微程序控制器组与微程序设计实验报告实验目的:1.了解微程序控制器组的组成和工作原理;2.掌握微程序设计的基本方法;3.学习使用微程序设计语言进行微程序编写;4.验证微程序的功能和正确性。
实验仪器:1.微程序控制器组;2.计算机。
实验原理:实验步骤:1.设计微指令集:根据实验要求,设计微指令的功能,并确定每个微指令的格式和编码方式。
2.设计微程序地址译码器:根据微指令的编码方式,设计地址译码器,将微指令的编码转化为实际的地址。
3.设计微程序存储器:根据微指令的格式和编码方式,设计存储器,存储微指令。
可以选择使用只读存储器或者随机存储器。
4.设计微指令执行器:根据微指令的格式和编码方式,设计执行器,执行微指令的功能操作。
可以使用组合逻辑电路或者微控制器实现。
5.进行微程序编写:使用微程序设计语言,根据微指令集的功能要求,编写微程序,并存储到微程序存储器中。
6.连接实验仪器:将微程序控制器组和计算机连接起来,确保数据传输的正确性。
7.运行实验程序:根据实验要求,执行微程序,并通过计算机输出结果。
实验结果:经过实验,微程序控制器组成功控制了计算机的各个部件的操作和数据流。
微程序设计也能够正确的控制计算机的运行,并输出了预期的结果。
实验总结:通过本次实验,我对微程序控制器组的组成和工作原理有了更深入的了解。
微程序设计是一种灵活、可扩展的指令级程序设计方法,可以根据需求设计出各种功能强大的微程序。
通过实验,我学会了使用微程序设计语言进行微程序编写,并验证了微程序的功能和正确性。
微程序控制器组的应用范围广泛,不仅可以用于计算机中,还可以应用于其他各种控制系统中。
本次实验让我对计算机控制系统的理论和实践有了更深入的了解,提高了我在计算机控制领域的专业技能。
计组-微程序控制器设计报告

实验10 微程序控制器设计实验报告姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无实验时间:实验地点:指导老师:XXX一、实验目的和要求1.掌握微程序控制原理2.掌握微程序控制器的设计方法二、实验内容和原理实验内容:1.设计一个微程序控制单元并进行仿真实验原理:1.微程序的原理:●在多时钟CPU设计的实验中,所有的控制信号均根据操作码以及所处的时钟周期,由组合逻辑的方式产生各个状态下的控制信号。
●微程序是将CPU每条指令和所有时钟的控制信号,预先以二进制形式写在控制存储器中。
●多时钟周期的每个状态都对应一组控制信号。
●每条指令都有若干个状态对应若干组控制信号。
●微指令按一定顺序存放在控制存储器中。
2.工作原理图3.微程序控制逻辑图4.微指令及其控制码5.控制存储器内容三、主要仪器设备1.Spartan-III开发板1套2.装有ISE的PC机1台四、操作方法与实验步骤实验步骤:1.创建新的工程和新的源文件2.编写verilog代码(包括以下模块top,MicroCtrl,pbdebounce,time_1ms)3.对程序进行波形仿真4.编写UCF引脚文件,通过编译。
5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能实验代码:Top.vmodule top(input system_clk,input clk_i,input rst_i,output [3:0] anode4,output [7:0] segment4,output reg [7:0] led);wire clk;wire rst;reg [2:0] pc;reg [5:0] opcode;wire [17:0] rom_out;pbdebounce p0(system_clk, clk_i, clk);pbdebounce p1(system_clk, rst_i, rst);initial beginpc=0;endalways @ (posedge clk or posedge rst) beginif (rst==1)pc=0;else if (rom_out[1:0]==0)pc=pc+1;endalways @ * begincase (pc)0: opcode = 6'b000000; //R-type1: opcode = 6'b100011; //LW2: opcode = 6'b101011; //SW3: opcode = 6'b000100; //BEQ4: opcode = 6'b000010; //Jdefault: opcode = 6'b000000;endcaseendMicroCtrl MicroCtrl(clk, rst, opcode, rom_out);display display(system_clk, rom_out[17:2], anode4, segment4); always @ * beginled[1:0] = rom_out[1:0];led[2]=0;case (pc)0: led[7:3] = 5'b10000; //R-type1: led[7:3] = 5'b01000; //LW2: led[7:3] = 5'b00100; //SW3: led[7:3] = 5'b00010; //BEQ4: led[7:3] = 5'b00001; //Jdefault: led[7:3] = 5'b11111;endcaseendendmodulempc=0;endalways @ * begincase (mpc)0: rom_out={16'h0851,2'b11};1: rom_out={16'h1800,2'b01};2: rom_out={16'h3000,2'b10};3: rom_out={16'h00C0,2'b11};4: rom_out={16'h0300,2'b00};5: rom_out={16'h00A0,2'b00};6: rom_out={16'hA000,2'b11};7: rom_out={16'h0500,2'b00};8: rom_out={16'h6006,2'b00};9: rom_out={16'h0009,2'b00};default: rom_out=0;endcaseendalways @ (posedge clk or posedge rst) begin if (rst==1)mpc=0;else begincase (rom_out[1:0])0: mpc=0;3: mpc=mpc+1;1: case (opcode)6'b000000: mpc=6; //R-type6'b100011: mpc=2; //LW6'b101011: mpc=2; //SW6'b000100: mpc=8; //BEQ6'b000010: mpc=9; //Jdefault: mpc=0;endcase2: case (opcode)6'b100011: mpc=3; //LW6'b101011: mpc=5; //SWdefault: mpc=0;endcaseendcaseendendendmoduleDisplay.vmodule display(input wire clk,input wire [15:0] digit,//显示的数据output reg [ 3:0] node, //4个数码管的位选output reg [ 7:0] segment);//七段+小数点reg [3:0] code = 4'b0;reg [15:0] count = 15'b0;always @(posedge clk) begincase (count[15:14])//与(count[1:0])的不同?起到分频的作用2'b00 : beginnode <= 4'b1110;code <= digit[3:0];end2'b01 : beginnode <= 4'b1101;code <= digit[7:4];end2'b10 : beginnode <= 4'b1011;code <= digit[11:8];end2'b11 : beginnode <= 4'b0111;code <= digit[15:12];endendcasecase (code)4'b0000: segment <= 8'b11000000;4'b0001: segment <= 8'b11111001;4'b0010: segment <= 8'b10100100;4'b0011: segment <= 8'b10110000;4'b0100: segment <= 8'b10011001;4'b0101: segment <= 8'b10010010;4'b0110: segment <= 8'b10000010;4'b0111: segment <= 8'b11111000;4'b1000: segment <= 8'b10000000;4'b1001: segment <= 8'b10010000;4'b1010: segment <= 8'b10001000;4'b1011: segment <= 8'b10000011;4'b1100: segment <= 8'b11000110;Timer_1ms.vmodule timer_1ms(input wire clk,output reg clk_1ms);reg [15:0] cnt;initial begincnt [15:0] <=0;clk_1ms <= 0;endalways@(posedge clk)if(cnt>=25000) begincnt<=0;clk_1ms <= ~clk_1ms;endelse begincnt<=cnt+1;endendmodule五、实验结果与分析1. 仿真结果如下(仿真时间较长,分2张图展示):Ox00c00 0x0300 2’b003.程序运行成功后,将代码下载到实验板spartan3上验证按动按钮,发现数码管上显示的数值即仿真输出码的[17:2]位,且出现顺序一致,说明程序成功。
实验四 指令、微指令设计

实验四:设计指令/微指令系统计科0903童燕翔2009310200333一、实验要求:1、掌握CPP266软件的各部件的原理和使用方法。
2、了解指令/微指令系统,以及每条微指令的构成。
3、学会在原有指令/微指令的基础上设计简单易懂的指令/微指令系统。
二、实验目的:1、学会进一步运用CPP226软件和机箱。
2、设计简单的指令/微指令系统,并编程加以实现。
三、实验器材以及用品DICE-CP226 型计算机组成原理实验机箱,CPP226软件,教材书和实验指导。
四、实验方案:1、设想一个新的指令,并标明它的名称和目的,以及所要完成的功能。
2、根据现有的指令/微指令,利用cpp226软件设计新指令的助记符,周期,微程序等。
3、然后编写程序验证新指令的正确性。
五、实验步骤:1因为硬件系统需要指令机器码的最低两位做为R0-R3 寄存器寻址用,所以指令机器码要忽略掉这两位。
我们暂定这六条指令的机器码分别为04H,08H,0CH,10H,14H,18H。
2、打开CP226 组成原理实验软件,选择[文件|打开指令系统/微程序],调入一个已有的指令系统文件insfile1.dat,参考原来文格式,输入如下文件后,清除原来的指令系统,选择[文件]\另存为mean.dat。
注:助记符中,#表示立即数,*表示十六进制数,表注框内20 表示该栏占20 个字母位置,不足20 个用空格键填充,其余类同。
3、打开CP226 组成原理实验软件,选择[文件|打开指令系统/微程序],调入一个已有的微指令系统文件insfile1.mic,参考原来文件格式,待下面微程序代码确定后相应输入下表,然后清除原来的微指令系统,选择[文件]\另存为mean.mic.4、打开CP226 组成原理实验软件,选择[文件|打开指令系统/微程序],调入一个已有的指令集文件insfile1.mac,参考原来文件格式,输入如下文件后,清除原来的指令系统,选择[文件]\另存为mean.mac.5、在源程序窗口输入下面程序将程序另存为mean.asm,选择[文件|调入指令系统/微程序],调入mean.mic,将程序汇编成机器码,观察反汇编窗口,会显示出程序地址、机器码、反汇编指令。
计算机组成原理课程设计报告(指令设计)

计算机科学学院课程设计报告课程计算机组成原理题目用户输入数据的阶加年级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 文件,并保存。
计算机组成大型实验报告材料—机器指令设计实验

机器指令设计实验-实验报告一、实验目的与要求〔1〕通过实验分析简单模型机结构,了解计算机工作原理。
〔2〕掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程。
〔3〕简单模型计算机部件构架、微程序控制器中微程序代码功能实现、微程序流程、指令系统定义和简单模型计算机汇编语言程序进展验证。
〔4〕在简单模型计算机根底上设计新的技巧指令,在第二章实验八的根底上实施,使用的实验部件和接线不变,增加5条新机器指令,目的是提高学生对计算机机器指令的理解,锻炼学生自己动手设计模型计算机机器指令的能力。
二、实验原理1.简单模型计算机构架简单模型计算机逻辑结构如图1所示,构成简单模型计算机的实验部件以总线为根本连接通道,主要有以下7个:〔1〕算术逻辑运算部件ALU UNIT进展算术逻辑运算操作。
〔2〕存储器部件MEM UNIT,存储模型计算机汇编语言程序和操作数据。
〔3〕地址存放器部件ADDRESS UNIT,包含两局部电路,地址存放器AR:接收存储器程序中的指令地址和指令中的数据地址;指令地址计数器PC:用于指示程序中的指令地址并通过地址缓冲器送往地址存放器AR。
〔4〕指令存放器部件INS UNIT,存放器当前正在执行的机器指令,此指令的指令码通过指令译码器向微程序控制器指示相应的微程序入口地址;此指令的地址码指示的操作数地址,送往地址存放器AR。
〔5〕输入/输出部件INPUT/OUTPUT,操作数据的输入与输出显示。
(7)通用存放器部件REG UNIT,暂存运算的中间数据。
〔7〕微程序控制器部件MAIN CONTROL UNIT,控制各部件完成指令的功能。
2.简单模型计算机指令系统此简单模型计算机的指令系统包括控制台指令与机器指令。
共三条控制台指令,由手动控制单元〔MANUAL UNIT〕的KB,KA开关设定。
控制台指令只能由手工操作一条条指令,不能编写在汇编程序中。
实验八已经给出5条机器指令。
分别是输入指令IN R0,PORTAR,算术加指令ADD R0,[ADDR],存放器内容送存储器指令STA [ADDR],R0,输出指令OUT [PORTAR],[ADDR],转移指令JMP PORTAR。
计算机组成原理课程设计(中央处理器--微程序控制器设计)

计算机组成原理课程设计:中央处理器-微程序控制器设计摘要本文档介绍了一个针对计算机组成原理课程的设计项目,即中央处理器的微程序控制器设计。
在设计中央处理器的微程序控制器时,我们将考虑指令的执行、数据的处理以及控制信号等关键方面。
通过这个设计项目,学生将深入了解计算机系统的核心组件并掌握微程序控制器的设计方法。
引言计算机组成原理课程旨在帮助学生理解计算机硬件系统的基本原理和组成部分。
其中,中央处理器是计算机系统中最核心的部分之一。
微程序控制器是中央处理器的关键组件,它通过微指令序列控制着处理器的各个部件。
本设计项目旨在实践计算机组成原理的理论知识和设计方法,使学生能够了解中央处理器的内部结构和工作原理,并掌握微程序控制器的设计技术。
设计目标本次设计的目标是: 1. 使用合适的指令集设计一个完整的微程序控制器。
2. 实现基本的指令执行功能,包括算术逻辑单元(ALU)操作、内存读写、条件分支和跳转等。
3. 考虑控制信号与数据通路之间的兼容性和时序关系。
4. 考虑指令的效率和性能,实现合理的指令编码和微指令生成策略。
设计内容1. 指令集设计在设计微程序控制器时,首先需要确定适合该设计的指令集。
指令集应该包括基本的算术、逻辑、移位和控制指令,以及内存读写指令。
根据实际需求,可以添加其他合适的指令。
2. 微指令设计为了实现指令集中的每个指令,需要设计相应的微指令。
微指令是一系列控制信号的序列,用于控制中央处理器中各个部件的操作。
每个微指令应该包含控制信号、操作码、寄存器的选择和数据通路的选择等信息。
3. 数据通路设计数据通路连接了CPU中各个部件,包括寄存器、ALU、控制器等。
在设计数据通路时,需要考虑指令的执行顺序、数据的传递和处理,以及控制信号的生成等。
数据通路应该支持指令的执行和数据操作。
4. 控制信号设计控制信号是微程序控制器中最关键的部分,它确定了中央处理器中各个部件的操作方式和时序。
在设计控制信号时,需要考虑不同指令的差异性和并行性,确保指令的正确执行。
计组实验-微程序控制

置DP=0, DB=0.先按CLR#按钮复位,再按QD按钮.则时序部分开始不停地运动,直到按CLR#按钮为止.用双踪示波器观察MF, T1-T4, W1-W3信号.观察的方法是同时观察两路信号,以便于比较相位.可按下述顺序进行观察:MF 和T1,T1和T2, T2和T3, T3和T4, T1和W1, W1和W2, W2和W3. 根据观察的结果,可绘出波形图.MF的周期为2000毫秒,占空比为50%控存代码表微地址CM3CM2CM1CM00000000048010*******020*******0300004002040108000505000044040600800807070010041E080008200F09000884040A000880020B0008A41D0C0008A41E0D00800C0E0E000C041D0F0080089010000300181100030019120003001A130011801B140010801C150000110F160000140F170010140F189024100F196424100F1A B824100F1B0120100F1C0344100F1D0108000D1E010800061F0010200F控制台操作微指令编码测试控制台微代码在58C65的D0-D7输出, D0是最低位, D7是最高位, CM0是最低字节, CM3是最高字节.D0-D7对应于28C64的引脚11,12,13,15,16,17,18,19.对于控存的输出,有相应的32个指示灯指示.1.置DP=1, DB=0使实验系统处于单拍状态.置SWC=0,SWB=0,SWA=1,实验系统处于写存储器WRM工作模式.按CLR#按钮,使实验系统处于初始状态,微地址为00H,测得的微代码是00H 00H 00H 48H.按一次QD按钮,微地址为09H,测得的微码是00H 08H 84H 04H.按一次QD按钮,微地址为04H,测得得微码是01H 08H 00H 05H.按一次QD按钮,微地址为05H,测得得微码为00H 00H 44H 04H.按一次QD按钮,微地址为04H,由于微地址又返回04H,停止测试.2.置DP=1, DB=0使实验系统处于单拍状态.置SWC=0,SWB=1,SWA=0,实验系统处于读存储器RRM工作模式.按CLR#按钮,使实验系统处于初始状态,微地址为00H.按一次QD按钮,微地址为0AH,测得的微码是00H 08H 80H 02H.按一次QD按钮,微地址为02H,测得得微码是03H 40H 04H 03H.按一次QD 按钮,微地址为03H,测得得微码为00H 00H 40H02H.按一次QD按钮,微地址为02H,由于微地址又返回02H,停止测试.3.置DP=1, DB=0使实验系统处于单拍状态.置SWC=0,SWB=1,SWA=1,实验系统处于读存储器WRF工作模式.按CLR#按钮,使实验系统处于初始状态,微地址为00H.按一次QD按钮,微地址为0BH,测得的微码是00H 08H 0A4H 1DH.按一次QD按钮,微地址为1DH,测得得微码是01H 08H 00H 0DH.按一次QD 按钮,微地址为0DH,测得得微码为00H 80H 0CH0DH.按一次QD按钮,微地址为0EH,由于微地址又返回02H,测得的微码是00H 0CH 04H 1DH.按一次QD按钮,微地址为1DH,由于微地址又返回1DH,停止测试.4.置DP=1, DB=0使实验系统处于单拍状态.置SWC=0,SWB=0,SWA=0,实验系统处于PR工作模式.按CLR#按钮,使实验系统处于初始状态,微地址µ_A5-µ_A0为00H.按一次QD按钮,微地址为08H,测得微码为00H 08H 20H 0FH.按一次QD按钮,微地址为0FH,测得微码为00H 80H 08H 90H.由于以后的微码与机器指令有关,停止测试.(5)深刻理解0FH微指令的功能和P1测试的状态条件(IR7-IR4)用二进制开关设置IR7-IR4的不同状态,观察ADD至OUT八条机器指令对应微程序的微命令信号,特别是微地址转移的实现.0FH微指令的功能是根据程序计数器PC从存储器取指令,送往指令寄存器IR. 0FH微指令的下一微指令地址是10H.不过,10H只是一个表面的下一微地址,由于该微指令中P1=1,因此实际的微指令地址的低4为要根据IR7-IR4确定,实际微地址为10H + IR7 IR6 IR5 IR4.1.置DP=1,DB=0,使实验系统处于单拍状态.选择SWC=0,SWB=0,SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H.令K4(IR7)=0, K3(IR6)=0, K2(IR5)=0, K1(IR4)=0,相当于ADD 指令操作码.按一次QD按钮,微地址变为0FH按一次QD按钮,微地址变为10H,微代码是00H 03H 00H 18H.按一次QD按钮,微地址变为18H,微代码是90H 24H 10H0FH.按一次QD按钮,微地址回到0FH.2.置DP=1,DB=0,使实验系统处于单拍状态.选择SWC=0,SWB=0,SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H.令K4(IR7)=0, K3(IR6)=0, K2(IR5)=0, K1(IR4)=1,相当于SUB 指令操作码.按一次QD按钮,微地址变为0FH按一次QD按钮,微地址变为11H,微代码是00H 03H 00H 19H.按一次QD按钮,微地址变为19H,微代码是64H 24H 10H0FH.按一次QD按钮,微地址回到0FH.3.置DP=1,DB=0,使实验系统处于单拍状态.选择SWC=0,SWB=0,SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H.令K4(IR7)=0, K3(IR6)=0, K2(IR5)=1, K1(IR4)=0,相当于AND 指令操作码.按一次QD按钮,微地址变为0FH按一次QD按钮,微地址变为12H,微代码是00H 03H 00H 1AH.按一次QD按钮,微地址变为1AH,微代码是0B8H 24H 10H0FH.按一次QD按钮,微地址回到0FH.4.置DP=1,DB=0,使实验系统处于单拍状态.选择SWC=0,SWB=0,SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H.令K4(IR7)=0, K3(IR6)=0, K2(IR5)=1, K1(IR4)=1,相当于STA 指令操作码.按一次QD按钮,微地址变为0FH按一次QD按钮,微地址变为13H,微代码是00H 11H 80H 1BH.按一次QD按钮,微地址变为1BH,微代码是01H 20H 10H0FH.按一次QD按钮,微地址回到0FH.5.置DP=1,DB=0,使实验系统处于单拍状态.选择SWC=0,SWB=0,SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H.令K4(IR7)=0, K3(IR6)=1, K2(IR5)=0, K1(IR4)=0,相当于LDA 指令操作码.按一次QD按钮,微地址变为0FH按一次QD按钮,微地址变为14H,微代码是00H 10H 80H 1CH.按一次QD按钮,微地址变为1CH,微代码是03H 44H 10H0FH.按一次QD按钮,微地址回到0FH.6.置DP=1,DB=0,使实验系统处于单拍状态.选择SWC=0,SWB=0,SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H.令K4(IR7)=0, K3(IR6)=1, K2(IR5)=0, K1(IR4)=1,相当于JC 指令操作码.按一次QD按钮,微地址变为0FH按一次QD按钮,微地址变为15H,微代码是00H 00H 11H 0FH.令K0(C)=0.按一次QD按钮,微地址变为0FH.按一次QD按钮,微地址变为15H.令K0(C)=1.按一次QD按钮,微地址变为1FH,微代码是00H 10H 20H 0FH.按一次QD按钮,微地址回到0FH.7.置DP=1,DB=0,使实验系统处于单拍状态.选择SWC=0,SWB=0,SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H.令K4(IR7)=0, K3(IR6)=1, K2(IR5)=1, K1(IR4)=0,相当于STP 指令操作码.按一次QD按钮,微地址变为0FH按一次QD按钮,微地址变为16H,微代码是00H 00H 14H 0FH.按一次QD按钮,微地址回到0FH.8.置DP=1,DB=0,使实验系统处于单拍状态.选择SWC=0,SWB=0,SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H.令K4(IR7)=0, K3(IR6)=1, K2(IR5)=1, K1(IR4)=1,相当于OUT 指令操作码.按一次QD按钮,微地址变为0FH按一次QD按钮,微地址变为17H,微代码是00H 10H 14H 0FH.按一次QD按钮,微地址回到0FH.。
微程序控制器组与微程序设计实验报告

数学学院实验报告课程名称:计算机组成原理 实验项目名称:微程序控制器组成与微程序设计实验一、实 验 目 的(1) 掌握微程序控制器的组成原理。
(2) 掌握微程序的编制、写入,观察微程序的运行过程。
二、实验设备与器件PC 机一台,TD-CMA 实验系统一套。
三、实 验 原 理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑 部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数 字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为 控制存储器,微程序控制器原理框图如图3-2-1所示。
图3-2-1 微程序控制器组成原理框图控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。
微程序控制器的组成见图3-2-2,其中控制存储器采用3片2816的E 2PROM ,具有掉电保护功能,微命令寄存器18位,用两片8D 触发器(273)和一片4D (175)触发器 组成。
微地址寄存器6位,用三片正沿触发的双D 触发器(74)组成,它们带有清“0”端和预置端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容 即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。
S E 1S E 2S E 3S E 4S E 5S E 0图3-2-2 微程序控制器原理图在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储 器(包括存储器和控制存储器)的三种操作:编程、校验、运行。
计算机组成原理课程设计 微指令

计算机组成原理课程设计微指令一、课程设计题目微指令设计与实现二、设计目的通过本次课程设计,学生将深入了解微指令的概念、设计方法和实现过程,掌握微指令的编写技巧和调试方法,提高学生的计算机组成原理理论水平和实践能力。
三、设计内容1. 微指令的概念和作用2. 微指令的设计方法和流程3. 微指令的编写技巧和调试方法4. 微指令的实现过程和实验操作四、设计步骤1. 学生自行学习微指令的概念和作用,了解微指令的设计方法和流程。
2. 学生根据所学知识,编写一个简单的微指令程序,包括指令的操作码、操作数、寻址方式等。
3. 学生使用微指令编译器,将编写好的微指令程序转换成微指令码。
4. 学生使用微指令模拟器,将微指令码加载到模拟器中,进行调试和测试。
5. 学生根据实验结果,对微指令程序进行优化和改进,提高程序的执行效率和稳定性。
6. 学生撰写实验报告,总结微指令的设计方法和实现过程,分析实验结果和问题,并提出改进方案和建议。
五、设计要求1. 学生需要独立完成本次课程设计,不得抄袭他人作品。
2. 学生需要按照设计步骤,认真完成实验操作和调试工作。
3. 学生需要撰写规范的实验报告,包括实验目的、原理、方法、结果和结论等内容。
4. 学生需要在规定时间内完成课程设计,并按时提交实验报告。
六、设计评价1. 学生的实验报告质量和内容是否符合要求。
2. 学生的实验操作和调试能力是否达到要求。
3. 学生的微指令程序设计和实现是否合理和有效。
4. 学生的课程表现和参与度是否积极和认真。
七、设计参考资料1. 《计算机组成原理》(第2版),唐朔飞,高等教育出版社,2015年。
2. 《计算机组成原理实验指导书》(第2版),唐朔飞,高等教育出版社,2016年。
3. 《微指令设计与实现》课程教材,作者待定。
计算机组成原理微程序控制器部件教学实验

计算机组成原理微程序控制器部件教学实验微程序控制器是由微指令组成的,每个微指令对应一个操作或一个操作序列。
它通过微指令来描述指令的执行过程,包括指令的取指,指令的解码,操作数的获取,以及操作的执行。
微程序控制器的本质是一个状态机,通过不同的状态和状态转移来完成指令的执行,从而实现计算机的功能。
在计算机组成原理的教学实验中,微程序控制器部件是非常重要的一个实验内容。
通过搭建微程序控制器的实验平台,学生可以更好地理解计算机指令的执行过程,加深对计算机硬件的认识。
在微程序控制器部件的教学实验中,可以从以下几个方面展开。
1.搭建实验平台:首先需要搭建一个微程序控制器的实验平台,包括微指令存储器、微指令控制器、状态寄存器等硬件部件。
同时需要编写相应的微指令和微程序,对不同的指令进行模拟执行。
2.模拟指令的执行过程:通过编写微指令和微程序,可以模拟指令的执行过程。
通过手动设置各个硬件部件的状态,可以观察指令的取指、解码、执行等过程。
通过模拟执行不同的指令,可以帮助学生理解指令的执行过程和计算机的工作原理。
3.分析指令的执行效率:在实验中,可以通过不同的指令和微程序,分析指令的执行效率。
比如,可以比较不同指令的执行时间,找出其中的瓶颈和优化方法。
通过实验分析,学生可以深入理解指令的执行原理和计算机硬件的优化方法。
4.扩展实验内容:在熟悉了微程序控制器的基本原理后,可以进一步扩展实验内容。
比如,可以设计一个简单的指令集,编写相应的微指令和微程序,实现更复杂的指令的执行过程。
通过扩展实验内容,可以更好地理解微程序控制器部件的原理和功能。
总之,计算机组成原理微程序控制器部件的教学实验是一门重要的实践课程,通过搭建实验平台和编写微指令和微程序,可以帮助学生更好地理解计算机硬件的工作原理,加深对计算机指令执行过程的认识,提高计算机组成原理的学习效果。
计算机组成原理课程设计--16位机微程序控制器指令系统的设计与实现

一、设计题目16位机微程序控制器指令系统的设计与实现二、设计目的通过看懂教学计算机组合逻辑控制器中已经设计好并正常运行的几条基本指令(例如ADD、MVRR、OUT、MVRD、JR、RET等指令)的功能、格式和执行流程,然后自己设计微程序控制器中的29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,达到以下目的:1、深入理解计算机控制器的功能、组成知识和各类典型指令的执行过程;2、对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;3、学习微程序控制器的设计过程和相关技术。
三、设计说明控制器设计是学习计算机总体组成和设计的重要的部分。
要在TEC—2000教学计算机上完成这项设计,必须清楚懂得:1、TEC—2000教学机的微程序控制器主要由作为选件的微程序控制器小板和教学机大板上的7片GAL20V8组成。
2、TEC—2000教学机微程序控制器上要实现的全部基本指令和扩展指令的控制信号都是由微程序小板上的7片控制存储器给出的。
3、应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行扩展指令。
4、要明白TEC—2000教学机支持的指令格式及指令执行流程分组情况;理解TEC—2000教学机中已经设计好并正常运行的各类指令的功能、格式、执行流程和控制信号的组成。
5、明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。
6、为了完成扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的实验内容,具体过程包括:1)确定指令格式和功能,要受教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致;2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的取值,应参照已实现指令的处理办法来完成,特别要注意的是,读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能的与原用节拍的状态保持一致和相近;3)在指令微程序表中填写每一个控制信号的状态值,注意要特别仔细,并有意识地体会这些信号的控制作用;4)将设计好的微码,装入控制存储器的相应单元;5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理课程设计报告班级:计算机/物联网 ________ 班姓名:_______ 学号:___________完成时间:2016.1.14 _____________________一、课程设计目的1 •在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2 •通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3 •培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000 的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1 .硬件COP2000实验仪PC机2 .软件COP2000仿真软件四、课程设计的具体内容(步骤)1•详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:从指令字长来看该模型机指令系统包含单字长和双字长两种格式的指令,字长为8位,对于需要访问内存的指令都是双字长的,指令系统中大多数指令是单字长;从指令操作码是定长和变长来看,这里认为,虽然ADD A, R?和ADD A, @R?都是执行加法操作,但他们是不同的指令,将指令格式中寻址寄存器的两位也认为是操作码的一部分,这两条指令的操作码不同。
因此,指令系统的指令格式是定长操作码的,操作码为6位。
1)双字长的指令格式如下:举例2)单字长的指令格式如下:举例:助记符 机器码1机器码2ADD A, R? 000100xxORA, R? 011000xxMOV R?, A100000xx该模型机微指令系统的特点(包括其微指令格式的说明等) :该模型机微指令系统的微指令格式是水平型微指令, 微指令的字长为24位,是机器字长的3倍,每条微指令仅包含微操作控制字段,无顺序控制字段。
操作控制字段的每一位对应一个微操作,采用字段直接译码的方式对系统进行控SO举例:微指令CBFFFF :取指令11 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1表2微指令控制信号的功能操作控制信号控制信号的说明XRD夕卜部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数 据。
制。
微指令的具体格式如下:XRD EMRD EMEN EINT MAREN OUTEN RRD CNX2EMWR PCOE IREN ELP MAROE STEN RWR FENX1X0 AEN WEN S2S1COP2000中有7个寄存器可以向数据总线输出数据,但在某一特定时刻只能有一个寄存器输出数据•由COP2000中的运算器由一片EPLD实现•有8种运算,通过S2,S1,S0来选择。
运算数据由寄存器A及寄存器W给出,运算结果输出到直通门D。
2.计算机中实现乘法和除法的原理(1 )无符号乘法①算法流程图:开始W初始化结束②硬件原理框图:计数值4(2)无符号除法①算法流程图:开始商清0除数左移4位除数为0YES保存结果结束3 .对应于以上算法如何分配使用 COP2000实验仪中的硬件(初步分配,设计完成后再将准确的使用情况填写在此处)1 )乘法程序的硬件分配:硬件名称在乘法算法中的功能R0 1用来存放被乘数2保存乘积结果R1 用来存放乘数R2未使用②硬件原理框图:R2左移右移STALUCYR 124 .在COP2000集成开发环境下设计全新的指令/微指令系统设计结果如表所示(可按需要增删表项) (1) 新的指令集(如果针对乘除法设计了两个不同指令集要分别列表)5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序 (1 )乘法4位乘法的算法流程图与汇编语言程序清单:1 )流程图如下:开始CF=1被乘数送入R0结束乘数送入R1Y (被)乘数=0ADD A,R0------------- W・(被)乘数>0FHNO将4送入R3做计数暂存AR3减1恢复AYESR1带进位右移------------- N O YESZF=1YES VMOV R0,A 存 结果YESNORC 不带进位左移寄存器清02 )汇编语言程序清单如下:MOV R3#0FH 将A赋值,用于比较MOV A,R3MOV R0,#0FH ---被乘数在R0中TEST R0,#0FH 判断被乘数是否为0,是则结束JZ T3 判断被乘数是否溢出,是则结束CMP A,R0JC T3MOV R1,#0FH ---乘数在R1中TEST R1,#0FH 判断乘数是否为0,是则结束JZ T3CMP A,R1 判断乘数是否溢出,是则结束MOV R3,#04HL00P1:SHR R1 JC T1 JMP L00P2T1:ADD A,R0 L00P2:SHLN ROPUSH A SUB R3,#01H P0P A JZ T2 JMP L00P1T2:M0V R0,A--乘积结果在 JMP EN T3:MOV R0,#00H EN:END JMP ENDAND A,#OO H(2)除法R0中4位除法的算法流程图与汇编语言程序清单: 1)算法流程图如下1)算法流程图如下2 )汇编语言程序清单如下:MOV R0,#87H ---被除数在RO中MOV R1,#0DH ---除数在R1中MOV R3,#04HAND R2,#00H ---商在R2中TEST R1, #0FHJZ FLSHLN R1SHLN R1SHLN R1SHLN R1MOV A,R0CMP A,R1JC T1JMP FLT1:SHRN R1SHLN R2CMP A,R1JC T2SUB A,R1PUSH AADD R2,#01HPOP AT2:PUSH ASUB R3,#01HPOP AJZ QTJMP T1QT:MOV R3,A ---余数保存在R3中JMP ENFL : MOV R2,#0FFH 报错处理R2为0FFH EN : ENDJMP EN6 •上述程序的运行情况(跟踪结果)按下表填写描述以上各程序运行情况的内容。
按每个程序一张表进行。
程序运行的过程1 )乘法程序运行的过程助记料 20 PUSH A K~ TL 用乜屁港:01■:如屮 3d 也址諒土-1=10 CEFFF 譚空Hl 別匕 虻” T3 II 4(4C FTF7F(TFF= PfTSHEJI FFFASALUftilCEFPF 浮空旺 23 ?.>P 11 MJU II T0匕斷屮悸心器值Ml CBFF?厚主C6FFF 耳贮星伯FJI CBFFB 浮空FFEFSALUfiil FFF 背高心隈©EYFTFABiLUf^— CEFF目堆楼寄彷齧商 C6FFF 斥归隈伯HI兀密青存隈IF F 匚轲寄萍蛊比说出 狛令畜存書IRP 匸辅出①追凸JSH575&ST寄耳船寄蓉蛊K7标主f 起浮空 琢仝P 冷出4 I nA X -JP JIlLtl -J 2juUFFB 浮空寄斗器FC曲出出出出再情Vi ma A H 5A+1 褚赴位右:-■-.:;*1昌扎+1 MA+1T2 II 1TT3TO3C 电:■1: 41PF 卩卍百TT 谨IBM FETE) kJ ]白』 CBFFF 浮空FFEF9ALUfiiiFFF 芒雪f-恳也7 FTF9Dliu 左旷 Off! 3唯砥富尊母;"用横書存霍ST 空空空.*爭$弩•熾h 奇春BR7 寄尊瞄A 播曹奋15PC 輪出 |」出灿翔匕 + 1 *1*1 耳入出出出出A 2 +1 *1出,巨TO 3C 21 SVE ES, T3 i T2 ic n 4E r. 4E 33 POP A T1 肌 ro 4: Si JZ 18 TL 0 ro 2: 2B J1EF 19 T1 3£ ro 3? 19 SliK J!1 T3 It T2 15 T1 1J 助N 対 20 P1TSB A T1 T O I U 兀 T1CBFPF 浮莖EFF 酉哥心器伯尅 L7P 曲荐芒曾值四 FTFA9ALUflji CBFFF 浮空FFFF 弓堆隊SfES 計 CBFRF 禅空 C6FFF wr'Sfta - CBFFF^Si C6FFF 1?世掛值HI 謀主CEFFF 浮空 FFEP3AnJ 宜逼 FFF7 SnSJSft? FETABA1U 右裟 哥云赢?社艺费浮壬SFSA3F^PC IHw 甕好話話 吉存辱PC 指=腎弃誌詆W#5R?幢总应(浮空FC 编出rc 喘出 FC 瀚丄咬出曲丽工 浮空岀出出AA出出出A AGBFE'C6FFF 存贮務店EJI CffiTP 嫁空 C6FFF HCT^EJt用出 A 粧出 馬岀 A 轲出TuIF BELJT KO T3 4? T2 T1Tu 'IECBFPF 浮空: FFEFJALUH I FFF7?宵存器歐4? FFTOALUZtS CBF 門塩枝害仃鬲STz TL 3: W MF LF 18令菸k 器昭IV 锚出堆桂長市器刃 淨空裔頁罢R?澤空牯否寄讥FC 饰出5A +1*1H +L+ 1 5A »i+1 5A *1*1 Z3A 马入+1 >1 口扎环+1*1芾避傥右贡5A *1 •1 a A5A H*1写人K ^r .111-T 1禹•— —歇记埼 20 PUSEf A l ;~TL au X 崽程卫铢据程出做JE 匚入 I 尴址胡已I 送算豊I 毯阻控制|阮PC1C21 SJB 鹉. 1J4L23 POP 直 21 JZ 38 站J=F 丄日 15 SHR 珀 応 JC JE ICJSPIP 1F5HLN RO TL T? 11 TOTLL C TU T£ T2 T1TLTOn17 T;T? 4E'.轧 It it IL2: If T < u>u?f 寄■43S ;At ,i ,U^*E 五忙曙值TH FFF^MLUS^ LMr*F 序空 CtFFF^rS 1F.K CIFFF^'i C6F>F ^!1-2S ;A LJICEFIF 区空 和吓齢山亘建 FFT 西寄碑器值硏J'bJ'AL kLU-L |?CEF 旳亟J 霾碍署MTC^FFF^rS1F.IT CEFFF ;}'± CtfTFl有!E 蛊筑Ul LMPH浮左 FFEF^^Llfiifl FFF 吓寄心器谊叫nyajiLu^fe寄蓉蛊吃竝宣絆空浮主 占泌 +1FC 编虫 丄谕出 MA +1 再空丄愉出 +1占陆出 +1 + 1 澤宝卫爼亘+1写人 +1 券空 丄愉出 +1K 端出 A 陆出右人 + 1 Ft^hil+1 坷入 FC 编出丄谕出写入 +1 代翔出+.1 写入3岀 占谕出+ L 浮丘 +1 譚空*1兀令寻看農1R 上融SH写人腊专富稈寻|出 JffHSTTSST 寄专勲JSHS15S5T 指令昨嚣血 寄萍勒窃有赋S J <九于吾看墨1R 猎呼寄歸讥 窃写醤FC>A寄萼詢I楷舎寄移耆IkitWW^EST壬、工空冷謀浮Ad対 W fifl 梶上曲瞬柿丄 1戡狷打入 1地址j"匕一生員器穆立拦制|比21 1U2U A T1宜 J'jj.^ALU 宜迴 WlSWftBsT洋空&输出 *1TO仙卩町净空猜中奋nsiRA 输出=iA +121 SUE 弧 TS 4< F?F7F L .JJJ 哥石器砂7 寄耳器A浮空 A WB+ L T2 41 &贮蛊f&tJl 寄■脚 PC 鴉出 &愉出*1 +1 T1 叫 阿A9ALD 直0寄有帶酢标乏位诂左JRi=^ + LTO ■Lf CrFF? :?5指爭青抵器IRA W±1气人 +1 2S POP A T1 :■ 渔礼書悖昌ST血出 HTO 4J C5FF? 谭空nevneiR百谕士 E+1 24 JZ 28 T1 胡 C6FPF0贮器伯前 寄打器FCMb 上&输出 + 1 丐入 TO 2! i f | .雾三一曽*冑存语1RA 输土 頁人 +1 25 MCV FQ 71 01 F?JE?ALU 直 £ 寄有需昨浮空A 伽土 + 1TO 們 OHTiSt&愉出 气人 +129 JHF ED T1 Sf C^OJi寄谆诸R 说出血出*1TOC T FF浮室 凸寸百衣畧胆F.TlfliliA 输土WA+1L'MiPb ;i|i (5]5S-T荀谆点」暗个靑嚎心直土诙出 匸扎TO4L 2)除法程序运行的过程OOVJWEO, Tl TO 価FP 绎主02工试 2, Tl TJ0- 27JBF 脊贮磊值町1 T1Ti CEFFF 谆空 ;吓肿有J1器值FT 血町,咼工id 77JHL 存疋EMSU!T2 LJrFFA&ALDA^TRFFP >?x5 - rqr 存广寻負Ff SIR陀细匕比yg 宅磊」 宮 ^tkv 指豊奇有露灯寄存寻P/?兀细乱-山㈡汀诵吕 Fl?输出 ;% : F 「制邛 卩珂出 淳空1AJ fni .inl -ifl 祁.4nJ -I'lnJ itri A A A A i -A A A+1+1 写人 +1+1 +1 韦1 *1 +1 +1亍. +1 +1 +1+1楠圜存标志惶(浮空Ff ;输岀T1TJ08 TECT F.1, T3 FFJ 背及冒話廊: fFHAUJR^ TF^F 犀主£ CFFFF 存广君"I 自阡1! £ 7> 1:4E 41 TF?F 寻主5FB? J ALJOS^FFIFF 寺右器恤2^FFeC-AUl 左稼7EFF5 堆 FtaALOSl .1'h-j <^U/i t?7EF75Ji1t*^SST4EFFU^AUlfiJ 5FJ SDALUif^扌旨廿奇有誥二J? 堆摂奇存器SIm屏空律空孝空寄存器A 指经鑫右FC 输惟怯骂匸磊川 津主梓空离-酝 治令寄秸卩「洞巴 1斟密事二署口 淳莖育存戲T沁S^S A 捋令宵有陀埔吕裔薛辟£盲左阳匚萍卞i)F EHLM k i I J虹 F FU 池J 宜通謀空T2 斗 F FF7F 叠&常沟贮 空石缶 浮空 Tl 4J PFTDD 比0茲腔 孫号喙? 序空TO 41 2EJF5业眄诗否暮「T 空琴曲佶卞可西代轴岀10 fljV A. Id Tl 旳 F l'>?]岸讦畐伯必浮空TO01 下FFF 评? 指令寄讦器IR代晞岀 H rTP A, R T3 3- Z FF7F 齊冇詈1直<浮空T2 3! FFU9AUDBi£ 也哇左存器订 浮空Tl 盘 更肝MLAH 進 寄存哥掠志範•浮空TO埔建言卩器订 言冇習A 捋合哥TiFC 输出 12 JC 」「 jri, jt CFF^F 冇广嘉请門京有需F 厂 兀输t ;TO 71 T FFF矿输土 1& SERB 和 T3孕 I TIJfMLD 言迪浮空 T3 牡 f TF?F 寺存器伯R?薄宁 Tl 4i 7FFAK AUJ 右穆 垂齐需F ;T0| 41 T TF7憎选京益豈「T 寄夸諭揩步寄帝PT 输土 17 SHLW K2 T3 4!FF1F9 AUU^ii堆枝奇存克汀 浮左T2. .电 FKF7F 吉若器悄即淨空Tl 4J 曲卩肪上5左楼好鼬; 潭空 TO41 :TFF5馄歿雯荷豈汀 吏些誥A 抱呂寄需FC 辅土 18 ULF £, K TiFKJ7E 哥殍器恒&〔 在存器¥ 浮生12J3E BFg 阳竝』宜谊 松対佯绥T淳空 Tl 3( 汕竹讥UU 自i£ 卑心血杠-占.谊口谭空 TO 3? 7EH5堆理誉也器汀 卷心型抱壬寄右FC 输丄 I'J JC 20 11 ;I ,曲叶存上寻佰H 上在碍 PL 喘土TO S 血冊罕工FU 扁出 20 FESti A Tl 3Ft 討丸LJJ 白逋摊%哥衣器£T浮空TO 31 7EFFF 啤?FtTifli E业记臼 收芸檢地"jit 绘E 叛呃诵出 I 地打■扎I 地址珞出上特出 』価出 岛1’上+1WA +1 +1+1 左蓉+1+1+1+1写入 +1+1+1 2秩 +1岀击岀出出土出詐 河轲需犒儒输In ftis出出岀出出七土岀岀岀岀岀出 JJAA A A 占讯-C 占占冉A占占.H岀出出1丄4 A A4 A£峠酸冈+1左甘 吐+1 '+1 '三.:.F 】 *'言h写入+1右移 +1写H+L+1左蓉与'.九* 1_ +11 <写入+1^t~|~耳入亘刊于[亍I 曰密刃刃刃 進整阜辰M 蛋蜒舞 曰曰迪牺G+K ¥ Y + [UT ¥¥T~1—忒 I Y -Y ■ < T I-'-f …陆亠IWI ■ ■-[-■ *r 7 ni' + + + M + + +陵傘rd Y ■_I 卜NT *二rl那F刁鞄血世岀乍晡-工匸氓空|*T <r干wM 干1k ■sk 這 干[k<H牡k IH Fl卜r j*hI S I T 匹 1士 忻 帘r Lt■+V1 llll-|U Uh 曲 B+r型 K Vill C-H带 -±甫 tM5E S壬盟壬旧书毛壬石刊曲mm 哥可da di3勺屋會 W 克巨寸丑•軒、辰・:皿 曲£# 4莊 g M 曲:曰I 2・ I 占 <M- -LsiV-L - +>•- +Mr 4-Mr <M- xd* -U-F -nrt- IM- U^ Wr 7+ r%n- U*r k»¥Y 吨-E-a-CYYY-d-dT£Y』-d 』£YY聞 诗匸戸H逻匚H虚ir 班ur lr 空*盅腐心H7W .出斗扇-询盅+討庚'■<!」一姿二亠二J•s IDI I r ^J a J H注圈r J V IGs 'll.-縊亟牡乘!r4鱼 UJ H J 3"^3困土卩J 」 —iy1—Ar=iC-JU- u 1理跚甘WI ^-±.'®.血n饲毀 U 33nt 训 卫 M4- <4 1J • eJ uvIN-H11: Kt 宙 fltt u VJ CJ 7 1:J nr「tr-■-S4 Lld lx-吐记鬥 15 JC 20地址鲨)出TO 21 SHE ~S 71 |' £ 4E T17Q73TDZ7 SELU ; E2丁 372 II T2 19 TC 2)0 T1 ~0CG-5FF 住片蚩宦岀CB1FI 酒 推令哥及器氓K 拓出%+]fm^'ALlSl啦tlttihi*1...L.-A ;7"" 抢令査•「=器出 F*W 出Mi 出 F.+1FRTF 寄右常沟和譚空 &她■7吓陀打片寻信吠 岳有寻V+1 +1 FF?A9ALPS 邁 1: .UJFF 諱空肯P 两再儘LRE 范出FE 軒5堆我輕碍器汀浑空+1CEFFF ■浮= 指晋哥:盲猛【R PC 満出 +JC6FFF 就儘值FITFC 縊七CB 卩PF 浮空指書寄存器TR确出 写人 *1二EPFT 存矿■脣与砂 榕吾Fr&输出 +17DJFF 淨空 扌沦童存器疋 戶瑜出&愉吕 写人 +.1肝药9ALU 白诵 堆战哥有器汨&输出F?-7F 寄有总信耳:弹空张出+1 F 阳9R 肌T1右蒔淖空 +17E?FS :臣锚宅直眨亍丁 奇有豈人扌言琴奇帝FT7锻岀写人 *jPF3F9ALUSi«堆孫誉養器寸4-1誉月肯恒iC R 于琴A凶it+二砒39DALU 上移萍空aWH士籐4-T.CF??5堆越安心器汀 崔与囂A 怡狞些宿PC 谊出A^atu 三-+1FF 即E 臣些誥SS? 空夸寻V浮空 &细出 +:PFm 旳ALI •亘迪 堆特奇樓器豈 浮主&希出 +11>乃旳AJA 言迪 茫存T 丄恒志加*询亡算4-1Ml 衍处畑&界ST 寄存畐A 指专壽有说出宵入. +1 C 疔FFfift 常沟叮FCittiE酉人 CBFFF 洱空 】前寄乔器IR FC 置出耳人+1.. 丄rI 7 4;32 Jl .12< T 丄Li I'DSJJ K ~U TOZ 时I?哋述割吕卫建亟口 TrLltAL.^®惟浮空A 谕出+1T CbFff :■?!描枣青有爨】R FC 輸出 训出 吗入+)a 11 SUE T3<C<r T1T1T'I4L TO I]lu 7 •设计结果说明 JF^TF C7FFE 存芒需值EW FF 剧时LU 百il CBFFF i 爭空IfFFFS 堆越昏存器TTCEFFF i 孚空 C6FFF 存!T 豈诗列 CHFPf 厚三 Ml■J '.tsm 浮空 3! C6FF?稈贮當僧lit冑毎器汙空 寄五誥W PC 樓屮, 离存器R?折志偸浮空 指爭岳存器応 PC 辅出 寄存2^ 浮空 猖E 寺存器話 PC 程出 菩谆器七 FC 辎出 措令肯存屢九 PCSj± 富春轄R? 浮空 指令荷详翹削 吐程土IV 髯土 卩-丘出『比土生土土 摘输昨愉骗喩愉厳犠输 ■A A -十rE Hi H i A 圭A A A朋出 诵出n - t - t ® .A /t - L +++写++1 U 入II 11入I* *耳+写+ 一与调试运行程序时是否出现问题,是否有重新调整指令 /微指令系统设计的情况出现?请在此做具体说明。