计算机组成原理78h是什么,计算机组成原理

指令(Instruction):

是计算机硬件能够识别并直接执行的操作命令。用二进制序列表示,由操作码和地址码两部分组成。

指令系统(Instruction Set):

是计算机中所有指令的集合。

操作码(Operate Code):

指令中用于指出操作性质的字段。一般分为定长操作码和扩展操作码。定长操作码是指机器中所有指令的操作码字段位数相同。扩展操作码是指机器中指令的操作码字段位数不是都相同,也称为不定长操作码。

地址码(Address Code):

指令中用于指出操作数地址的字段。一条指令中一般有多个地址码字段。地址码字段的个数与许多因素有关。一个地址码字段可能是一个立即数;可能是一个直接内存地址;可能是一个间接地址;可能是寄存器编号;可能是I/O端口号;可能是一个形式地址等等。

定长指令(Fixed Length Instruction):

指令系统中所有指令具有相同的长度,称为规整型指令,目前定长指令字大多是32位指令字。

变长指令(Variable Length Instruction):

指令系统中的指令具有不同的长度,有长有短,但每条指令的长度一般都是8的倍数。

程序计数器(Program Counter,PC):

是一个特殊的地址寄存器,专门用来存放下一条要执行指令的地址,称为程序计数器PC或指令指针IP。本身它是个寄存器,所以也称为指令指针寄存器。

指令指针(Instruction Pointer):

是一个特殊的地址寄存器,专门用来存放下一条要执行指令的地址,称为程序计数器PC或指令指针IP。本身它是个寄存器,所以也称为指令指针寄存器。

程序状态字(Program Status Word, PSW):

表示程序运行状态的一个二进制位序列。一般包含一些反映指令执行结果的标志信息(如:进位标志、溢出标志、符号标志等)和设定的一些状态信息(如:中断允许/禁止状态、管理程序/用户程序状态等)。

程序状态字寄存器(Program Status Word Register, PSWR):

用来存放程序状态字的寄存器。

标志寄存器(Flags Register):

80x86体系结构中用来表示程序状态和标志的寄存器。

堆栈(Stack):

堆栈是一块特殊的存储区。采用“先进后出”的方式进行访问。主要用来在程序切换时保存各种信息。栈底固定不动,栈顶浮动,用一个专门的寄存器(SP)来作为栈顶指针。从堆栈生长的方向来分,有“自顶向下”和“自底向上”两种堆栈。从堆栈的位置来分,有硬堆栈和软堆栈。硬堆栈的堆栈区由寄存器实现,软堆栈的堆栈区由内存区实现。

堆栈指针(Stack Pointer, SP):

是一个特殊的地址寄存器,用来存放堆栈的栈顶指针。如果是硬堆栈的话,栈顶指针是栈顶寄存器的编号;如果是软堆栈的话,栈顶指针是栈顶内存单元的地址。

最高有效字节(Most Significant Byte,MSB):

数据最左边的一个字节,即最高位字节。

最高有效位(Most Significant Bit,MSB):

数据最左边的一位,即最高一位。

最低有效字节(Least Significant Byte, LSB):

数据最右边的一个字节,即最低位字节。

最低有效位(Least Significant Bit, LSB):

数据最右边的一位,即最低一位。

大端次序(Big Endian Ordering):

操作数在内存存放时,指令给出地址所指定的内存单元中存放的是操作数最高有效字节(MSB)。例如,假设一个32位数据“12345678H”的地址为100#,则大端存放次序为:100#:12H,101#:34H,102#:56H,103#:78H。IBM S/370,Motorola 680x0等是大端序机器。

小端次序(Little Endian Ordering):

操作数在内存存放时,指令给出地址所指定的内存单元内存放的是操作数最低有效字节(LSB)。例如,假设一个32位数据“12345678H”的地址为100#,则小端存放次序为:100#:78H,101#:56H,102#:34H,103#:12H。Intel 80x86等是小端序机器。

双目运算(two-operand operate):

需要两个操作数才能进行的运算。如:加、减、乘、除、与、或等算术或逻辑运算都是双目运算。

单目运算(one-operand operate):

只需要一个操作数就能进行的运算。如:取负、取反等算术或逻辑运算都是单目运算。

寻址方式(Addressing Mode):

在程序执行过程中,需要取指令和操作数,确定指令和操作数的存放位置的方式称为寻址方式。确定指令存放位置的过程称为指令寻址,确定操作数存放位置的过程称为数据寻址。

有效地址(Effective Address):

操作数所在实际位置的地址。若操作数在寄存器中,则有效地址是寄存器的编号;若操作数在内存单元中,则有效地址是内存单元的地址;若操作数在I/O端口中,则有效地址是I/O端口的编号。

立即寻址(Immediate Addressing):

指令中的地址码直接给出操作数本身。

直接寻址(Direct Addressing):

指令中的地址码给出的是操作数所在的内存单元地址,称为直接地址。

间接寻址(Indirect Addressing):

指令中的地址码给出的是操作数所在的内存单元地址所在的内存单元地址,称为间接地址。

寄存器寻址(Register Addressing):

指令中的地址码给出的是操作数所在的寄存器的编号。

寄存器间接寻址(Register indirect Addressing):

指令中的地址码给出的是操作数所在的内存单元的地址所存放的寄存器的编号。

偏移寻址(Displacement Addressing):

指令通过某种方式给出一个形式地址和一个基地址(往往在某个寄存器中),经过相应的计算(基地址加形式地址)得到操作数所在的内存单元地址。具体的偏移寻址方式有:变址寻址、相对寻址和基址寻址。

变址寻址(Indexing):

变址寻址方式下,指令中的地址码给出一个形式地址,并且隐含或明显地指定一个寄存器作为变址寄存器,变址寄存器的内容(变址值)和形式地址相加,得到操作数的有效地址,根据有效地址到内存访问,去取操作数或写运算结果。

变址寄存器(index register):

是一个特殊的地址寄存器,用来存放变址寻址方式下的变址值,通常是数组元素的下标值等。

相对寻址(Relative Addressing):

相对寻址方式下,指令中的形式地址给出一个位移量D,而基准地址由程序计数器PC提供。即:有效地址EA=(PC)+ D。位移量给出的是相对于当前指令所在内存单元的距离,位移量可正、可负。也就是说,要找的可以在当前指令前D个单元处的信息,也可以是当前指令后D个单元处的信息。

基址寻址(Base-Register Addressing):

基址寻址方式下,指令中的地址码给出一个形式地址,作为位移量,并且隐含或明显地指定一个寄存器作为基址寄存器,基址寄存器的内容和形式地址相加,得到操作数的有效地址,根据有效地址到内存访问,去取操作数或写运算结果。

基址寄存器(Base-Register):

是一个特殊的地址寄存器,用来存放基址寻址方式下的基准地址。通常是一个用户程序在内存的首地址,或一块存储区的首地址。

堆栈寻址(Stack Addressing):

堆栈寻址方式下,操作数被指定在堆栈中。堆栈寻址总是从栈顶取操作数,运算后的结果自动放到栈顶。栈顶的位置由一个专门的堆栈指针SP来指示。所以,指令中不需给出操作数地址,是一种零地址指令。与堆栈有关的操作有:入栈(PUSH)、出栈(POP)和运算类操作。

R-R型指令(Register-Register type Instruction):

两个操作数都在寄存器中的指令。

R-S型指令(Register-Storage type Instruction):

一个操作数在寄存器中,另一个操作数在主存单元中的指令。

S-S型指令(Storage-Storage type Instruction):

两个操作数都在主存单元中的指令。

相对转移(Relative jump):

转移目标地址通过PC的值加上一个偏移量形成。所以,转移到的目的地和当前指令的位置有关。

绝对转移(Absolute jump):

转移目标地址由指令指定的一个绝对地址确定,而与当前指令的位置没有关系。

条件转移(Conditional jump, Branch):

是一种分支指令,根据前面指令或本条指令执行的结果确定是跳转到转移目标地址处执行,还是顺序执行。

无条件转移(Unconditional jump):

是一种直接跳转指令,执行完本条指令后,无条件地跳转到目标转移地址处执行。

CISC(Complex Instruction Set Computer):

复杂指令系统计算机。早期的计算机为了增加功能和更好地支持高级语言而不断地增加新的指令类型,使系统可以实现复杂的操作。这种指令系统功能复杂,寻址方式多,指令长度可变,指令格式多样。因而采用这种指令系统的计算机被称为复杂指令系统计算机。

RISC(Reduced Instruction Set Computer):

精简指令系统计算机。这种计算机采用简化的指令系统,指令集中只包含程序中常用的指令,运算类指令只能是R-R型,提供大量通用寄存器以减少访存次数,采用流水线方式执行指令,控制器用硬连阵列逻辑实现,并采用优化的编译技术。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值