计组-中央处理器

本文详细阐述了计算机的机器指令结构,包括操作码、操作数类型和地址码;探讨了寻址方式,如直接寻址、间接寻址和堆栈寻址;介绍了CPU的基本功能、寄存器结构和指令周期;讨论了中断系统的工作原理,如中断响应、中断判优逻辑和中断屏蔽技术;最后,概述了控制单元的设计,包括组合逻辑和微程序设计方法。

目录

一、机器指令

1.1 指令的一般格式

1.2 操作码

1.3 操作类型

1.4 操作数类型

1.5 地址码

二、寻址方式

2.1 指令寻址

2.2 数据寻址

三、CPU的结构

3.1 CPU的基本功能

3.2 CPU的寄存器

3.3 指令周期

3.4指令流水

3.5 影响流水线性能的因素

3.6 流水线性能

3.6 流水线中的多发技术

3.6.1 超标量技术

3.6.2 超流水线技术

3.6.3 超长指令字技术

四、中断系统

4.1 引起中断的各种因素

4.2 中断请求标记

4.3 中断判优逻辑

4.3.1 硬件排队

4.3.2 软件排队

4.4 中断请求服务程序的入口地址

4.4.1 硬件向量法

 4.4.2 软件查询法

4.5 中断响应

4.6 中断屏蔽技术

五、控制单元

5.1 控制单元的外特性

5.2 多级时序系统

5.3 控制方式

5.3.1 同步控制方式

5.3.2 异步控制方式

5.3.3  联合控制方式

5.3.4 人工控制方式

六、控制单元设计

6.1 组合逻辑设计

6.2 微程序设计

6.3 微指令的编码方式

6.3.1 直接编码

6.3.2 字段直接编码方式

6.3.3 混合编码

6.4 微指令序列地址的形成


一、机器指令

        机器语言由一条条语句构成, 习惯把每一条机器语言的语句称为机器指令, 将全部的机器指令的集合称为机器的指令系统

        80-20规律: 典型程序中80%的语句仅仅使用处理机中的20%的指令, 这些指令都属于简单指令。
        RISC: 精简指令系统计算机 (Reduced Instruction Set Computer), 主要特征是用20%的简单指令组合来实现不常用的80%的指令功能。

        CISC: 复杂指令系统计算机 (Complex Instruction Set Computer)

1.1 指令的一般格式

        指令由操作码地址码两部分组成。

指令的一般格式图:

1.2 操作码

        指明该指令所要完成的操作, 如加法, 乘法, 移位等。位数反映了机器操作种类。

        操作码长度可以是固定的,  适用于字长较长的计算机以及RISC, 指令译码时间短。对于不固定的指令, 在字长较短的微型计算机中广泛使用, 会增加指令译码和分析的难度。

可扩展操作码的示意图:

1.3 操作类型

        1) 数据传送: 寄存器与存储单元, 存储单元与存储单元,, 寄存器与存储单元,之间的传送。

        2) 算术逻辑操作: 算术运算(加,减,乘,除等)与逻辑运算(与,或,非,异或等)。

        3) 移位: 左移, 右移。

        4) 转移: 无条件转移, 条件转移, 调用与返回, 陷阱与陷阱指令。

        5) 输入输出:与I/O设备交互。

        6) 其他: 停机指令, 开中断指令等。

1.4 操作数类型

        1) 地址

        2) 数字: 定点数, 浮点数

        3) 字符: 文本或字符串

        4) 逻辑数据: 如布尔值

1.5 地址码

        地址码用来指出指令的源操作数的地址、结果地址、下一条指令的地址。地址可以是主存的地址, 也可以是寄存器的地址,或是I/O 设备的地址。

        以下假设指令字长为32位, 操作码占8位。OP为操作码, A为操作数地址, 地址以主存地址为例。

        四地址指令:该指令完成(A1)OP(A2) -->A3的操作, 4个地址各占6位, 直接寻址范围为2^{6}=64。共需访问4次存储器(取指令一次, 取两个操作数两次, 存放结果一次)。

        三地址指令: 该指令完成(A1)OP(A2)-->A3的操作, 程序中大多数指令是按顺序执行的, 后续指令的地址隐含在程序计数器PC中。3个地址字段各占8位, 寻址范围为2^{8}=256, 需要访问4次存储器。

        二地址指令: 该指令完成(A1)OP(A2)-->A1 的操作, A1即代表原操作数, 也代表存放本次运算的结果地址。共需要4次访问存储器; 若为(A1)OP(A2)-->ACC, 只需要两次访存。直接寻址范围为2^{12}=4K。

        一地址指令: 可完成(ACC)OP(A1)-->ACC的操作, 只需两次访存, 直接寻址范围为2^{24}=16M。

        零地址指令: 无地址码部分, 如空操作, 停机, 中断返回等指令, 或是操作数的地址隐含在堆栈指针SP中。

示意图:

二、寻址方式

        确定本条指令的数据地址以及下一条将要执行的指令地址的方法, 分为指令寻址数据寻址

2.1 指令寻址

        分为顺序寻址与跳跃寻址, 顺序寻址可以通过PC加自动形成下一条指令的地址; 跳跃寻址通过转移类指令实现。

指令寻址方式示意图:

2.2 数据寻址

        数据寻址方式种类多, 在指令中需设一字段表明是哪一种寻址方式。

一地址指令的格式图:

        1) 立即寻址: 操作数本身设在指令字内, 即形式地址就是数据本身, 数据采用补码形式存放。

        2) 直接寻址: 指令字中的形式地址A就是操作数的真实地址。

        3) 隐含寻址: 不明显给出操作数的地址, 操作数的地址隐含在操作码或某个寄存器中。

        4) 间接寻址: 形式地址是操作数的有效地址所在的存储单元地址。与直接寻址相比, 扩大了操作数的寻址范围, 但多次间接寻址时, 可用存储字首位来标记是否还需要继续访存寻址。

        5) 寄存器寻址: 地址码字段直接给出了寄存器的编号, 无需访存, 减少执行时间。

        6) 寄存器间接寻址: 比间接寻址少访存一次。

        7) 基址寻址: 需要设有寄存器BR, 操作数有效地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值