计算机组成原理指令系统
计算机组成原理第4章指令系统课件
4.2 指令的格式
4.2.1 指令的编码格式
操作码OC
AC1
AC2
(1)把保存操作前原来操作数的地址称为源点地址(SS), 把保存指令执行结果的地址称为终点地址或目的地址(DD)。
(2)将源点与终点操作数进行操作码规定的操作后,将 结果存入终点地址。通常二地址指令又称为双操作数指令。
ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以
5 异或XOR
XOR指令对两个操作数进 行按位异或运算。
4.4 指令的种类
4.4.4 移位、循环类指令
CF
位移指令SAL/SHL操作示意图
CF
SAR操作示意图
CF 0
SHR操作示意图
4.4 指令的种类
4.4.4 移位、循环类指令
不带进位标志的循环左移指令ROL MSB 操作数 LSB
CF
不带进位标志的循环右移指令ROR MSB 操作数 LSB
例如:在IBM-PC指令系统中
MOV
AX,05FFH
4.3 寻址方式
4.3.2 常用的寻址方式
2.直接寻址方式
(1)含义: 是指地址字段直接指明操作数在存储器内的位置的寻址 方法。即形式地址等于有效地址。 (2)优缺点: A、优点:简单,不需要进行加法运算。 B、缺点:地址空间指令地址字段长度的限制。
4.2 指令的格式
4.2.3 指令助记符
通常采用一些符号来代表二进制数据,这些符号即指 令助记符。
指令助记符 ADD SUB MUL DIV
助记符示例
含义
指令助记符
相加
AND
相减
OR
相乘
LOAD
相除
STORE
第05章 指令系统
计算机组成原理
第五章 指令系统
2013年7月10日星期三
9
5.2 指令格式 — 操作码扩展举例
2. 操作码扩展技术 • 操作码扩展举例:
– ① ② ③ ④ –
15
OP
12
11
A1
8
7
A2
4 3
A3
0
若3地址指令15条,2地址指令15条,1地址指令15条, 0地址指令16条,共61条指令如何编码? 15条3地址指令:OP = 0000 ~ 1110 15条2地址指令:OP = 1111把操作码扩充到A1字段 1111 0000 ~ 1111 1110 15条1地址指令:OP = 1111、 A1 = 1111把操作码 扩充到A2字段 1111 1111 0000 ~ 1111 1111 1110 16条0地址指令: 1111 1111 1111 0000 ~ 1111 1111 1111 1111 若3地址指令15条,2地址指令14条,1地址指令31条, 0地址指令16条,共76条指令如何编码?
64位双字数据地址:
•
边界按以上规则对齐理
第五章 指令系统
2013年7月10日星期三
15
5.4 寻址方式(编址方式) 1. 寻址方式概述 • 操作数的位置:
– 寄存器、存储器、IO端口、指令中
•
寻址方式(编址方式)
– 确定本条指令操作数的地址或下条指令地址 的方法。 – 不同的计算机有不同的寻址方式
操作码 … A 存储器 …
•
例:直接与间接寻址 确定下条指令的地址
JMP 0400 ;PC = 0400 JMP [0400] ;PC = 0500 JMP BX ;PC = 0600 ([0400] = 0500)
《计算机组成原理》教程第4章指令系统
4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.
计算机组成原理-指令系统
一地址指令格式: OP10扩bi展t 6bit A 6bit 设为Z 剩余(24-X)26-Z
零地址指令格式: OP16bit ∴Z= (24-X)26- Y 2-6
扩展6bit Y种 ((24-X)26-Z) 26=Y
操作码扩展技术
鲁东大学 LUDONG UNIVERSITY
EX2.机器指令长度为16位,地址码长度为6位,包含单地址 指令,双地址指令和无地址指令,试问单地址指令最多有 多少条?此时双地址指令和无地址指令各多少条?
鲁东大学 LUDONG UNIVERSITY
强调:操作码扩展技术思考方向
EX2:假设指令字长16位,操作数的地址码为必6须位是,操指作令码有增零长地方址向、
一地址、二地址三种格式。要求:
(1) 设操作码固定,若零地址有P种,一地址指令有Q种,则二 地址最多有多少对种定?长操作码指令格式,应满足最长地址码要求
指令格式-操作码字段
变长操作码指令系统 鲁东大学 LUDONG UNIVERSITY
--随着地址码长度的变化,操作码长度变化 --特点:与定长刚好相反
常用技术: 操作码扩展技术★
OP 4b A1 A2 A3
三地址指令格式
0000 … 1110
三地址指令15条
OP 4b A1 A2
1111 0…000 1110
用于零地址指令扩展的编码最少为1个
指令格式-地址码字段
鲁东大学 LUDONG UNIVERSITY
2.指令的一般格式
分析指令地址码类型
地址码
OP A1 A2 A3 A4
作用:用于指明操作数的地址; ① 四地址指令 ② 三地址指令 ③ 二地址指令 ④ 一地址指令 ⑤ 零地址指令
计算机组成原理-第4章_指令系统
7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
《计算机组成原理》5-指令系统
◆ CPU中设置程序计数器(PC)对指令的顺序号进行计 数。PC开始时存 放程序的首地址,每执行一条指令,PC 加”1”,指出下条指令的地址, 直到程序结束。
跳跃寻址 Leabharlann 转移指令指出AA22AA33
…
…
…
…
1111 1110 A2 A3
12 位操作码
1111 1111 0000 1111 1111 0001
AA33
…
…
…
…
1111 1111 1110 A3
16 位操作码
…
…
1111 1111 1111 0000 1111 1111 1111 0001 1111 1111 1111 1111
24
双字
28
双字(地址32)▲
32
双字
36
边界未对准
地址(十进制)
字( 地址2)
半字( 地址0)
0
字节( 地址7) 字节( 地址6)
字( 地址4)
4
半字( 地址10)
半字( 地址8)
8
5.2.2 数据类型
2、数据在计算机中存放方式
存储字长内部字节的次序
例: 12345678H如何存储? 12 34 56 78H
5.3.1指令寻址
指令寻址----计算指令有效地址的方法
指令地址
指令
指令地址寻址方式
PC +1
0 LDA
11 ADD 22 DEC 33 JMP
4 LDA
5 SUB 6 INC
77 STA 88 LDA
计算机组成原理 指令系统
IBM 370机的指令格式
8
4 4
4 4 4 12
RR型 RX型 RS型 SI型 SS型
OP
8
R1 R2 R1 X2
4 4
OP
8
B2
4
D2
12
OP
8
R1 R2
8
B2
4 B1 4
D2
12
OP
8
I2
8
D1
12 4 12
OP
L1
B1
D1
B2
D2
图4-1 IBM 370机的指令格式
2.非规整型
操作码字段的位数丌固定,丏分散地放 在指令字的丌同位置上。 PDP-11机(字长16位)的指令分为单 字长、两字长、三字长三种,操作码字段占4 ~16位丌等,可遍及整个指令长度。 显然,操作码字段的位数和位置丌固定 将增加指令译码和分析的难度,使控制器的设 计复杂化。
入 端口地址 如 出 如 AX, n IN AL, n CPU 的寄存器 OUT n, AL AX CPU 的寄存器 IN AL, DX AX, DX 端口地址 OUT DX, AL AX
4.2 寻址技术
所谓寻址,指的是寻找操作数的地址或下一 条将要执行的指令地址。寻址技术包括编址方 式和寻址方式。
AAA AAS AAM AAD AND OR NOT XOR TEST
3. 移位操作 算术移位
逻辑移位
循环移位(带迚位和丌带迚位)
4. 转移 (1) 无条件转移 JMP
(2) 条件转移 结果为零转 (Z = 1) JZ
如
结果溢出转
(O = 1)JO
300 …
完成触収器
结果有迚位转(C = 1)JC 跳过一条指令 SKP
计算机组成原理-指令系统
1 2
早期计算机的指令系统
以简单指令为主,操作码短,地址码少,寻址方 式简单。
现代计算机的指令系统
以复杂指令为主,操作码长,地址码多,寻址方 式多样化。
3
未来计算机的指令系统
随着技术的发展,指令系统将更加智能化、自动 化和个性化。
02
指令的格式与寻址方式
ቤተ መጻሕፍቲ ባይዱ
指令的格式
操作码字段
表示指令的操作类型,如加、减、乘、除等。
提高指令执行速度
优化操作码与地址码的设计,可以减少指令的解码 时间,从而提高指令的执行速度。
支持更多的操作和寻址方 式
通过扩展操作码和优化地址码的设计,可以 支持更多的操作和寻址方式,从而增强指令 系统的功能和灵活性。
04
指令系统的功能与性能分析
指令系统的功能分析
指令集架构
定义了计算机的基本操作和功能,包括数据类型、 操作码、寻址方式等。
指令执行单元
指令执行单元是计算机硬件的核心组件之一,负责执行解码后的指令。它包括算术逻辑单元 (ALU)、控制单元(CU)和寄存器文件等组件。
指令系统的软件实现技术
汇编语言
汇编语言是一种低级语言,与机器语言相对应。它使用助记符表示指令,方便程序员编写底层程 序。汇编语言编译器将汇编语言程序转换成机器语言程序。
能技术的发展,指令系统将更加注重智能优化能力,以提高程序的执行
效率和准确性。
06
指令系统实例分析
x86指令系统实例
指令集特点
x86指令系统是复杂指令集计算机(CISC)的代表,指令数量庞大, 寻址方式多样,支持多种数据类型和操作。
指令格式
x86指令格式多样,包括单字节、双字节和多字节指令,以及可变 长度的指令。
计算机组成原理_指令系统
4.1 指令系统的发展与性能要求 4.2 指令格式与 4.3 操作数类型 4.4 指令和数据的寻址方式 4.5 典型指令
返回
1
4.1 指令系统的发展与性能要求
1、指令在计算机系统中的地位 (1)是软件和硬件分界面的一个主要标志
– 硬件设计人员采用各种手段实现它;
– 软件设计人员则利Βιβλιοθήκη 它编制各种各样的系统软 件和应用软件
– 指令系统是表征一台计算机性能的重要因素,它的格式 与功能不仅直接影响到机器的硬件结构,而且也直接影
3
4.1 指令系统的发展与性能要求
3、发展情况 – 复杂指令系统计算机,简称CISC。但是如 此庞大的指令系统不但使计算机的研制 周期变长,难以保证正确性,不易调试 维护,而且由于采用了大量使用频率很 低的复杂指令而造成硬件资源浪费。 – 精简指令系统计算机:简称RISC,人们又 提出了便于VLSI技术实现的精简指令系统 计算机。
• Pentium数据类型(见P111表4.4)
– 常规数据类型 – 整数数据类型 – ……..
23
4.4 指令和数据的寻址方式
• 研究问题
– 确定本条指令中各操作数的地址 – 下一条指令的地址
• 寻址方式是指CPU根据指令中给出的地址码 字段寻找相应的操作数的方式,它与计算 机硬件结构紧密相关,而且对指令的格式 和功能有很大的影响。
30
2、立即寻址
• 特点:在取指令时,操作码和操作数被同时取出, 不必再次访问存储器,从而提高了指令的执行速 度。 • 但是,因为操作数是指令的一部分,不能被修改; • 而且对于定 长指令格式,操作数的大小将受到指 令长度的限制,所以这种寻址方式灵活性最差 • 通常用于给某一寄存器或主存单元赋初值,或者 用于提供一个常数。
计算机组成原理期末复习
《计算机组成原理》1.指令、指令系统、虚拟存储器、Cache的地址映像、微命令、微指令、输入设备、输出设备、中断系统、中断隐指令、光盘、指令周期、机器周期、节拍的定义指令:指令是指计算机执行某些操作的命令。
指令系统:一台计算机所有指令的集合。
虚拟存储器:将主存储器和辅助存储器的地址空间统一编址,在硬件和系统软件的共同管理下,可以把它们看成一个单一的存储器。
cache的地址映像:在cache中,地址映像是指把主存地址空间映像到cache地址空间,也就是把存放在主存中的程序按照某种规则装入cache中,地址映像有3种方法全相联映像,直接映像,组相联映像微命令:在微程序控制的计算机中,将控制部件向执行部件发出的各种控制命令叫做微命令。
微指令:指控制存储器中的一个单元的内容,即控制字,是若干个微命令的集合。
输入设备:向计算机输入信息的外部设备称为输入设备。
输出设备:接受计算机输出信息的外部设备称为输出设备。
中断系统:是计算机实现中断功能的软、硬件总称。
中断隐指令:CPU响应中断后,经过某些操作,转去执行中断服务程序。
这些操作是由硬件直接实现的。
光盘:用光学方式读写信息的圆盘称为光盘。
指令周期:CPU每取出一条指令并执行这条指令,都要完成一系列的操作,所需要的时间通常叫做一个指令周期。
机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
节拍:在一个机器周期内,要完成若干个微操作。
这些微操作有的时候可以同时执行,有的需要按先后次序串行执行。
因而应把一个机器周期分为若干个相等的时间段,每一个时间段对应一个电位信号,称为节拍电位信号。
2.冯·诺依曼等人提出的存储程序概念(教材P2,共3点)。
1)计算机应由运算器、存储器、控制器、输入设备、输出设备5大基本不见组成;2)计算机内部采用二进制来表示指令和数据;3)将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,这就是存储器程序的基本含义。
计算机组成原理 考研知识点
计算机组成原理考研知识点一、知识概述《计算机组成原理- 指令系统》①基本定义:指令系统就是一台计算机能执行的所有指令的集合。
就好比一个厨师能做的所有菜的菜谱,计算机就按照这个“菜谱”来干活儿。
②重要程度:在计算机组成原理中超级重要。
它相当于计算机的智慧源泉,如果没有指令系统,计算机就不知道该干啥了。
③前置知识:得先了解二进制,因为计算机里都是用二进制来表示这些指令的。
还得稍微知道点计算机硬件的基本结构,比如有运算器、控制器这些东西。
④应用价值:比如说编写操作系统的时候就必须按照指令系统的规则来搞,开发各种软件也离不开它。
要是开发一款游戏,那游戏里的各种操作,像人物走动、攻击等,最后都要转化成指令系统里的指令。
二、知识体系①知识图谱:指令系统处于计算机硬件和软件的中间地带,连接着计算机的物理结构和软件系统。
②关联知识:和计算机硬件中的运算器、控制器、存储系统等关系很密切。
比如指令要在运算器里进行运算操作,控制器来取指令指挥计算机各个部分的协同工作。
③重难点分析:- 掌握难度:指令格式的理解有点难,不同类型的指令格式可能有各种不同的字段。
- 关键点:理解每条指令的功能、指令的编码方式以及指令在计算机中的执行过程。
④考点分析:- 在考试中的重要性:非常重要。
经常在考研里出现。
- 考查方式:可能是直接考指令格式的意义,也可能给出一段程序描述,让你判断需要用到哪些指令或者写出指令序列。
三、详细讲解【理论概念类】①概念辨析:- 指令:是计算机执行某种操作的命令,例如让计算机把两个数相加,“相加”这个操作对应的命令就是指令。
- 指令系统:前面说过啦,所有能执行的指令的集合。
它有一定的指令格式,就像写信有一定的格式一样,比如说有操作码字段,表示要进行什么操作,还有地址码字段,可能表示操作数在哪里。
②特征分析:- 格式固定性:就类似菜谱的格式固定一样,指令系统有它固定的格式,不过不同计算机可能格式不同。
- 功能明确性:每条指令的功能都很明确,不会模棱两可。
计算机组成原理第四章指令系统[一]
例如:Intel8086 中的立即寻址指令.
MOV Ax,2000H; 将立即数2000H存入累加器AX中
2.存储器直接寻址(Memory direct addressing):指令的地
4.1 指令格式
1.指令格式
操作码 地址码
• 操作码(Operation code):指明该指令执行 什么性质的操作,不同的指令有不同的操作 码.其位数反映了机器操作种类,即机器允许 的指令条数.
• 地址码:指明操作数所在的地址(Source operand reference),结果存放的地址(Result operand reference)以及下一条指令的地址 (Next instruction reference).
• 变长指令字结构:一个指令系统中,各种指令字 长度随功能而异.CISC采用变长指令字结构. 优点:使用灵活,充分利用指令的每一位,指令平均 长度短,码点冗余少,易于扩展; 缺点:指令格式不规整,取指令时需要多次访存,从 而导致不同指令的执行时间不同,硬件控制系统 复杂.
2.地址码结构
设计指令的地址码格式时需解决:
XXXX XXXX 0000 1 1 01 1110 1110 1110 1111 1111 1111 1111
YYYY YYYY YYYY YYYY 0000 0001 1111 0000 1110 1111 1111
ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ
ZZZZ 0000 1111
指令格式为:
设Data为操作数
计算机组成原理第七章指令系统)
4 次访存 寻址范围 26 = 64
(A1) OP (A2) A3
(2) 三地址
若 PC 代替 A4
8
8
88
OP A1 A2 A3
(A1) OP (A2) A3
4 次访存 寻址范围 28 = 256
若 A3 用 A1 或 A2 代替
(3) 二地址
8
12
12
7.1 机 器 指 令
OP
A1
或 (A1) OP (A2)
Rn-1
ALU
操作数
• 由用户指定哪个通用寄存器作为基址寄存器 • 基址寄存器的内容由操作系统确定 • 在程序的执行过程中 R0 内容不变,形式地址 A 可变
8. 变址寻址 EA = ( IX ) +A
第七章 指 令 系 统
7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术
一、考试范围
• (一)指令格式 基本格式;定长操作码指令格式;扩展操作码指令
格式。 • (二)指令的寻址方式 有效地址的概念;数据寻址和指令寻址;常见寻址
方式。 • (三)CISC和RISC的概念
3. 隐含寻址 操作数地址隐含在操作码中
寻址特征
主存
ADD
A
ACC
A 操作数
另一个操作数 隐含在 ACC 中
ALU
暂存
如 8086
MUL 指令 被乘数隐含在 AX(16位)或 AL(8位)中 MOVS 指令 源操作数的地址隐含在 SI 中
目的操作数的地址隐含在 DI 中 • 指令字中少了一个地址字段,可缩短指令字长
• 指令系统的评价: 1)完备性 指令齐全,编程方便 2)高效性 程序占内存空间少,运行速度快 3)规则性 指令和数据使用规则统一简单,易
计算机组成原理(第三版)第 4 章 指令系统汇编
内存
有效地址 EA=[D]; [EA]= DATA; • 例如: ADD A,@[3050H] MOV A,@[3050H]
… EA … DATA
EA
INFO DEPT@ZUFE HANGZHOU.CHINA
5、寄存器寻址方式 ( Register Addressing )
寄存器寻址:操作数存放于指令的操作码所规定的寄存 器中即操作数位于寄存器中,操作数所在的寄存器编号 存放在指令的REG字段中。 • →速度快、指令短,操作数在CPU中; • 指令格式:
内存
有效地址 EA=[PC或IP]+D; [EA]=DATA (指令);
EA→
…
指令 …
D • 例如:JR SUB1-$
INFO DEPT@ZUFE HANGZHOU.CHINA
;
10、堆栈寻址 ( Stack Addressing )
• 操作数位于存储器中,操作数所在的存储器地址 EA由堆栈指针寄存器SP隐含指出,通常用于堆栈 指令。 • 堆栈是由若干个连续主存单元组成的先进后出( first in last out,即FILO)存储区,第一个放 入堆栈的数据存放在栈底,最近放入的数据存放 在栈顶。栈底是固定不变的,而栈顶是随着数据 的入栈和出栈在时刻变化。栈顶的地址由堆栈指 针SP指明。 • 一般计算机中,堆栈从高地址向低地址扩展,即 栈底的地址总是大于或等于栈顶的地址,称为堆 栈向上生成;堆栈寻址主要用来暂存中断和子程 序调用时现场数据及返回地址。
OP* MOD REG CPU 寄存器组
R0 … Ri
有效地址 EA=REG; [REG]= DATA; • 例如: EA→ ADD A, Ri ; MOV A, Ri ;
计算机组成原理中的指令系统与微程序
计算机组成原理中的指令系统与微程序指令系统和微程序是计算机组成原理中两个重要的概念。
指令系统是计算机内部实现各种功能的基本指令集合,而微程序是为了实现指令系统而设计的一种硬件逻辑。
本文将介绍指令系统和微程序的基本概念及其在计算机组成原理中的作用。
一、指令系统指令系统是计算机内部实现各种功能的指令的集合。
它定义了计算机可以执行的操作和数据处理方式。
指令系统包括指令的格式、寻址方式和操作码等要素。
指令系统决定了计算机的功能和性能。
指令系统中的指令可以分为多种类型,如数据传输指令、算术逻辑指令、控制指令等等。
不同类型的指令完成不同的操作,通过组合和执行这些指令可以实现计算机所需的各种功能。
指令系统的设计应考虑到计算机硬件的性能和复杂性。
一方面,指令系统应尽可能的简单,以提高计算机的执行效率;另一方面,指令系统也应具备足够的功能,以满足各种应用需求。
二、微程序微程序是为了实现指令系统而设计的一种硬件逻辑。
它是将指令系统的功能细化为一条条微指令,通过控制器按照微指令的顺序来执行各种操作。
微程序的设计思想是将指令的执行过程细化为若干个微操作,并将这些微操作编码为微指令。
每个微指令都包含了一条指令的执行操作,通过按照指令的顺序执行微指令,就可以实现整个指令系统的功能。
微程序的设计可以将指令系统的功能分解为若干个步骤,每个步骤对应一个微指令。
这样可以大大简化指令的执行过程,提高计算机的执行效率和灵活性。
微程序还可以方便地更新和修改,以适应不同的应用需求。
三、指令系统与微程序的关系指令系统和微程序是紧密相关的。
指令系统定义了计算机可以执行的操作和数据处理方式,而微程序则是实现这些操作和处理方式的具体方法。
微程序是指令系统的一种实现技术,它将指令系统的功能细化为一条条微指令,通过控制器按照微指令的顺序来执行各种操作。
通过微程序,可以实现复杂的指令功能,提高计算机的执行效率和灵活性。
指令系统和微程序之间的关系可以用一个类比来理解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
…
Ri 操作数
Rn 寄存器
• 执行阶段不访存,只访问寄存器,执行速度快 • 寄存器个数有限,可缩短指令字长
6. 寄存器间接寻址
EA = ( Ri )
寻址特征
OP
Ri
指令中的形式地址为寄存器的编 号,寄存器的内容是操作数的有 效地址。
主存
R0
…
…
Ri 地址
操作数
…
…
MOV AX , [BX]
Rn 寄存器
PC
7. 基址寻址
(1) 采用专用基址寄存器(隐式)
EA = ( BR ) + A
BR 为基址寄存器
寻址特征
OP
A
主存
BR
ALU
操作数
• 可扩大寻址范围 • BR 内容由操作系统或管理程序确定 • 在程序的执行过程中 BR 内容不变,形式地址 A 可变
(2) 采用通用寄存器作基址寄存器(显式)
寻址特征
(1) 寄存器寻址 R (2)寄存器间接寻址 (R)
(3)直接寻址 1000 (4)存储器间接寻址 (1000)
(5)相对寻址-2000(PC) (6)立即数寻址 #2000
解: (1) Data=( R)=1000 (2) Data=( ( R) )=(1000)=2000 (3) Data=(1000)=2000 (4) Data=((1000))=(2000)=3000 (5) EA=(PC)-2000=4000-2000=2000
(1) 相对寻址举例
LDA # 0
LDX # 0
M
ADD X, D
M+1 INX
M+2 M+3
CPX # N BNE M DIV # N
* 相对寻址特征 *–3
STA ANS
M 随程序所在存储空间的位置不同而不同
* 而指令 BNE – 3 与 指令 ADD X, D 相对位移量不变 * 指令 BNE – 3 操作数的有效地址为
• 指令系统中采用不同寻址方式的目的主要是缩短指 令长度,扩大寻址空间,提高编程灵活性。 • 各种操作数寻址方式的速度比较
立即寻址
快
寄存器寻址
直接寻址
寄存器间接寻址
变址寻址、基址寻址、相对寻址
间接寻址
慢
例:设( R )=1000,(1000)=2000,(2000)=3000,(PC)=4000, 问在以下寻址方式下访问到的操作数的值是什么?
解:(1)立即寻址,(累加器)=20
(2)直接寻址, (累加器)=(20)=30
(3)间接寻址, (累加器)=((20))=(30)=40
5. 寄存器寻址(寄存器直接寻址)
EA = Ri
寻址特征
指令中的形式地址直接指出寄 存器的编号,操作数存储于寄 存器中。
OP
Ri
R0
MOV AX , BX
…
…
…
EA = ( M+3 ) – 3 = M
(2) 按字节寻址的相对寻址举例
2000 H
8 OP 位移量
JMP * + 8
二字节指令
2000 H
8 OP 06 H
2008 H
2008 H
设 当前指令地址 PC = 2000H 转移后的目的地址为 2008H
因为 取出 JMP * + 8 后 PC = 2002H 故 JMP * + 8 指令 的第二字节为 2008H - 2002H = 06H
16个),所以是RR型指令,两个操作数均在寄存器中。 (4) 这种指令结构常用于算术逻辑运算类指令。
例: 指令格式如下所示,OP为操作码字段,试分析指令格 式特点。
Hale Waihona Puke 6244
OP
寻址特征
源寄存器 变址寄存器
位移量(16位)
解: (1) 双字长二地址指令,用于访问存储器。 (2) 操作码字段OP为6位,可以指定64种操作。 (3) 一个操作数在源寄存器(共16个),另一个操作数在存
存储字长 32 位 进栈 (SP)– 4 SP
出栈 (SP)+ 4 SP
例7.3 一条双字长直接寻址的子程序调用指 令,其第一个字为操作码和寻址特征,第二 个字为地址码5000H。假设PC当前值为 2000H,SP的内容为0100H,栈顶内容为 2746H,存储器按字节编址,而且进栈操作 是先执行(SP)-⌂SP,后存入数据。回答 下列几种情况下,PC、SP及栈顶内容各为 多少?
• 有效地址在寄存器中, 操作数在存储器中,执行阶段访存
偏移寻址
直接寻址和寄存器间接寻址方式的结合 有效地址EA=A+(R)
A是显式的形式地址字段; R可以是显式的,也可以隐含的,某个专用的寄存器;
常用的偏移寻址
基址寻址:EA=(基址R)+A ,基址R不变,A可变 变址寻址:EA=(变址R)+A ,A不变,变址R可变 相对寻址:EA=(专用R)+A
OP
R0 A
R0 作基址寄存器
主存 R0
…
R1 通用寄存器
Rn-1
ALU
操作数
• 有利于多道程序 • 由用户指定哪个通用寄存器作为基址寄存器
• 基址寄存器的内容由操作系统确定 • 在程序的执行过程中 R0 内容不变,形式地址 A 可变
8. 变址寻址
EA = ( IX ) +A
IX 为变址寄存器(专用)
Data=(EA)=(2000)=3000 (6) Data=2000
例7.2 设相对寻址的转移指令占3个字节,第一字节为 操作码,第二、三字节为相对位移量(补码表示), 而且数据在存储器中采用以低字节地址为字地址的存 放方式。每当CPU从存储器取出一个字节时,即完成
(PC)+1PC.
(1)若PC当前值为240(十进制),要求转移到290 (十进制),则转移指令的第二、三字节的机器代码 是什么?
12F0F00F H
–1
进栈
栈顶 栈顶
SP
1FFFH 2000 H
12F0F00F HH
+1
出栈
栈顶 栈顶
… …
栈底
栈底
(2) 堆栈寻址举例
主存
ACC 15
栈顶
SP 200H 200H
X
PUSH A 前
栈底
ACC 15 SP 1FFH
主存
栈顶 1FFH 15 200H X
PUSH A 后
栈底
ACC Y SP 1FFH
储器中(由变 址寄存器和位移量决定),所以是RS型指令。
例1 某计算机字长16bit,主存容量64K。指令系统共有 58条指令,有直接、间接、相对和变址四种寻址 方式,指令为单字长单地址指令。请设计该指令 系统的指令格式并指出直接和间接寻址的范围。
形式地址 A 指令字中的地址 有效地址 EA 操作数的真实地址 有效地址由形式地址根据寻址方式来确定。 约定 指令字长 = 存储字长 = 机器字长
1. 立即寻址(立即数寻址)
形式地址 A 就是操作数,不是操作数地址
立即寻址特征 OP # A
立即数
MOV AX, #20H 可正可负 补码
• 指令执行阶段不访存
❖ 变址寄存器中存放的是数组的下标,而基址寄存器 中存放的是数组的起始位置,数组下标在指令中给出。
9. 相对寻址
EA = ( PC ) + A A 是相对于当前指令的位移量(可正可负,补码)
寻址特征
OP PC 1000
A 主存
ALU
1000 OP
A
…
操作数
相对距离 A
• A 的位数决定操作数的寻址范围 •有利于编写浮动程序 • 广泛用于转移指令
6 INC
77 STA 88 LDA
9
...
1000 1001 1200
7 2000 2001
2500 1100
指令地址寻址方式
顺序寻址 顺序寻址 顺序寻址
跳跃寻址 顺序寻址
二、数据寻址
数据寻址有多种,需要在指令中明确指出采用哪一 种寻址方式,可以专门设置一个寻址方式特征字段, 或纳入操作码中。
操作码 寻址特征 形式地址 A
(1)CALL指令被读取前。
(2)CALL指令被执行后。
(3)子程序返回后。
例:指令格式如下所示,其中OP为操作码,试分析指令格式的 特点。
7
1
OP 寻址特征
4
4
源寄存器 目标寄存器
解: (1) 单字长二地址指令。 (2) 操作码字段OP可以指定128条指令。 (3) 源寄存器和目标寄存器都是通用寄存器(可分别指定
特点: 简单、直观、硬件实现容易。只能访问固定的存 储单元。
3. 隐含寻址
指令中不直接给出操作数地址,操作数地址隐含在操作
码或某个(约定)寄存器中。
寻址特征
主存
ADD
A
另一个操作数 隐含在 ACC 中
A 操作数
ACC ALU
暂存
如 8086
MUL 指令 被乘数隐含在 AX(16位)或 AL(8位)中 MOVS 指令 源操作数的地址隐含在 SI 中
❖ 变址寻址与基址寻址的不同:
❖ ----在使用变址寻址时,由指令提供形式地址作为基准 量,其位数足以指向整个主存;变址寄存器提供修改量, 其位数可以较短。
❖ 在使用基址寄存器时,由基址寄存器基准量,其位 数足以指向整个主存;而指令给出形式地址作为位移量, 其位数往往较短。
❖ ---- 从应用目的看,变址寻址面向用户,可以访问字符 串、数组等成批数据;基址寻址面向系统,解决程序在 实际主存中的重定位问题,以及在有限字长指令中扩大 寻址空间等。