计算机按指令系统如何分类?都有哪些计算机?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机按指令系统如何分类?都有哪些计算机?相关的知识,希望对你有一定的参考价值。
1. 指令系统概述指令是处理器进行操作的最小单元,如加减乘除操作、读写存储器操作等。而指令集则是一组指令的集合。
有了指令集架构,就可以使用不同的处理器硬件实现方案(微架构)来设计不同性能的处理器,此时软件无需做任何修改便可以完全运行在任何一款遵循同一指令集架构的处理器上。事实上,处理器架构和处理器指令集并没有特别的对应关系,比如采用x86指令集也可以用MIPS微结构,MIPS的指令集也可以用在x86处理器的微结构上。
指令系统的设计原则
完备性:该有的功能都要有
有效性:简洁、加速常用操作、没有歧义
规整性:对称、匀齐、一致(简单源于规整)
兼容性:
向上(下)兼容:按某档机器编制的程序,不加修改的就能运行与比它高(低)档的机器;
向前(后)兼容:按某个时期投入市场的某种型号机器 编制的程序,不加修改就能运行于它之前或之后投入市场的机器。
完整的指令系统包括
通常,完整的指令系统根据各个指令的作用权限不同,可分为用户指令集和特权指令集
(1)用户指令系统
算术运算指令
逻辑运算指令
数据传送指令
load-store等等
程序控制指令
branch,jump等
输入输出指令
In/Out指令
(2)特权指令系统
该类型指令可以在裸机下运行,也可以由操作系统使用,目的是让计算机更好用,更安全。操作系统通过特权指令系统管理计算机,使应用程序拥有独占CPU的假象,并使应用间相互隔离,互不干扰。
主要包括系统控制指令,如异常与中断处理指令。
指令风格:CISC和RISC
(1)CISC
经典的CISC架构有x86,CISC出现较早,显得大而全。其指令数很多,不仅包含了处理器常用的指令,也包含了许多不常用的特殊指令。
其特征主要有:
指令系统复杂
指令周期长
各种指令都能访问存储器
有专用寄存器
采用微程序控制
难以进行编译优化生成高效目标代码
存在的问题:
研发周期长
大量的特殊指令让CPU设计变得复杂,增加了硬件上的时间成本和面积开销
难以保证设计的正确性,难以调试和维护
机器的时钟周期长,降低系统性能
效率低下
CISC的指令只有20%被经常使用,80%则很少被用到;且20%的指令占据了80%的存储空间
(2)RISC
经典的RISC架构有SPARC,MIPS,Power,Alpha,ARM,ARC,Andes,C-Sky
RISC指令的特征有:
简化的指令系统
以寄存器-寄存器方式工作
指令周期短
采用大量通用寄存器,以减少访问次数
采用组合逻辑电路控制,不用或少用微程序控制
采用优化的编译系统,力求有效的支持高级语言程序
2. 指令格式
指令长度
指令长度取决于操作码长度、操作数地址长度和地址个数
定长指令字
所有指令的长度相同,需向最长指令看齐,目前RISC采用该种方式
变长指令字
不同指令长度不同,目前大部分CISC均采用该种方式
使用频度高的指令分配短的操作码,频度低的指令分配较长操作码
操作码设计
每条指令的操作码只能有一个
定长操作码
操作码部分采用固定长度编码
译码简单、但有信息冗余
扩展操作码
操作码编码长度分成几种固定长的格式,操作码的位数随地址数的减少而增加
缩短指令长度,减少程序总位数,怎该指令字所能表示的操作信息
操作码长度和指令长度的关系
指令长度可变和操作码长度可变没有绝对联系
当追求程序代码长度时会偏向变长指令字、变长操作码设计
当追求整体性能时会偏向定长指令字、定长操作码设计
指令格式设计的原则
指令尽量短
要有足够的操作码位数
指令编码必须有唯一的解释
指令字长应是字节的整数倍
均衡设计、指令尽量规整
合理选择地址字段的个数
地址码设计
单地址指令可以是可变长度的指令,也可以定长的指令
单地址指令可加快取指令速度
单地址指令可能有一个操作数,也可能有两个操作数
3. 指令寻址
寻址
(1) 寻址方式
寻址方式是如何找到操作数存放位置的方法。
寻址方式分为基本寻址方式和复杂寻址方式。
(2) 基本寻址方式
不同指令集有不同的寻址方式
立即数寻址
存储器直接寻址
寄存器直接寻址
存储器间接寻址
指针于间接寻址:指针在程序设计中是地址的地址
MOV R1, @(1000H) #两次访存
寄存器间接寻址
MOV AX, [BX] #一次寄存器访问,一次访存
偏移寻址
等同于直接寻址和寄存器间接寻址
分为先对方式,基址寻址,变址寻址
堆栈寻址
SP:堆栈指令寄存器,永远指向栈顶
(3)目的
扩大访存范围
提高林火星和有效性
支持软件技术发展:多道程序设计
指令按操作方式分类
堆栈型:早期计算机,零地址指令,操作数在栈顶,在运算指令中不需要指定操作数,默认对栈顶数据进行运算并将结果压回栈顶
累加器型:单地址指令,操作数中包含累加器,其余在指令中指定,结果写回到累加器
寄存器型:register-register:load-store型,操作数由指令显示指定,除了访存指令外,其余指令的操作数均为寄存器
微型计算机是一种体积比较小的电子计算机。那么微型计算机有哪些呢?微型计算机一般可以分为四个大类,分别是网络计算机、工业控制计算机、个人计算机以及嵌入式计算机,下面我们来具体了解一下。
微型计算机有哪些
网络计算机
(1)服务器(Server)
专指某些高性能计算机,能通过网络,对外提供服务。相对于普通电脑来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通电脑有所不同。
(2)工作站(Workstation)
是一种以个人计算机和分布式网络计算为基础,主要面向专业应用领域,具备强大的数据运算与图形、图像处理能力,为满足工程设计、动画制作、科学研究、软件开发、金融管理、信息服务、模拟仿真等专业领域而设计开发的高性能计算机。
(3)集线器
集线器(HUB)是一种共享介质的网络设备,它的作用可以简单的理解为将一些机器连接起来组成一个局域网,HUB 本身不能识别目的地址。
(4) 交换机
交换机(Switch)是按照通信两端传输信息的需要,用人工或设备自动完成的方法把要传输的信息送到符合要求的相应路由上的技术统称。
(5)路由器
路由器(Router)是一种负责寻径的网络设备,它在互联网络中从多条路径中寻找通讯量最少的一条网络路径提供给用户通信。
工业控制计算机
是一种采用总线结构,对生产过程及其机电设备、工艺装备进行检测与控制的计算机系统总称。简称控制机。它由计算机和过程输入输出(I/O)通过两大部分组成。工控机的主要类别有:IPC(PC总线工业电脑)、PLC(可编程控制系统)、DCS(分散型控制系统)、FCS(现场总线系统)及CNC(数控系统)五种。
个人计算机
1、台式机(Desktop)
也叫桌面机,是一种独立相分离的计算机,完完全全跟其它部件无联系,相对于笔记本和上网本体积较大,主机、 显示器 等设备一般都是相对独立的。
2、电脑一体机
电脑一体机,是由一台显示器、一个电脑键盘和一个鼠标组成的电脑。
3、 笔记本电脑 (Notebook或Laptop)
也称手提电脑或膝上型电脑,是一种小型、可携带的个人电脑
4、掌上电脑(PDA)
掌上电脑是一种运行在嵌入式操作系统和内嵌式应用软件之上的、小巧、轻便、易带、实用、价廉的手持式计算设备。
5、 平板电脑
平板电脑是一款无须翻盖、没有键盘、大小不等、形状各异,却功能完整的电脑。
嵌入式计算机
即嵌入式系统( embedded systems) ,是一种以应用为中心、以微处理器为基础,软硬件可裁剪的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统几乎包括了生活中的所有电器设备,如掌上pda、计算器、 电视机 顶盒、手机、数字电视、多媒体播放器、汽车、 微波炉 、https://m.baidu.com/sf/vsearch?pd=image_content&word=%E8%AE%A1%E7%AE%97%E6%9C%BA&tn=vsearch&atn=mediacy&fr=tab&sa=vs_tab&imgpn=0&imgspn=&tt=1&di=1650&bdtype=0&pi=0&cs=3226453250%2C1763145102&imgos=1913142443%2C365634818&imgis=0%2C0&imgtype=0&ssrlid=11673308254046637572&imgcontent=%7B%22materialQuery%22%3A%22%22%7D数字相机、家庭自动化系统、 电梯 、 空调 等等。 参考技术A 1.
①数据处理指令:包括算术运算指令、逻辑运算指令、移位指令、比较指令等。
2.
②数据传送指令:包括寄存器之间、寄存器与主存储器之间的传送指令等。
3.
③程序控制指令:包括条件转移指令、无条件转移指令、转子程序指令等。
4.
④输入-输出指令:包括各种外围设备的读、写指令等。有的计算机将输入-输出指令包含在数据传送指令类中。
指令系统——指令格式
文章目录
首先我们再回忆一下现代计算机的结构
搞错了,再来!
现代计算机的结构
这次就开搞控制器!
学会指令系统就可以更精进之前搞的典型过程了:https://yangyongli.blog.csdn.net/article/details/116792581
指令格式
指令的定义
指令(又称机器指令):是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。
一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。
注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。
例如:x86 架构、ARM架构之间不能互相执行对方架构系统的指令。
指令格式
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。
一条指令通常要包括操作码字段和地址码字段两部分(如下图所示):
操作码就是要表达用户要干什么?
比如:停机中断、求反求补、加减乘除……
地址码就是要说明对谁进行操作?
比如:不需要操作对象、需要一个操作对象、需要两个操作对象……
其中 一条指令可能包含 0个、1个、2个、3个、4个 地址码…
根据地址码数目不同,可以将指令分为 零地址指令、一地址指令、二地址指令…
零地址指令
- 不需要操作数,如空操作、停机、关中断等指令
- 堆栈计算机,两个操作数隐含存放在栈顶和次栈顶,计算结果压回栈顶
一地址指令
- 只需要单操作数,如加1、减1、取反、求补等
指令含义:OP(A1)→A1 ,完成一条指令需要3次访存:取指→ 读A1 →写A1 - 需要两个操作数,但其中一个操作数隐含在某个寄存器(如隐含在ACC)
指令含义: (ACC)OP(A1)→ACC,完成一条指令需要2次访存:取指→ 读A1
注:A1 指某个主存地址, (A1)表示 A1 所指向的地址中的内容
二、三地址指令
常用于需要两个操作数的算术运算、逻辑运算相关指令
指令含义:(A1)OP(A2)→A1
完成一条指令需要访存4次,取指→读A1→读A2→写A1
常用于需要两个操作数的算术运算、逻辑运算相关指令
指令含义:(A1)OP(A2)→A3
完成一条指令需要访存4次,取指→ 读A1→读A2 →写A3
四地址指令
指令含义:(A1)OP(A2)→A3,A4=下一条将要执行指令的地址
完成一条指令需要访存4次,取指 →读A1 →读A2 →写A3
正常情况下:取指令之后 PC+1,指向下一条指令
四地址指令:执行指令后,将PC的值修改位 A4 所指地址
小杨同学表示:事真多!
地址码的位数有什么影响?
n位地址码的直接寻址范围=2n,若指令总长度固定不变,则地
址码数量越多,寻址能力越差
分类
指令-按地址码数目分类
指令-按指令长度分类
可以分为:半字长指令、单字长指令、双字长指令 ——指令长度是机器字长的多少倍
指令字长:一条指令的总长度(可能会变)
机器字长:CPU进行一次整数运算所能处理的二进制数据的位数(通常和ALU直接相关)
存储字长:一个存储单元中的二进制代码位数(通常和MDR位数相同)
指令字长会影响取指令所需时间。如:机器字长=存储字长=16bit,则取一条双字长指令需要两次访存
定长指令字结构:指令系统中所有指令的长度都相等
变长指令字结构:指令系统中各种指令的长度不等
指令-按操作码长度分类
- 定长操作码:指令系统中所有指令的操作码长度都相同(n位 → 2n条指令)
——控制器的译码电路设计简单,但灵活性较低 - 可变长操作码:指令系统中各指令的操作码长度可变
——控制器的译码电路设计复杂, 但灵活性较高 - 扩展操作码指令格式:定长指令字结构+可变长操作码
指令—按操作类型分类
-
数据传送(数据传送类:进行主存与CPU之间的数据传送)
LOAD 作用:把存储器(源)中的数据放到寄存器(目的)中
STORE 作用:把寄存器(源)中的数据放到存储器(目的)中 -
算术逻辑操作
算术:加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算
逻辑:与、或、非、异或、位操作、位测试、位清除、位求反 -
移位操作
算术移位、逻辑移位、循环移位(带进位和不带进位) -
转移操作(程序控制类:改变程序执行的顺序)
无条件转移 JMP
条件转移 JZ:结果为0;JO:结果溢出;JC:结果有进位
调用和返回 CALL和RETURN
陷阱(Trap)与陷阱指令 -
输入输出操作(输入输出类(I/O):进行CPU和I/O设备之间的数据传送)
CPU寄存器与IO端口之间的数据传送(端口即IO接口中的寄存器)
小结
以上是关于计算机按指令系统如何分类?都有哪些计算机?的主要内容,如果未能解决你的问题,请参考以下文章
(计算机组成原理)第四章指令系统-第一节1:指令指令格式和指令分类