计算机组成原理指令系统方案
《计算机组成原理》教程第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中详讲.
计算机组成原理-第4章_指令系统
7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
计算机组成原理-指令系统
字段长度规定:
定长操作码指令系统
变长操作码指令系统
指令格式-操作码字段
鲁东大学 LUDONG UNIVERSITY
定长操作码指令系统
操作码n bit 操作码n bit 操作码n bit
操作码字段固定长度为n位 则:该指令系统最多可容纳2n条指令 特点: (优)操作码译码简单
(缺)随着地址码增加,指令长度增加
•画出所有的指令格式
二地址指令 OP 4b A1 6b A2 6b
一地址指令 OP 4b + 6b
零地址指令
OP 10b
•分析操作码使用情况
A 6b + 6b
此时最多为1条 剩余编码24-1 设为X条,则剩余编码 (24-1)•26-X=1
此时最多为1•26条
单地址指令最多的情况
二地址指令最少为1条
指令格式-操作码字段
变长操作码指令系统 鲁东大学 LUDONG UNIVERSITY
--随着地址码长度的变化,操作码长度变化 --特点:与定长刚好相反
常用技术: 操作码扩展技术★
OP 4b A1 A2 A3
三地址指令格式
0000 … 1110
三地址指令15条
OP 4b A1 A2
Hale Waihona Puke 1111 0…000 1110用于零地址指令扩展的编码最少为1个
指令格式-地址码字段
鲁东大学 LUDONG UNIVERSITY
2.指令的一般格式
分析指令地址码类型
地址码
OP A1 A2 A3 A4
作用:用于指明操作数的地址; ① 四地址指令 ② 三地址指令 ③ 二地址指令 ④ 一地址指令 ⑤ 零地址指令
A指1:令源不操需作要数操1的作地数址 AA只如22需::源:源要操N21O/个作目P操数的H作2操L的T数作…地数址地址 A执或3行:者目操操的作作操:数作o隐数p(含的A1地) 址(A1) 执 或(如A者行1:另操)oC一作pB(个:AW2,操C()AW作1(D)A数o…2p隐)(A含2存)放(A3) ∵A如结4果?果-其如-?下可中存一以一放条存个在指放源A令在C操C的其作中地中数址一隐个含源地地址址中 ∴在 指则 执 (A源向执行可1)2下行o操继和p一操作续(目A条作减:C的指后C少可)令,地以则A址使C通码用C过A或一2(A者地4(址)A1,P) AC3省去
《计算机组成原理》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
计算机组成原理(白中英)第4章指令系统
计算机组成原理(白中英)第4章指令系统指令系统概述寻址方式指令系统20XX年3月15日10时45分概述指令:是指示计算机某种操作的命令。
微指令,机器指令,宏指令指令系统:一台计算机中所有机器指令的集合。
它是机器硬件设计的依据,也是软件设计的基础。
它决定了一台计算机硬件的主要性能和基本功能。
是硬件和软件间的界面。
系列计算机:有共同的指令集,相同的基本体系结构。
CISC和*****X年3月15日10时45分2一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。
1.完备性:指令丰富,功能齐全,使用方便。
完备性 2.有效性程序占空间小,执行速度快。
有效性: 2.有效性:程序占空间小,执行速度快。
3.规整性对称性,匀齐性,规整性:3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。
据格式的一致性。
4.兼容性兼容性:4.兼容性:向上兼容”----系列机中低档机上运行“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。
的软件可以在高档机上运行。
20XX年3月15日10时45分计算机语言与硬件结构的关系高级语言的语句和用法与具体机器的指令系统无关;低级语言分机器语言和汇编语言,他们和具体机低级语言分机器语言和汇编语言,器的指令系统密切相关。
器的指令系统密切相关。
汇编语言与硬件的关系密切,编写的程序紧凑、汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。
编写与硬件没有直接关系的应用软件。
20XX年3月15日10时45分4概述机器指令的要素C C C C 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。
指令字(简称指令)即表示一条指令的机器字。
计算机组成原理指令系统
…
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
【计算机组成原理】指令系统-寻址
【计算机组成原理】指令系统-寻址⼀、指令和数据的寻址⽅式操作数或指令在存储器中的地址:某个操作数或某条指令存放在某个存储单元时其存储单元的编号在存储器中,操作数或指令字写⼊或读出的⽅式,有地址指定⽅式、相联存储⽅式和堆栈存取⽅式。
寻找⽅式:当采⽤地址指定⽅式时,形成操作数或指令地址的⽅式。
寻址⽅式分为两类:指令寻址和数据寻址。
1)指令寻址:确定下⼀条预执⾏指令的指令地址a、顺序寻址:(PC)+1->PC 程序计数器⾃动加1b、跳跃寻址:由转移指令指出2)数据寻址:确定本条指令的操作数地址指令中所给出的地址码,并不⼀定是操作数的有效地址。
寻址过程就是把操作数的形式地址,变换为操作数的有效地址。
例如:⼀种单地址指令的结构如下所⽰,其中⽤X I D各字段组成该指令的操作数地址。
⼆、寻址⽅式1、隐含寻址(操作数在累加寄存器中)在指令中不明显的给出⽽是隐含着操作数的地址例如:单地址的指令格式,没有在地址字段指明第⼆操作数地址,⽽是规定累加寄存器AL或AX作为第⼆操作数地址,AL或AX对单地址指令格式来说是隐含地址eg: MOV AL ,LSRC_BYTEMUL RSRC_BYTEADD寻址特征A操作数地址隐含在操作码中,(寻址特征指明寻址类型)。
另⼀个操作数隐含在ACC中先在内存中地址为A的地⽅找到⼀个操作数,另⼀个操作数隐含在寄存器ACC⾥,从ACC⾥取出另外⼀个操作数,然后和给出的A 地址中的数相加暂存在ACC中。
2、⽴即寻址形式地址A就是操作数本⾝OP⽴即寻址特性 #A指令执⾏阶段不访存A的位数限制了⽴即数的范围3、直接寻址EA=A直接根据读内存找到操作数,形式地址不需要经过任何处理。
执⾏阶段访问⼀次存储器A的位数决定了该指令操作数的寻址范围MOV AX,[2222H]:将有效地址为2222H的内存单元的内容读到累加器AX中4、间接寻址EA=(A)有效地址由形式地址间接提供,形式地址是操作数的地址的地址OP间接寻址标识 A根据A的内容到内存中寻找到的是操作的数地址,再根据这个地址去找操作数。
计算机组成原理第四章指令系统[一]
例如: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为操作数
计算机组成原理——指令系统5
15条二地址指令
12 位操作码
1111 1111 0000 1111 1111 0001 1111 1111 1110 … …
16 位操作码
1111 1111 1111 0000 1111 1111 1111 0001 1111 1111 1111 1111 … … …
…
… …
15条一地址指令
16条零地址指令
RISC
RISC——精简指令系统计算机 RISC的优点 RISC通过简化指令功能使计算机结构更为合理从而提高计算速度 RISC将原CISC中复杂指令用子程序代替 I增多,CPI大大减少 P减少
其中:I为目标程序的指令数、CPI每条指令平均周期数
故:指令执行时间P=I*CPI*T
RISC的特点 (1)优先选取使用频率高以及很有用但不复杂的指令。 (2)指令长度固定,指令格式、寻址方式种类少。 (3)除取数/存数指令外,其余指令操作都在寄存器之间。 (4)CPU中通用寄存器数量多。 (5)大部分指令在一个或小于一个机器周期内完成。 (6)以硬布线控制逻辑为主,不用或少用微码控制。 (7)一般用高级语言编程,重视编译优化工作。
• 指令执行阶段不访存 • A 的位数限制了立即数的范围
2. 直接寻址
EA = A 有效地址由形式地址直接给出
寻址特征
主存
LDA
A
A 操作数 ACC
• 执行阶段访问一次存储器
• A 的位数决定了该指令操作数的寻址范围
• 操作数的地址不易修改(必须修改A)
3. 隐含寻址
操作数地址隐含在操作码中
寻址特征
(1) 四地址
8
6
6
6
6
OP A1 A2 A3 A4
计算机组成原理第七章指令系统)
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)24位控制位分别介绍如下:位控制位分别介绍如下: XRD XRD :: 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
定外设读数据。
EMWR EMWR:: 程序存储器EM 写信号。
写信号。
EMRD EMRD:: 程序存储器EM 读信号。
读信号。
PCOE PCOE:: 将程序计数器PC 的值送到地址总线ABUS 上。
上。
EMEN EMEN:: 将程序存储器EM 与数据总线DBUS 接通,由EMWR 和EMRD 决定是将DBUS 数据写到EM 中,还是从EM 读出数据送到DBUS DBUS。
IREN IREN:: 将程序存储器EM 读出的数据打入指令寄存器IR 和微指令计数器uPC uPC。
EINT EINT:: 中断返回时清除中断响应和中断请求标志,便于下次中断。
中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP ELP:: PC 打入允许,与指令寄存器的IR3IR3、、IR2位结合,控制程序跳转。
转。
MAREN MAREN:将数据总线:将数据总线DBUS 上数据打入地址寄存器MAR MAR。
MAROE MAROE:将地址寄存器:将地址寄存器MAR 的值送到地址总线ABUS 上。
上。
OUTEN OUTEN:将数据总线:将数据总线DBUS 上数据送到输出端口寄存器OUT 里。
里。
STEN STEN:: 将数据总线DBUS 上数据存入堆栈寄存器ST 中。
中。
RRD RRD:: 读寄存器组读寄存器组R0-R3R0-R3,寄存器,寄存器R?R?的选择由指令的最低两位决定。
的选择由指令的最低两位决定。
的选择由指令的最低两位决定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1.2 指令系统的性能要求
一个完善的指令系统应满足的条件:
1. 完备性 指令丰富、功能齐全、使用方便——用汇编语言编各 种程序时,直接提供的指令足够用
2. 有效性 程序占存储空间小、执行速度快 3. 规整性 对称性、匀齐性、指令格式和数据格式的一致性
指令格式举例3
$s0$s7对应寄存器号为16 23
[解]: MIPS机器语言表示如表所示
MIPS指令 字段值
4条指令的机器语言
名称 格式
示例
说明
add
R 0 18 19 17 0 32
add $s1,$s2,$s3
sub
R 0 18 19 17 0 34
sub $s1,$s2,$s3
lw
I 35 18 17
寄存器间接寻址
偏移寻址(基值、变址、相对)
堆栈寻址
段寻址
1.隐含寻址
——指令中不显式给出而是隐含着操作数的地址 例如,单地址的指令格式隐含着累加器AC为第二操作数地址
2.立即寻址
——指令的地址字段给出的是操作数本身,而不是操作数地址 不需要访问内存取数,故指令执行时间很短
ARM指令集的一种指令格式
cond F I opcode S Rn Rd operand2 4位 2位 1位 4位 1位 4位 4位 12位
4. Pentium指令格式
指令字长度可变:112字节,典型的CICS结构
1或2
0或1
0或1
0,1,2 八位微型计算机(字长8位)的指令格式
——可变字长形式:单字长、双字长、三字长指令
操作码 操作码 A1 操作码 A1
单字长指令 双字长指令 A2 三字长指令
内存按字节编址,每执行一条指令后,指令地址的修正 ——加1、加2、加3
2. MIPS R4000指令格式——RISC
返回到 举例
字长32位,字节寻址,通用寄存器32个
高级语言与低级语言的性能比较:
高级语言的语句和用法与具体机器的指令系统无关 低级语言和具体机器的指令系统密切相关
机器语言是机器能直接识别和执行的惟一语言 汇编语言与硬件关系密切,编写的程序紧凑、占内存小、速 度快,适合编写经常与硬件打交道的系统软件 高级语言不涉及机器的硬件结构,通用性强、编写程序容易, 适合编写与硬件没有直接关系的应用软件
2位
3位
3位
比例S 变址I 2位 3位
基址B 3位
位移量
立即数
由操作码、Mod-R/M、SIB、位移量、立即数字段组成,除操 作码字段外,其他四个字段均可选
指令格式举例1
[例1] 已知指令格式,OP为操作码,试分析其特点
15 OP
9 87
43
0
—— 源寄存器 目标寄存器
[解]: (1)单字长二地址指令 (2)操作码字段OP为7位,可指定128条指令 (3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个)—— RR型指令 (4)这种指令结构常用于算术逻辑运算类指令
几至几十条指令 60年代后期——增加了乘除运算、浮点运算、十进制运算、
字符串处理等,指令多达一二百条,寻址方式也趋多样化 60年代后期——开始出现系列计算机 70年代末期——CISC(Complex Instruction Set Computer)
RISC(Reduced Instruction Set Computer)
高级语言与低级语言的比较
比较内容 1 对程序员的训练要求:
(1) 通用算法 (2) 语言规则 (3) 硬件知识 2 对机器独立的程度 3 编制程序的难易程度 4 编制程序所需时间 5 程序执行时间 6 编译过程中对计算机资源 (时间和存储容量)的要求
高级语言
有 较少 不需要 独立 易 短 较长 多
4.3.1 一般的数据类型 地址数据:可看成无符号数 数值数据:常用的三种类型:定点数、浮点数、压缩BCD 字符数据:文本数据或字符串,目前广泛使用ASCII码 逻辑数据:将一个数据看成由若干位组成——可对具体的位进
行布尔逻辑运算
4.3.2 Pentium数据类型
能处理——字节(8位)、字(16位) 、双字(32位) 、四字(64位) 字、双字、四字的起始地址无要求 当通过32位数据总线存取数据时,双字的起始地址能被4整除 Pentium的数据类型
(A)表示地址为A的内存或通用寄存器中的数
关于地址码个数的有关说明(续)
(3)二地址指令(双操作数指令)
操作码 A1 A2 A1← (A1) OP (A2) 按操作数的物理位置不同又分为:SS型、RR型、RS型指令
(4)三地址指令
操作码 A1 A2 A3 A3← (A1) OP (A2)
A1——被操作数地址,也称源操作数地址 A2——操作数地址,也称终点操作数地址 A3——存放结果的地址 A1,A2,A3可为内存单元或通用寄存器的地址
对称性:所有的寄存器和存储器单元都可同等对待;所有的指 令都可使用各种寻址方式 匀齐性:一种操作指令可支持各种数据类型 指令格式和数据格式的一致性:指令长度和数据长度有一定关 系,方便处理和存取 4. 兼容性 “向上兼容”
4.1.3 低级语言与硬件结构的关系
低级语言分机器语言(二进制)和汇编语言(符号)
目录
内存 PC
1. 顺序寻址方式 (PC)+1 -> PC
100
100
设置程序计数器(指令指针寄存器)PC对指令的顺 +1
101
序号计数,该顺序号就是指令在内存中的地址
2. 跳跃寻址方式 目标地址->PC
PC 跳跃寻址——下条指令的地址码由本 10030 条指令给出
主存 Jmp 103 100
101
计算机组成原理
武汉科技大学 计算机科学与技术学院
第四章 指令系统
本章内容
4.1 指令系统的发展和性能要求 4.2 指令格式 4.3 操作数类型 4.4 指令和数据的寻址方式 4.5 典型指令 4.6 ARM汇编语言
4.1 指令系统的发展与性能要求
4.1.1 指令系统的发展
1. 程序:解决某一实际问题的指令序列 2. 指令:要计算机执行某种操作的命令
类别 指令
示例
语义
说明
算术 加 add $s1,$s2,$s3 运算 减 sub $s1,$s2,$s3
$s1=$s2+$s3 $s1=$s2-$s3
3个操作数,都在寄存器中 3个操作数,都在寄存器中
数据 取字 lw $s1,100($s2) $s1=Memory[$s2+100] 数据从存储器到寄存器 传送 存字 sw $s1,100($s2) Memory[$s2+100]=$s1 数据从寄存器到存储器
102
103
4.4.2 操作数基本寻址方式
——形成操作数的有效地址的方法 例如,一种单地址指令的结构如下所示
操作码OP 变址X 间址I
形式地址A
指令中的地址码由形式地址和寻址方式特征位等组合形成 寻址过程就是把操作数的形式地址,变换为有效地址
具体的寻址方式有:
隐含寻址
立即寻址
直接寻址
间接寻址
寄存器寻址
从计算机层次结构的观点看,指令可分三类: (1) 微指令:微程序级的命令,属于硬件 (2)宏指令:由若干机器指令和伪指令构成的软件指令 (3) 机器指令(指令):介于微指令与宏指令之间,每条指令可完成 一个独立的算术运算或逻辑运算
3. 指令系统:一台计算机中所有机器指令的集合
目录
4. 指令系统的发展 50年代——只有定点加减、逻辑运算、数据传送、转移等十
指令格式举例2 [例2] 试分析下面指令格式的特点
15
7
3
10
98 4
0
[解]: OP
-
-
源寄存器
变址寄存 器
(1)双字长二地址指令位,移用量于(访16问位存)储器
(2)操作码字段OP为6位,可以指定64种操作
(3)一个操作数在源寄存器(共16个),另一个操作数在存储器 中(由变址寄存器和位移量决定)——RS型指令
系列计算机——基本指令系统、体系结构相同的一系列计算机 系列计算机必要条件——同一系列的各机种有共同的指令集;且 实现“向上兼容”
CISC和RISC
CISC——复杂指令系统计算机,多达几百条
研制周期长,不易调试维护,且造成硬件资源浪费
RISC——精简指令系统计算机
从CISC转变到RISC的原因
R型指令——所有算术运算,数据必须放在通用寄存器中
6位 5位 5位 5位 5位 6位
op rs
rt
rd shamt funct R型
I型(立即数)指令——访问存储器(存数或取数)
6位 5位 5位
16位
op
rs
rt 常数或地址(address) I型
MIPS指令的字段值
指令 格式 op rs rt rd shamt funct
目录
关于地址码个数的有关说明
(1)零地址指令
操作码
两种情况: 一是该指令不需要操作数,如NOP指令 二是操作数隐含,如DAA操作数隐含于累加器AC中
(2)一地址指令(单操作数指令) 操作码
A1
也有两种情况: 一是指令本身只需要一个操作数,如NOT指令 二是被操作数和结果隐含于累加器AC中 AC ← (AC) OP (A)
add(加) R 0 reg reg reg 0
32
sub(减) R 0 reg reg reg 0
34
立即数加 I 8 reg reg
lw(取字) I 35 reg reg
sw(存字) I 43 reg reg
常数或地址