软考复习之路—再谈组成原理
2014-05-01 07:57
169 查看
指令系统
指令系统是计算机硬件的语言系统,与硬件的联系息息相关。
指令系统是指CPU所能够处理的全部指令的集合,是一个CPU的根本属性(指令系统决定了一个CPU能运行
什么样的程序)。现在cpu仍然使用者X86指令集,不同类型的计算机包含的指令系统的种类和数目是不同的。
所有采用高级语言编出的程序,都需要编译或者解释成为机器语言后才能运行(编译原理),这些机器语
言中所包含的就是一条条的指令。一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。
![](http://img.blog.csdn.net/20140430220051078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在堆栈型计算机中,操作数一般存放在下推堆栈顶的两个单元中,结果又放入栈顶,地址均被隐含,因而大
多数指令只有操作码而没有地址域。
单地址
![](http://img.blog.csdn.net/20140430220206265?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140430220220671?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
A1:目的操作数
A2:源操作数
三地址
![](http://img.blog.csdn.net/20140430220246593?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
A1:第一源操作数
A2:第二源操作数
A3:目的操作数
![](http://img.blog.csdn.net/20140430220326390?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
操作地址中放的是立即数
直接寻址
![](http://img.blog.csdn.net/20140430220629343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
间接寻址
![](http://img.blog.csdn.net/20140430220534562?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
相对寻址
![](http://img.blog.csdn.net/20140430220557453?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
程序计数器内容+位置值=操作数地址
![](http://img.blog.csdn.net/20140430220610671?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
取指阶段:
PC装入101,经过指令地址总线,指令译码,从101号地址,读出指令,装入IR,
PC+1(为下一条准备),指令译码器译码OP,CPU识别出MOV指令
执行指令阶段:
OC送出控制信号到通用寄存器,R1做源寄存器,R0作为目标寄存器,OC送出控制信号到ALU,指定
ALU做传送操作,将ALU输出,送到DBUS上,任何时候DBUS只能有一个数据,将DBUS数据打入DR,将
DR中输入打入R0,R0由00变为10
至此第一条指令执行完毕。
由于指令中地址码的形式不同,所以就有多种寻址方式,也就有了数据在缓存中的存储方式的不同,如主
存与缓存的全相联,直接映像,组相连映像。说的更大一点就是存储管理。
指令系统是计算机硬件的语言系统,与硬件的联系息息相关。
指令系统是指CPU所能够处理的全部指令的集合,是一个CPU的根本属性(指令系统决定了一个CPU能运行
什么样的程序)。现在cpu仍然使用者X86指令集,不同类型的计算机包含的指令系统的种类和数目是不同的。
所有采用高级语言编出的程序,都需要编译或者解释成为机器语言后才能运行(编译原理),这些机器语
言中所包含的就是一条条的指令。一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。
格式
零地址在堆栈型计算机中,操作数一般存放在下推堆栈顶的两个单元中,结果又放入栈顶,地址均被隐含,因而大
多数指令只有操作码而没有地址域。
单地址
A1:目的操作数
A2:源操作数
三地址
A1:第一源操作数
A2:第二源操作数
A3:目的操作数
寻址方式
立即寻址操作地址中放的是立即数
直接寻址
间接寻址
相对寻址
程序计数器内容+位置值=操作数地址
执行步骤
如下图,以第一条指令取指阶段:
PC装入101,经过指令地址总线,指令译码,从101号地址,读出指令,装入IR,
PC+1(为下一条准备),指令译码器译码OP,CPU识别出MOV指令
执行指令阶段:
OC送出控制信号到通用寄存器,R1做源寄存器,R0作为目标寄存器,OC送出控制信号到ALU,指定
ALU做传送操作,将ALU输出,送到DBUS上,任何时候DBUS只能有一个数据,将DBUS数据打入DR,将
DR中输入打入R0,R0由00变为10
至此第一条指令执行完毕。
由于指令中地址码的形式不同,所以就有多种寻址方式,也就有了数据在缓存中的存储方式的不同,如主
存与缓存的全相联,直接映像,组相连映像。说的更大一点就是存储管理。
相关文章推荐
- java发送heartbeat心跳包(byte转16进制)
- Java,泛型类型通配符和C#对比
- A星寻路算法介绍
- 我眼中SEO优化人员的未来
- 初学Java,集合类的排序,查找,替换操作
- sys/types.h,sys/stat.h与fcntl.h的作用
- Windows 下面安装和使用Python, IPython NoteBook (详细步骤)
- 初学Java,Hashtable,HashMap,LinkedHashMap和Properties
- [翻译] Blocks and Variables
- iOS 基础类解析 - NSString、NSMutableString
- Memcached的使用安装
- unix编程书中的 ourhdr.h代码
- Vim学习指南
- 初学Java,各种容器性能对比
- Windows下重置Mysql密码
- 家里的路由出现2个wifi信号
- OSPF报文类型及OSPF特点
- 网络OSI模型基础知识笔记
- CSS学习笔记
- Linux 汇编语言开发指南