【计算机组成原理】指令系统体系结构
2016-08-05 21:51
786 查看
前言
指令系统其实就是软件和硬件之间的约定。比如,硬件工程师按照某个指令集合设计好CPU,软件程序员同样遵循该指令集合来编写代码,并写入到存储器中,然后CPU自动的读取指令,译码,执行。x86体系结构
x86有很多代CPU,这里只介绍16位的8086,之后出现的80386等等都是对字长的扩展,以及增添了几个寄存器,而指令集合也都是向前兼容的。8086CPU
里面有哪些寄存器
标志寄存器的内部
一个简单的例子
这个例子如果看懂了,就知道这是一个16进制的加法运算,而且两个操作数的长度还得是一样的。下面来讲一下其中重要的细节。
这个存储器是以字节为单位的(8 bit),而CPU寄存器是16位的(word = 16 bit),也就是说CPU从存储器里取数的时候一次要取两个字节。例如,
MOV AX, [SI],这里
AX中的数将会是
8888H。
CLC清零标志位CF。
ADC加法运算的时候会将进位也加进去。
两条
INC SI不能改成
ADD SI 2,因为ADD会影响标志位CF。
JNZ会判断前一条语句的结果是否为0。利用了标志寄存器中的
ZF位。
最后三句是为了将最后一个进位加到结果中去。
一个复杂的例子
这个例子是利用
MOVSB和
REP来执行串操作,也就是一整块数据的传输,这个操作对编写代码带来了便利。其中的细节。
DS段寄存器中存了基址,然后前两句MOV是把DS的内容放到ES中去了。
接下来两条MOV,把源串的偏移地址存到SI,目标串的偏移地址存到DI。
CLD。将会把标志寄存器中的DF位设置为0,即表示从源串的低地址开始传送。(STD的作用与之相反)
CX寄存器,存的数是表示重复的次数,下面REP前缀修饰的MOVSB操作,执行的时候会自动将CX减1。
MIPS体系结构
MIPS是精简指令系统(RISC)的经典代表,是RISC的先驱。它的设计理念是减少指令数量,降低指令复杂度。它的基本原则是:a simpler CPU is a faster CPU。它的主要特点:
固定的指令长度。
简单的寻址模式。
指令数量少,功能简单。一个指令只做一件事。
只有Load和Store可以访问存储器。
相比x86指令集的数千页文档,MIPS只要两页就能说清了。
MIPS的简介
MIPS指令可以分为R,I,J型指令。大概介绍一下R型指令
寄存器型指令。opcode和
funct都是指令类型相关的位;
rs,rt,rd分别是源操作数,目标操作数,结果;
shamt用于指定移位指令进行的移位位数,MIPS字长为32位,所以这里5位就刚好够了。举例:
add t0, t1, t2
I型指令
立即数型指令。值得注意的是,我们知道16位的立即数能表示正负2^15字节的偏移量,但是MIPS是固定32位指令的,也就是说它们在存储器中是4字节对齐的,所以它实际表示的字节偏移量是正负2^17,即正负2^15字长(32 bit)的偏移量。举例:addi t0, t1, 5
J型指令
非条件跳转指令。j lable这种,其中26位都用来存目的地址的值。
相关文章推荐
- 计算机组成第二周:指令系统体系结构
- 计算机组成原理第一章 研究内容 层次结构 应对系统复杂的重要方法--抽象
- 计算机组成原理知识点(第七章: 指令系统)
- 北大计算机组成原理笔记2.1——为什么要有指令系统
- 计算机CPU体系结构以及指令流水原理介绍
- 计算机组成原理拾遗(指令系统)
- 计算机组成原理与系统结构(三)
- 计算机组成原理与系统结构---内存编址方法
- 计算机组成原理与系统结构 第一章计算机概述
- 【计算机组成原理】第4章 指令系统
- 微机原理、计算机组成原理与计算机体系结构之间的关系
- 计算机组成原理——指令系统
- 计算机组成原理-指令系统
- 计算机组成原理-指令系统
- 深入理解计算机系统(4.1)---X86的孪生兄弟,Y86指令体系结构
- 计算机组成原理和系统结构(四)
- 计算机组成原理复习之存储器和指令系统笔记
- 计算机组成原理之MIPS指令系统和MIPS体系结构
- 《软件设计师》——计算机组成原理与体系结构
- 深入理解计算机系统(4.1)---X86的孪生兄弟,Y86指令体系结构