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数字相机、家庭自动化系统、 电梯 、 空调 等等。
1.
①数据处理指令:包括算术运算指令、逻辑运算指令、移位指令、比较指令等。
2.
②数据传送指令:包括寄存器之间、寄存器与主存储器之间的传送指令等。
3.
③程序控制指令:包括条件转移指令、无条件转移指令、转子程序指令等。
4.
④输入-输出指令:包括各种外围设备的读、写指令等。有的计算机将输入-输出指令包含在数据传送指令类中。