计算机组成原理 指令系统
计算机四级计算机组成原理知识点总结

计算机四级计算机组成原理知识点总结
计算机四级计算机组成原理涉及多个关键知识点,主要包括:
1.**计算机的基本组成**:计算机主要由运算器、控制器、存储器、输入设备和输出设备五大部件组成。
其中,运算器和控制器合称为中央处理器(CPU)。
2.**指令系统**:指令是计算机执行某种操作的命令,通常由操作码和操作数地址码组成。
指令系统是指一台计算机中所有指令的集合。
指令的长度取决于操作码的长度、操作数地址码的长度和操作数地址的个数,与机器字长没有固定的关系。
指令可以分为零地址指令、一地址指令等多种类型。
3.**计算机硬件层次结构**:计算机硬件层次结构可以分为微程序机器层(M0)、传统机器层(M1)、虚拟机器层(M2)、汇编语言机器层(M3)和高级语言机器层(M4)。
每一层都对应着不同的指令系统和执行方式。
4.**存储系统**:存储系统包括主存储器(内存)和辅助存储器(外存)。
主存储器是计算机直接访问的存储部件,其速度快,但容量小。
辅助存储器则容量大,速度慢,需要通过输入输出设备才能访问。
5.**输入输出系统**:输入输出系统负责计算机与外部世界的联系,包括输入设备和输出设备。
输入设备用于将外部信息输入到计算机中,输出设备用于将计算机的处理结果输出到外部世界。
6.**总线系统**:总线是连接计算机各部件的通信线路,包括数据总线、地址总线和控制总线。
总线系统负责在各部件之间传输数据和控制信号。
以上就是计算机四级计算机组成原理的主要知识点,掌握了这些知识,就能对计算机的基本组成和工作原理有深入的理解。
《计算机组成原理》教程第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
计算机组成原理(白中英)第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
计算机组成原理 指令系统

本章所讨论的指令,是机器指令
本章学习内容
4.1 指令格式 4.2 寻址技术 4.3 堆栈与堆栈操作 4.4 指令类型
本章学习要求
理解:指令的基本格式以及不同地址码(3、2、1 、0地址)的双操作数指令的区别 理解:规整型指令和非规整型指令的特点 掌握:扩展操作码的方法 理解:编址单位和指令中地址码的位数与主存容量 、最小寻址单位的关系 掌握:基本的数据寻址方式和有效地址EA的计算方 法 掌握:自底向上的存储器堆栈的概念及堆栈的进、 出栈操作 理解:常用指令的特点
当用一些硬件资源代替指令字中的地址码字段后
• 可扩大指令的寻址范围
• 可缩短指令字长 • 可减少访存次数 当指令的地址字段为寄存器时
三地址
二地址 一地址
OP R1, R2, R3
OP R1, R2 OP R1
• 可缩短指令字长 • 指令执行阶段不访存
EXP 某指令字长为16位,每个地址码为6位,扩 展操作码技术,设有14条二地址指令,100条一 地址指令,100条零地址指令: 1)画出扩展图 2)计算操作码平均长度 3)指令译码逻辑
1.规整型
操作码字段的位数和位置是固定的。 假定:指令系统共有m条指令,指令中操 作码字段的位数为N位,则有如下关系式: N≥log2 m 规整型编码对于简化硬件设计,减少指 令译码的时间是非常有利的。 IBM 370机(字长32位)的指令可分为 三种不同的长度,不论指令的长度为多少位,其 中操作码字段一律都是8位。
指令长度可以等于机器字长,也可以大于或 小于机器字长。 在一个指令系统中,若所有指令的长度都是 相等的,称为定长指令字结构;若各种指令的长 度随指令功能而异,称为变长指令字结构。
计算机组成原理-指令系统

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、立即寻址
• 特点:在取指令时,操作码和操作数被同时取出, 不必再次访问存储器,从而提高了指令的执行速 度。 • 但是,因为操作数是指令的一部分,不能被修改; • 而且对于定 长指令格式,操作数的大小将受到指 令长度的限制,所以这种寻址方式灵活性最差 • 通常用于给某一寄存器或主存单元赋初值,或者 用于提供一个常数。
计算机组成原理指令系统例题

计算机组成原理指令系统例题计算机组成原理涉及到很多方面,其中指令系统就是其中的一部分。
指令系统是计算机硬件和软件之间的桥梁,它决定了计算机可以完成哪些操作,以及如何完成这些操作。
在计算机的指令系统中,常常会涉及到指令的格式、寻址方式、指令执行周期等内容。
下面我们就来看一道指令系统的例题以加深理解。
例题:有一个带有8位数据总线的微处理器,它的寄存器可分为通用寄存器和专用寄存器两种。
其中除计数器之外的所有专用寄存器的位数为4位,计数器的位数为8位。
该微处理器采用的指令最短长度为8位。
现在要实现一个程序并且需要在其中使用到以下几条指令:1. LD (Load)指令:从内存中读取数据到寄存器。
2. ST (Store)指令:从寄存器中写入数据到内存。
3. ADD (Add)指令:将两个寄存器中的数据相加,并将结果储存在目的寄存器中。
4. SUB (Subtract)指令:将两个寄存器中的数据相减,并将结果储存在目的寄存器中。
5. JMP (Jump)指令:跳转到指定地址。
6. JZ (Jump if Zero)指令:如果目标寄存器的值为0,则跳转到指定地址。
现在,假设你要编写一个简单的程序,该程序需要从一个地址为0x200的内存单元处读取两个数并将它们相加,然后将结果存入另一个地址为0x210的内存单元。
程序中用到的寄存器为R1、R2以及ACC,其中R1和R2为通用寄存器,ACC为专用寄存器。
现在请你为这个程序编写指令序列,并给出每条指令的机器码。
解题思路:首先,我们需要了解一些术语和概念。
在这题中,我们知道微处理器带有8位数据总线,计数器的位数为8位。
因此,我们可以知道,这个微处理器最大可以寻址的内存为256字节。
通用寄存器和专用寄存器的位数分别为4位,说明它们可以存储0~15之间的数。
在指令中,我们需要使用到寄存器R1、R2以及ACC,其中ACC是专用寄存器,用来保存运算的结果。
接下来,我们来写出这个程序需要执行的指令序列:1. LD R1, #0x200:将0x200地址处的值读取到R1寄存器中。
计算机组成原理第四章指令系统[一]
![计算机组成原理第四章指令系统[一]](https://img.taocdn.com/s3/m/49545defc850ad02df80419f.png)
例如: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 章 指令系统汇编

内存
有效地址 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)。
示例
17 17 0 0 100 100 5位 rd 5位 address 6位 shamt funct 32 34
add $s1,$s2,$s3 sub $s1,$s2,$s3 lw $s1,100($s2) sw $s1,100($s2) 所有MIPS指令都是32位 算术指令格式 数据传送指令格式
4.4
指令和数据的寻址方式
在存储器中,操作数或指令字写入或读出的3种方式——地址 指定方式、相联存储方式和堆栈存取方式;几乎所有的计算机, 内存中都采用地址指定方式
寻址方式——采用地址指定方式时,形成操作数或指令地
址的方式 指令寻址方式比较简单;数据寻址方式比较复杂
4.4.1 指令的寻址方式
一种是顺序寻址方式 另一种是跳跃寻址方式
MIPS汇编语言 类别 指令 算术 运算 加 示例 add $s1,$s2,$s3 语义 $s1=$s2+$s3 说明 3个操作数,都在寄存器中
减
sub $s1,$s2,$s3
$s1=$s2-$s3
3个操作数,都在寄存器中
数据从存储器到寄存器 数据从寄存器到存储器
数据 取字 lw $s1,100($s2) $s1=Memory[$s2+100] 传送 存字 sw $s1,100($s2) Memory[$s2+100]=$s1
(1) 微指令:微程序级的命令,属于硬件 (2)宏指令:由若干机器指令和伪指令构成的软件指令 (3) 机器指令(指令):介于微指令与宏指令之间,每条指令可完成 一个独立的算术运算或逻辑运算
3. 指令系统:一台计算机中所有机器指令的集合
目录
4. 指令系统的发展 50年代——只有定点加减、逻辑运算、数据传送、转移等十 几至几十条指令 60年代后期——增加了乘除运算、浮点运算、十进制运算、 字符串处理等,指令多达一二百条,寻址方式也趋多样化 60年代后期——开始出现系列计算机 70年代末期——CISC(Complex Instruction Set Computer) RISC(Reduced Instruction Set Computer) 系列计算机——基本指令系统、体系结构相同的一系列计算机 系列计算机必要条件——同一系列的各机种有共同的指令集;且 实现“向上兼容”
4. Pentium指令格式
指令字长度可变:112字节,典型的CICS结构
1或2 操作码 Mod 2位 0或1 Reg或操作码 3位 R/M 3位 0或1 比例S 变址I 2位 3位 基址B 3位 0,1,2,4 位移量 0,1,2,4 立即数
由操作码、Mod-R/M、SIB、位移量、立即数字段组成,除操 作码字段外,其他四个字段均可选
4.1.3 低级语言与硬件结构的关系 低级语言分机器语言(二进制)和汇编语言(符号) 高级语言与低级语言的性能比较:
高级语言的语句和用法与具体机器的指令系统无关 低级语言和具体机器的指令系统密切相关
机器语言是机器能直接识别和执行的惟一语言 汇编语言与硬件关系密切,编写的程序紧凑、占内存小、速 度快,适合编写经常与硬件打交道的系统软件 高级语言不涉及机器的硬件结构,通用性强、编写程序容易, 适合编写与硬件没有直接关系的应用软件
4.2.5 指令格式举例 1. 八位微型计算机(字长8位)的指令格式
——可变字长形式:单字长、双字长、三字长指令 操作码 操作码 A1
单字长指令
双字长指令
操作码
A1
A2
三字长指令
内存按字节编址,每执行一条指令后,指令地址的修正 ——加1、加2、加3
2. MIPS R4000指令格式——RISC
返回到 举例
CISC和RISC
CISC——复杂指令系统计算机,多达几百条 RISC——精简指令系统计算机
研制周期长,不易调试维护,且造成硬件资源浪费
从CISC转变到RISC的原因
指令系统百分比的20:80规律 降低控制器设计难度
4.1.2 指令系统的性能要求 一个完善的指令系统应满足的条件:
1. 完备性 指令丰富、功能齐全、使用方便——用汇编语言编各 种程序时,直接提供的指令足够用 2. 有效性 程序占存储空间小、执行速度快 3. 规整性 对称性、匀齐性、指令格式和数据格式的一致性 对称性:所有的寄存器和存储器单元都可同等对待;所有的指 令都可使用各种寻址方式 匀齐性:一种操作指令可支持各种数据类型 指令格式和数据格式的一致性:指令长度和数据长度有一定关 系,方便处理和存取 4. 兼容性 “向上兼容”
(1)无符号字节:用于逻辑和整数算术运算,由存储器读出装入 通用寄存器时左端以0填充 (2)无符号半字:与“无符号字节”类似,长度16位 (3)有符号半字:用于16位算术运算,装入寄存器时要符号扩展 (4)无符号字:用于32位逻辑运算,或作地址指针 (5)有符号字:用于32位算术运算 (6)无符号双字:用作64位地址指针 (7)字节串:长度0128个字节 (8)浮点数:支持IEEE754定义的单精度、双精度浮点类型
指令格式举例1 [例1] 已知指令格式,OP为操作码,试分析其特点
15 OP 9 8 —— 7 4 3 0 源寄存器 目标寄存器
[解 ]: (1)单字长二地址指令 (2)操作码字段OP为7位,可指定128条指令 (3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个)—— RR型指令 (4)这种指令结构常用于算术逻辑运算类指令
高级语言与低级语言的比较
比较内容 1 对程序员的训练要求: (1) 通用算法 (2) 语言规则 (3) 硬件知识 2 对机器独立的程度 3 编制程序的难易程度 4 编制程序所需时间 高级语言 有 较少 不需要 独立 易 短 低级语言 有 较多 需要 不独立 难 较长 短 少
5 程序执行时间 较长 6 编译过程中对计算机资源 多 (时间和存储容量)的要求
关于地址码个数的有关说明 (1)零地址指令
操作码
两种情况: 一是该指令不需要操作数,如NOP指令 二是操作数隐含,如DAA操作数隐含于累加器AC中
(2)一地址指令(单操作数指令)
操作码
A1
也有两种情况: 一是指令本身只需要一个操作数,如NOT指令 二是被操作数和结果隐含于累加器AC中 AC ← (AC) OP (A) (A)表示地址为A的内存或通用寄存器中的数
4.2.3 指令字长度 机器字长:计算机能直接处理的二进制数的位数 指令字长度:指令字包含二进制代码的位数,等长、变长两种 等长指令字结构:结构简单,且指令字长度不变 变长指令字结构:结构灵活,但控制较复杂
设L为指令字长度,N为机器字长度 L=N——单字长指令 L=0.5N——半字长指令 L=2N——双字长指令
4.4.2 操作数基本寻址方式
——形成操作数的有效地址的方法 例如,一种单地址指令的结构如下所示
操作码OP
变址X
间址I
形式地址A
指令中的地址码由形式地址和寻址方式特征位等组合形成 寻址过程就是把操作数的形式地址,变换为有效地址
具体的寻址方式有:
隐含寻址 立即寻址
直接寻址 间接寻址 寄存器寻址 寄存器间接寻址 偏移寻址(基值、变址、相对) 堆栈寻址 段寻址
指令格式举例2 [例2] 试分析下面指令格式的特点
15 OP 10 9 8 - 位移量(16位) 7 4 3 0 源寄存器 变址寄存器
[解 ]: (1)双字长二地址指令,用于访问存储器 (2)操作码字段OP为6位,可以指定64种操作 (3)一个操作数在源寄存器(共16个),另一个操作数在存储器 中(由变址寄存器和位移量决定)——RS型指令
指令格式举例3
[例3] MIPS R4000汇编语言中,寄存器$s0$s7对应寄存器号为 16 23(十进制),寄存器$t0$t7对应寄存器号为8 15。下表列出 了2条R型指令(add、sub),2条I型指令(IW、SW)的汇编语言表示。 请将4条汇编语言手工翻译成对应的机器语言(十进制)表示
目录
1. 顺序寻址方式
(PC)+1 -> PC
PC 100 +1
内存 100 101
设臵程序计数器(指令指针寄存器)PC对指令的顺 序号计数,该顺序号就是指令在内存中的地址
2. 跳跃寻址方式
目标地址->PC PC 100 103 主存 Jmp 103 100
101 102 103
跳跃寻址——下条指令的地址码由本 条指令给出
能处理——字节(8位)、字(16位) 、双字(32位) 、四字(64位) 字、双字、四字的起始地址无要求 当通过32位数据总线存取数据时,双字的起始地址能被4整除 Pentium的数据类型
目录
4.3.3 Power PC数据类型
Power PC——RISC 可处理——字节(8位)、半字(16位) 、字(32位) 、双字(64位) 能识别的数据类型:
5位 rt rt
4.3 操作数类型
4.3.1 一般的数据类型 地址数据:可看成无符号数 数值数据:常用的三种类型:定点数、浮点数、压缩BCD 字符数据:文本数据或字符串,目前广泛使用ASCII码 逻辑数据:将一个数据看成由若干位组成——可对具体的位进
行布尔逻辑运算
4.3.2 Pentium数据类型
指令格式举例3
$s0$s7对应寄存器号为16 23 [解]: MIPS机器语言表示如表所示
4条指令的机器语言
MIPS指令 字段值
说明
名称
add sub lw sw 字段大小 R型 I型
格式
R R I I R I 0 0 35 43 6位 op op 18 18 18 18 5位 rs rs 19 19 17 17
关于地址码个数的有关说明(续) (3)二地址指令(双操作数指令)
操作码 A1Leabharlann A2 A1← (A1) OP (A2) 按操作数的物理位臵不同又分为:SS型、RR型、RS型指令