先行控制技术
2016-05-24 18:53
127 查看
采用先行控制技术的关键是缓冲技术和预处理技术。
1.缓冲技术-在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑功能部件之间的工作速度。
2.预处理技术--将进入运算器的指令均处理成RR型指令,而某些栈为其提供所需的操作数(先行读数栈、后续写数栈),这样运算器在进行预算时无需访问存储器,从而加快速度。
一、处理机结构
三个独立的控制器:
存储控制器、指令控制器、运算控制器。
四个缓冲栈:
先行指令缓冲栈、先行读数缓冲栈、先行操作栈、后行写数栈。
原理:
1、 在主存空闲时,即从主存中取出指令放入先行指令缓冲栈,以供指令分析器使用。
预取先行指令缓冲栈遵循先进先出。
指令分析器对缓冲栈中的指令进行预处理,并送入先行操作栈
2、对于运算类的指令--则要处理成RR型的指令
如果指令本身就是RR型,则不作任何处理;如果是RS型,则分析器计算出操作数有效地之后送入先行读数栈或后行写数栈的地址寄存器,并将对应的地址寄存器的编号代替指令中的主存地址后送入先行操作栈;如果是RI型,则将立即数送入先行读数栈的操作数寄存器,并用此寄存器的编号代替指令中的立即数字段。这样,所有的运算类指令执行时都将访问寄存器,加快运算速度。
3、再看先行读数栈,每当先行读数栈收到分析器送来的有效地之后,即将地址有效标志位置位,并向主存申请读操作数,取得的操作数放入对应的先行操作数缓冲寄存器中,并置数据有效标志位,做废刚才的地址有效标志位,以供相应的指令使用操作数。
4、再看后行写数栈,每当后行写数栈收到分析器送来的有效地之后,即将地址有效标志位置位;这样,当相应的运算类指令执行完毕后不再马上写主存,而是先送入相应的后行写数据缓冲寄存器中,并置数据有效标志位。控制器自动根据相应的后行写地址缓冲寄存器中的地址向主存发出写请求。
1.缓冲技术-在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑功能部件之间的工作速度。
2.预处理技术--将进入运算器的指令均处理成RR型指令,而某些栈为其提供所需的操作数(先行读数栈、后续写数栈),这样运算器在进行预算时无需访问存储器,从而加快速度。
一、处理机结构
三个独立的控制器:
存储控制器、指令控制器、运算控制器。
四个缓冲栈:
先行指令缓冲栈、先行读数缓冲栈、先行操作栈、后行写数栈。
原理:
1、 在主存空闲时,即从主存中取出指令放入先行指令缓冲栈,以供指令分析器使用。
预取先行指令缓冲栈遵循先进先出。
指令分析器对缓冲栈中的指令进行预处理,并送入先行操作栈
2、对于运算类的指令--则要处理成RR型的指令
如果指令本身就是RR型,则不作任何处理;如果是RS型,则分析器计算出操作数有效地之后送入先行读数栈或后行写数栈的地址寄存器,并将对应的地址寄存器的编号代替指令中的主存地址后送入先行操作栈;如果是RI型,则将立即数送入先行读数栈的操作数寄存器,并用此寄存器的编号代替指令中的立即数字段。这样,所有的运算类指令执行时都将访问寄存器,加快运算速度。
3、再看先行读数栈,每当先行读数栈收到分析器送来的有效地之后,即将地址有效标志位置位,并向主存申请读操作数,取得的操作数放入对应的先行操作数缓冲寄存器中,并置数据有效标志位,做废刚才的地址有效标志位,以供相应的指令使用操作数。
4、再看后行写数栈,每当后行写数栈收到分析器送来的有效地之后,即将地址有效标志位置位;这样,当相应的运算类指令执行完毕后不再马上写主存,而是先送入相应的后行写数据缓冲寄存器中,并置数据有效标志位。控制器自动根据相应的后行写地址缓冲寄存器中的地址向主存发出写请求。
相关文章推荐
- 批处理中的预处理实现代码
- MySQL中Stmt 预处理提高效率问题的小研究
- php+mysqli预处理技术实现添加、修改及删除多条数据的方法
- C#预处理器指令的用法实例分析
- 详解C语言编程中预处理器的用法
- IOS开发之路--C语言预处理
- ImageLoader 使用记录
- JFinal教程JfinalUIB 代码笔记 (4)--- 高仿mybatis的sql的集中管理
- 白化(Whitening):PCA vs. ZCA
- php+mysqli使用预处理技术进行数据库查询的方法
- 时间序列数据挖掘综述
- MySQL基础操作
- 怎样使用ABBYY FineReader中图像的自动预处理
- Lammps 源代码解析
- 黑马程序员IOS-C语言-预处理、define和typedef
- HDU1215解析
- Matlab读取纯文本光谱文件
- codeforces 611C New Year and Domino DP预处理+部分和思想
- two bishops on the chessboard (CodeForce 463C)
- C语言基础学习——第11天(预处理)