软件评测师--1.5指令系统的基础知识

一、RISC与CISC

RISCCISC
指令格式和长度通常固定指令长度通常可变
寻址方式少而简单指令类型多
大多指令在一个周期内执行完一条指令若干周期执行完
利用简单的硬件电路设计出指令解码功能,易于流水线的实现执行流水线作业时有较多的限制
只有载入和存储指令可以访问存储器,数据处理指令只对寄存器的内容进行操作,为了加速程序运算,会设定多组的寄存器,并且指定特殊用途的寄存器允许数据处理指令对存储器进行操作,对寄存器的要求相对不高
硬布线逻辑与微程序相结合在微程序技术中

二、寻址方式

1.寄存器寻址

当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式

2.寄存器间接寻址

与寄存器寻址的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存(主存单元)中

3.立即寻址

操作数包含在指令中

4.直接寻址

指令中给出的地址就是操作数的有效地址,即形式地址等于有效地址。
跳转指令中的操作时即为要转向执行的指令地址,因此,应将指令中的地址码送入程序计数器(PC),以获得下一条指令的地址,从而实现程序执行过程的自动控制功能。

5.变址寻址

就是把变址寄存器Rx的内容与指令中给出的形式地址A相加,形成操作数的有效地址,即EA=(Rx)+A

6.基址寻址

将基址寄存器Rv的内容与指令中给出的位移量D相加,形成操作数的有效地址,即EA=(Rb)+D

7.相对寻址

是基址寻址的一种变通,由程序计数器提供基准地址,指令中的地址码字段座位位移量D,两者相加后得到操作数的有效地址,即EA=(PC)+D

8.间接寻址

指令中给出的地址不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址

9.隐含寻址

不是明显地给出操作数的地址,而是在指令中隐含操作数的地址

三、运行指令过程

无论运行什么指令,CPU首先需要取指令,第一个操作就是将指令地址(程序计数器PC中的内容)送往存储器地址寄存器。取值完成的微操作序列是公共的操作,与具体取值无关,取值公共操作如下:
(1)将PC中的内容送至存储器地址寄存器MAR,(PC)->MAR
(2)向主存发读命令,记作Read
(3)从主存中取出的指令送到存储器数据寄存器MDR,M(MAR)->MDR
(4)将MDR的内容送至指令寄存器IR中,(MDR)->IR
(5)将PC的内容递增,为取下一条指令做好准备,(PC)+1->PC

四、流水线

流水线的基本原理是把一个重复的过程分解为若干个子过程,前一个子过程为下一个子过程创造执行条件,每一个过程可以与其他子过程同时进行。流水线各段执行时间最长那段为整个流水线的瓶颈,一般将“最长那段时间”称为流水线的周期。

五、缓冲区

假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间为5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为(152)μs;采用双缓冲区需要花费的时间为(107)μs。

计算:
(1)10 ×(10μs + 5μs)+ 2μs = 152μs
(2)10 × 10μs + 5μs + 2μs = 107μs

六、指令流-数据流

原文链接
①单指令流单数据流机器(S1SD):单处理机
SISD机器是一种传统的串行计算机,它的硬件不支持任何形式的并行计算,所有的指令都是串行执行。并且在某个时钟周期内,CPU只能处理一个数据流。因此这种机器被称作单指令流单数据流机器。早期的计算机都是SISD机器。

②单指令流多数据流机器(SIMD):相联处理机
SIMD是采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理,以及多媒体信息处理等领域非常有效。
Intel 处理器实现的MMXTM、SSE (Streaming SIMD Extensions)、SSE2及SSE3扩展指令集,都能在单个时钟周期内处理多个数据单元。也就是说人们现在用的单核计算机基本上都厲于SIMD机器。

③多指令流单数据流机器(MISD):流水线计算机
MISD是采用多个指令流来处理单个数据流。在实际情况中,采用多指令流处理多数据流才是更有效的方法,因此MISD只是作为理论模型出现,没有投入实际应用。

④多指令流多数据流机器(MIMD):多处理机系统
MIMD机器可以同时执行多个指令流,这些指令流分别对不同数据流进行操作。最新的多核计算平台就属于MIMD的范畴,例如Intel和AMD的双核处理器。

某指令流水线由4段组成,各段所需要的时间如下图所示,连续输入8条指令时的吞吐率(单位时间内流水线所完成的任务数或输出的结果数)为(8/28Δt)

计算:
8×3Δt+1Δt+2Δt+1Δt=28Δt
吞吐率:8/28Δt

七、指令寄存器

指令寄存器是CPU中的关键寄存器,其内容为正在执行的指令,显然其位数取决于指令字长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值