组成原理课设加减法指令的实现
实验二加减法器

计算机组成原理实验报告一、实验目的及要求本次实验要求掌握加法器、减法器的设计与实现。
可以利用原理图设计并实现 1 位、8 位和32 位加法器,以及32 位加减器。
设计1 位加法器,将加法器中加入减法功能,可以利用SUB(减)的控制信号;二、实验设备(环境)及要求1. Windows 2000 或Windows XP2. QuartusII9.1 sp2、DE2-115 计算机组成原理教学实验系统一台。
三、实验内容与步骤(1)两个二进制数字A,B 和一个进位输入C0相加,产生一个和输出S,以及一个进位输出C1,这种运算电路成为全加器(1 位加法器)。
1 位全加器有两个输出S 和C1,其中S 为加法器的和,C1 为进位位输出。
下表中列出一位全加器进行加法运算的输入输出真值表:表2-1 加法器的真值表根据以上真值表,可以得到 1 位加法器的输入与输出逻辑关系。
根据上面的逻辑关系式可以建立如下图的 1 位加法器的原理图接着进行功能仿真:开始功能仿真,在【Processing】菜单下,选择【Start Simulation】启动仿真工具。
实验结果:在5-10ns 时,A=1,B=0,C0=0,则C1=0,S=1;在15-20ns 时,A=1,B=1,C0=0,则C1=1,S=0;在30-35ns 时,A=0,B=1,C0=1,则C1=1,S=0;在35-40ns 时,A=1,B=1,C0=1,则C1=1,S=1;(2)8 位加法器的原理图设计实验原理8 位加法器用于对两个8 位二进制数进行加法运算,并产生进位。
8 位加法器真值表如下所示:表中A[7..0]表示 A 有8 位输入端:A7-A0;B[7..0]表示 B 有8 位输入端:B7-B0;S[7..0]表示S 有8 位输入端:S7-S0。
8 位加法器的A、B 都有8 个输入端,加上进位CIN,共有17 个输入端。
它有9 个输出端,即S7-S0 和COUT,因此8 位加法器可由8 个 1 位加法器构成。
课设必备之计算机组成原理课程设计--加减法指令的实现讲解

学号:0121010340301课程设计题目模型机的总体设计学院计算机科学与技术专业计算机科学与技术班级计算机1003姓名王俊哲指导教师许毅2011 年12 月30 日课程设计任务书学生姓名:王俊哲 _ 专业班级:计算机指导教师:许毅 __ 工作单位:计算机科学与技术学院题目: 基本模型机的设计——加减法指令的实现初始条件:理论:学完“电工电子学”、“数字逻辑”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。
实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。
2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。
3、课程设计的书写报告应包括:(1)课程设计的题目。
(2)设计的目的及设计原理。
(3)根据设计要求给出模型机的逻辑框图。
(4)设计指令系统,并分析指令格式。
(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。
(6)模型机当中时序的设计安排。
(7)设计指令执行流程。
(8)给出编制的源程序,写出程序的指令代码及微程序。
(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中加减法指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。
(10)课程设计总结(设计的特点、不足、收获与体会)。
时间安排:周一:熟悉相关资料。
周二:系统分析,设计程序。
周三、四:编程并上实验平台调试周五:撰写课程设计报告。
指导教师签名:年月日系主任(或责任教师)签名:年月日基本模型机的设计—加减法指令的实现1.设计目的本次课程设计主要是完成简单的加减法指令的实现,通过使用软件HKCPT,了解程序编译、加载的过程。
计算机组成原理补码加减法运算

ta越小越好。
由一位全加器(FA)构成的行波进位加法器: 缺点: (1)串行进位,它的运算时间长; (2)只能完成加法和减法两种操作而不能完成逻辑操作。
能否提前产生各位的进位输入? 使得各位的加法运算能并行起来,即可提高多位加法器运算速度
0 .1 0 1 0 1
[x]补 + [y]补
0. 1 0 1 1 0. 1 0 0 1
+ 0 .0 1 0 0 0
[x+y]补 1. 0 1 0 0
0 .1 1 1 0 1
两个正数相加的结果成为负数,这显然是错误的。
正常结果
例:x= -0.1101, y= -0.1011, 求x+y。
解:
[x]补=1.0011
101
0
1
110
0
1
111
1
1
计算机组成原理
Ci+1
Si
FA
Ci
Ai Bi
一位全加器
16
16
逻辑方程
Si Ai Bi Ci
Ci1 Ai Bi ( Ai Bi )Ci Ci+1
Si
≥1
=1
Si
&
ImNaoge
C i+1
FA
Ci
&
=1
Ai Bi 逻辑符号
计算机组成原理
Ci
Ai Bi
17
17
C2 = A2B2+(A2⊕B2) C1=G2+P2C1 =G2+P2(G1+P1C0) =G2+P2G1+P2P1C0
3.5加法指令实现原理

加法指令实现原理
计算机的工作原理与硬件体系结构
用ALU、指令存储器、数据存储器
实现加法
计算机的工作原理与硬件体系结构
3.5加法数据连路图
加法数据连路图由四部分组成:
指令存储器、数据存储器、控制
器、ALU单元
ALU
ALU具有2个输入,每个输入为一排数
1个输出,输入数据操作后的结果
由控制线决定加减法运算
存储器
存储器由触发器控制数据读取,触发器由4个与、非门实现,通过数据链路选择器,存储器即可实现对地址的访问。
Enable
控制器
控制器示意图[31-26]:指令操作的前6位
4个输出:RegDst、ALUOp、ALUSrc
、RegWrite:
例1
例1、c = a+b: 将地址a(00000)中存的数和地址b(00010)中存的数相加,存在地址c(00100)中
操作码RS
RT RD other 00000100000
0000000000000010001000
10
1115162021252631
例2
例2、c = a+FF00H: 将地址a(00000)中存的数和FF00H相加,结果存在地址c(00010)中
001100
操作码RS RT Immediate 00000000101111111100000000
15
162021252631
小结
与非门实现ALU
与非门实现触发器
与非门实现数据存储器
与非门实现控制器。
微机原理与接口技术:加法减法运算指令

1. 加法运算指令和调正指令ADD,ADC,INC,AAA,DAA(1)不带进位的加法运算指令ADDADD指令完成两个操作数相加,并将结果保存在目的操作数中。
指令格式:ADD OPRD1, OPRD2功能:操作数OPRD1与OPRD2相加,结果保存在OPRD1中。
说明:操作数OPRD1可以是累加器AL或AX,也可以是其它通用寄存器或存储器操作数,OPRD2可以是累加器、其它通用寄存器或存储器操作数,还可以是立即数。
OPRD1和OPRD2不能同时为存储器操作数,不能为段寄存器。
ADD指令的执行对全部6个状态标志位产生影响。
例如:ADD AL, BL ;AL+BL结果存回AL中。
ADD AX, SI ;AX+SI结果存回AX中。
ADD BX, 3DFH ;BX+03DFH结果存回BX中。
ADD DX, DA TA[BP+SI] ;DX与内存单元相加,结果存回DX中。
ADD BYTE PTR[DI], 30H ;内存单元与30H相加,结果存回内存单元中。
ADD [BX], AX ;内存单元[BX]与AX相加,结果存回[BX]中。
ADD [BX+SI], AL ;内存单元与AL相加,结果存回内存单元中。
【例题3-3】求D9H与6EH的和,并注明受影响的标志位状态。
MOV AL, 0D9HMOV BL, 6EHADD AL, BL结果AL=47H,标志位CF=1,PF=1,AF=1,ZF=0,SF=0,OF=0(2)带进位的加法运算指令ADCADC指令完成两个操作数相加之后,再加上Flags的进位标志CF。
CF的值可能为1或0。
指令格式:ADD OPRD1, OPRD2功能:操作数OPRD1与OPRD2相加后,再加上CF的值,结果保存在OPRD1中。
说明:对操作数的要求与ADD指令一样。
例如:ADC AL, BLADC AX, BXADC [DI], 30HADC指令主要用于多字节数的加法运算,以保证低位向高位的进位被正确接收。
计算机组成原理--运算方法:加减乘除

计算机组成原理--运算⽅法:加减乘除补码加减法补码加法公式:[x+y]补=[x]补+[y]补补码减法:为了将减法转变为加法,需证明公式: [x-y]补=[x]补+[-y]补(证明)为了求得同时[-y]补,需要证明[-y]补=[y]补+2^-n(意义是[-y]补等于[y]补取反,末位加1)溢出检测溢出的检测可能产⽣溢出的情况两正数加,变负数,上溢(⼤于机器所能表⽰的最⼤数)两负数加,变正数,下溢(⼩于机器所能表⽰的最⼩数)定点原码乘法定点乘法原理n位乘n位积可能为2n位.乘积的最后是所有部分积之和,有n个数相加,⽽FA只有两个输⼊端,机器⼀次只能进⾏两个数的相加,不能进⾏多个数据的加法。
⼿⼯计算中,乘数的每⼀位是0还是1都可直接看见,⽽在计算机中,采⽤放乘数的寄存器的每⼀位直接决定本次相加数是被乘数还是0是很不⽅便的,若采⽤该寄存器的最低⼀位来执⾏这种判断就简便了。
计算机中执⾏乘法时,积的符号位由被乘数和乘数的符号位通过⼀个半加器(即异或门)实现。
数值部分的运算规则是:从最低位Y0开始,当乘数Yi为1时,将上次部分积加上被乘数的绝对值,然后右移⼀位,得到新的部分积;当Yi为0时,则写下全0。
然后再对乘数Y的⾼⼀位进⾏类似乘法运算。
重复“加—右移”操作N次,可得到最后的乘积。
R0存放部分积,R2存放被乘数,R1存放乘数R0清零,R2存放被乘数,R1存放乘数。
乘法开始时,“启动”信号时控制CX置1,于是开启时序脉冲T,当乘数寄存器R1最末位为“1“时,部分积Z和被乘数X在加法器中相加,其结果输出⾄R0的输⼊端。
⼀旦控制脉冲T到来,控制信号LDR0使部分积右移1位,与此同时,乘数寄存其R1也在控制信号LDR1作⽤下右移⼀位,且计数器I记数⼀次;将步骤三重复执⾏N次当计数器I=n时,计数器I的溢出信号使控制触法器CX置0,关闭时序脉冲T,乘法宣告结束原码算法存在的缺点:⼀是符号位需要单独运算,最后给运算结构以正确的符号;⼆是对于采⽤补码存储的机器,从存储器中取出的是操作数的补码,需先将其转换成原码,这样很不⽅便,⽽且影响速度。
【免费下载】计算机组成原理实验 加减法运算器设计

计算机组成原理与汇编语言实验报告实验二: 加减法运算器的设计与实现专业班级:xxxxxxxxxx学号:xxxxxxx 姓名:xxx学号:xxxxxxx 姓名:xxx实验地点:实验时间:实验二加减法运算器的设计一、实验目的1、理解加减法运算器的原理图设计方法2、掌握加减法运算器的VERILOG语言描述方法3、理解超前进位算法的基本原理4、掌握基于模块的多位加减运算器的层次化设计方法5、掌握溢出检测方法和标志线的生成技术6、掌握加减运算器的宏模块设计方法二、实验任务1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。
模块的端口描述如下:module lab2_RippleCarry 宽度可定制(默认为4位)的行波进位有符号数的加减法器。
#(parameter WIDTH=4)( input signed [WIDTH-1:0] dataa,input signed [WIDTH-1:0] datab,input add_sub, // if this is 1, add; else subtractinput clk,input cclr,input carry_in, //1 表示有进位或借位output overflow,output carry_out,output reg [WIDTH-1:0] result)2、修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块。
模块的端口描述如下:module lab2_LookaheadCarry // 4位超前进位无符号加法器(input [3:0] a,input [3:0] b,input c0,//carry_ininput clk,input cclr,output reg carry_out,output reg [3:0]sum);3、在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。
计算机组成原理加减交替的阵列除法器实验

计算机组成原理加减交替的阵列除法器实验计算机组成原理是计算机科学中的一门重要课程,而阵列除法器则是其中的重要实验内容之一。
在这个实验中,我们将学习如何利用加减交替的方式来完成除法运算。
阵列除法器是一种计算机硬件,用于执行除法运算。
其核心思想是将被除数不断地与除数进行比较,直到减数小于或等于被除数。
这个过程类似于手算中的竖式除法。
在阵列除法器中,被除数和除数都被表示为二进制数,并通过寄存器进行存储。
被除数和除数都要进行位扩展,保证它们能够进行正常的比较。
除数左移一位相当于乘以2,而右移一位相当于除以2。
在加减交替的过程中,我们先根据除数的最高位,将被除数右移一个位数,并记录下该位数的值,然后使用加法器对被除数进行加减交替操作。
如果被除数大于或等于除数,则表示该位上的商为1,否则商为0。
将得到的商左移一位,然后将被除数和商相减,得到余数。
如果余数小于除数,则表示剩下的所有位数的商都为0。
如果余数大于除数,则使用余数代替被除数,并继续进行加减交替,直到余数小于或等于除数为止。
为了更好地理解这个过程,我们可以通过一个简单的例子来进行说明。
假设我们要计算的是7除以3的结果。
首先将7和3转换为二进制数,得到分别为111和011。
然后进行位扩展,得到1110和0110。
接下来,我们开始进行加减交替的操作。
首先,我们将1110右移一位,得到0111,并将1记录下来。
然后,我们使用加法器对0111和0110进行加减交替操作。
由于0111大于或等于0110,因此我们将得到的商左移一位,得到0010。
然后将0111和0110相减,得到0001。
由于0001小于0110,因此这个过程结束,7除以3的结果为2余1。
通过这个例子,我们可以看到,阵列除法器的加减交替过程虽然比较复杂,但是其本质可以归结为不断地进行位移和加减操作。
掌握了这个原理之后,我们就能够利用阵列除法器来完成更加复杂的除法计算了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件1:课程设计题目加减法指令的实现学院计算机科学与技术专业计算机科学与技术班级姓名指导教师2011年 6 月30 日课程设计任务书学生姓名:专业班级:指导教师:工作单位:计算机科学与技术学院题目: 基本模型机的设计——加减法指令的实现初始条件:理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。
实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。
2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。
3、课程设计的书写报告应包括:(1)课程设计的题目。
(2)设计的目的及设计原理。
(3)根据设计要求给出模型机的逻辑框图。
(4)设计指令系统,并分析指令格式。
(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。
(6)模型机当中时序的设计安排。
(7)设计指令执行流程。
(8)给出编制的源程序,写出程序的指令代码及微程序。
(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中加减法指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。
(10)课程设计总结(设计的特点、不足、收获与体会)。
时间安排:周一:熟悉相关资料。
周二:系统分析,设计程序。
周三、四:编程并上实验平台调试周五:撰写课程设计报告。
指导教师签名:年月日系主任(或责任教师)签名:年月日基本模型机的设计——加减法指令的实现1课程设计的目的1、掌握了各个单元模块的工作原理,进一步将其组成完整的系统,构造成1台基本的模型计算机。
2、掌握计算机组成原理实验平台的使用,加深对计算机各模块协同工作的认识,建立清晰完整的整机概念。
3、通过使用软件HKCPT,了解程序编译、加载的过程。
4、通过微单步、单拍调试,理解模型机中的数据流向。
2课设原理本个实验能在微程序的控制下自动产生各种单元模块的控制信号,实现加减法指令的功能。
在本实验中,计算机的数据通道、CPU从内存中取出机器指令,解释、执行指令都将由微指令组成的时序来完成,即一条机器指令对应一个微程序。
1 根据各模块控制信号连接表用导线将实验平台HKZK-CPT板上的各单元连接好(总线和内存单元,微程序控制单元,寄存器组单元,算术逻辑单元,指令寄存器,启停单元等)。
2 设计好加减法指令并编译运行。
在软件HKCPT中,分别输入设计好的两个程序,并且分别编译、加载到实验平台中。
3 分别运行程序,通过软件HKCPT的微单步功能可观察各个变量的变化。
3模型机的逻辑框图根据设计要求,模拟机的逻辑框图如下:4指令系统的设计4.1指令类型(1)算术/逻辑运算指令如:进行加法、减法、取反、逻辑运算例如: ADD A,RiSUB A,RiAND A,Ri(2)移位操作指令带进们位或不带进位的移位指令例如:RRC A, RiRR A(3)数据传送类指令CPU内部寄存器之间进行数据传递例如: MOV A,RIMOV RI,A(4)程序跳转指令程序跳转指令可分为无条件跳转指令和有条件跳转指令两大类.它可以根据寄存器的内容是否为零来标志(ZD),有进位标志(CY),也可以根据实际情况自行设置。
例如: 无条件跳转指令JMP addrZD=0 时跳转 JZ addrCY=0 时跳转 JC addr自定义的跳转语句 JN addr(5)存储器操作类指令存储器读/写指令,用来把内在单元写入寄存器中或把寄存器中的内容写入存储器。
例如: LDD addr (addr→A)STA addr (A)→addr)4.2操作数寻址方式和编码操作数寻址方式就是形成操作数有效地址的方法.寻址过程不是用X和D的不同组合形成操作数有效地址的过程.其图示如下:(1)立即数寻址操作数直接给出在指令字中,即指令字中直接给出的不是操作数地址,而是操作数本身。
主要用法:把一个确定的数据传送到一个通用寄存器中。
单字指令:双字指令:(2)直接寻址在指令的操作码地址字段直接给出操作数在存储器中的地址单字指令:双字指令:(3)寄存器寻址寄存器中存放操作数,指令中给出寄存器编号(名字、地址),寄存器寻址在指令中占用位数少,有利于缩短指令字长度,取数、保存结果迅速方便,是最基本、最简单的寻址方式。
(4)寄存器间接寻址寄存器中存放操作数的地址,根据该地址去读写存储器,形式地址为寄存器编号(名字)5微程序及其实现在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至少可以有24个微操作控制信号,可由微代码直接实现。
由于本实验中,模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式.在模型机中,用指令操作码的高压4位作为核心扩展成8位的微程序入口地址MD0-MD7,这种方法称为”按操作码散转”(如下图所示)。
每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。
微指令的运行顺序为下地址确定法,每条微指令执行过后微地址自动加1,指向下一条微地址。
6模型机中时序的设计。
因为模型机已经确定了指令系统,微指令采用编码纯控制场的格式,微程序入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。
在此次实验中,由监控单元产生一个PLS-O的信号来控制时序产生。
PLS-O信号经过时序单元的处理产生了4个脉冲信号(如下图所示:)。
4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。
PLS1:微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。
PLS2:PC 计数器的工作脉冲,根据微指令的控制实现PC 计数器加1和重置PC 计数器(跳转指令)等功能。
PLS3:把24位微指令打入3片微指令锁存器。
PLS4:把当前总线上的数据打入微指令选通的寄存器中。
SIGNPLS1PLS2PLS3PLS47设计指令执行流程在模型机处于停机状态时,模型机的微地址寄存器被清零,微地址锁存器输出无效(为高)。
在处于停机状态时,脉冲PLS1对微地址寄存器(74LS161)无效,微地址寄存器保持为零。
脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机设置为运行状态,使微程序锁存器输出有效。
PLS3把微程序锁存器00H单元(00H单元存放着取指微指令)中的内容打入微指令锁存器中,并且输出取指微指令。
PLS4把从程序存储器中读出的数据打入指令寄存器中。
在模型机处于运行状态时,脉冲PLS1将微地址寄存器(74LS161)加1,脉冲PLS2将PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。
PLS4把当前总线上的数据打入当前微指令所选通的寄存器。
在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令中都必须有一机器周期是用来“取指令周期”,称为公操作周期。
1.MOV A,#DATA该指令的功能为DATA→A,须执行如下微操作:(PC)+1→PC ;PC+1,为取下条指令字节准备RAM→ODB→IDB→A ;从内存单元中读出DATA值送入累加器A(PC)→LAB→OAB;PC计数器内容作访问内存地址(RAM)→ODB→IDB→IR1;从内存该地址单元读出指令字节送指令寄存器IR1 MOV A,#DATA由2个微指令周期完成指令执行:1)PC+1为取下条指令字节准备,从内存读出数据送入累加器A。
2)取指微指令,从内存读出指令送指令寄存器。
2.MOV Ri,#DATA该指令的功能为DATA→Ri,需执行如下微操作:(PC)+1→PC ;PC+1,为取下条指令字节准备(RAM)→ODB→IDB→Ri;从内存通过数据总线中读出数据送入Ri(PC)→LAB→OAB;PC计数器内容作访问内存地址(RAM)→ODB→IDB→IR1;从内存该地址单元读出指令字节送指令寄存器IR1 MOV Ri,#DATA由2个微指令周期完成指令执行:1)PC+1为取下条指令字节准备,从内存通过数据总线中读出数据送入寄存器Ri。
2)取指微指令,从内存读出指令送指令寄存器。
3.ADD A,Ri该指令的功能为(A)+(Ri)→A,需执行如下微操作:(PC)+1→PC ;PC+1,为取下条指令字节准备(A)→DR1;累加器A内容送ALU(Ri)→DR2 ;寄存器Ri内容送ALU(A)+(Ri) →IDB→A;使ALU执行加法,结果经IDB最后送入累加器AC→CY;据加法结果置进位标志CY(PC)→LAB→OAB;PC计数器内容作访问内存地址(RAM)→ODB→IDB→IR1;从内存该地址单元读出指令字节送指令寄存器IR1 ADD A,Ri由4个微指令周期完成指令执行:1)PC+1为取下条指令字节准备,累加器A内容送ALU的DR1锁存器。
2)寄存器Ri内容送ALU的DR2锁存器。
3)ALU将计算结果送累加器A,据加法结果置进位标志CY。
4)取指微指令,从内存读出指令送指令寄存器。
4.SUB A,Ri该指令的功能为(A)-(Ri)→A,需执行如下微操作:(PC)+1→PC ;PC+1,为取下条指令字节准备(A)→DR1;累加器A内容送ALU(Ri)→DR2;寄存器Ri内容送ALU(A)-(Ri) →IDB→A;使ALU执行减法,结果经IDB最后送入累加器AC→CY;据减法结果置进位标志CY(PC)→LAB→OAB;PC计数器内容作访问内存地址(RAM)→ODB→IDB→IR1;从内存该地址单元读出指令字节送指令寄存器IR1 SUB A,Ri由4个微指令周期完成指令执行:1)PC+1为取下条指令字节准备,累加器A内容送ALU的DR1锁存器。
2)寄存器Ri内容送ALU的DR2锁存器。
3)ALU将计算结果送累加器A,据减法结果置进位标志CY。
4)取指微指令,从内存读出指令送指令寄存器。
5.STA ADDR该指令的功能为(A)→ADDR,需执行如下微操作:(PC)+1→PC ;PC+1,为取下条指令字节准备RAM→IDB→IR2 ;由内存通过数据总线将ADDR地址送地址寄存器IR2IR2→IAB→OAB ;将IR2的地址送到当前的内存A→RAM ;将累加器A的内容写入RAM地址ADDRSTA ADDR由3个微指令周期完成指令执行:1)PC+1为取下条指令字节准备,置当前内存单元地址为ADDR。