计算机体系结构(一)

计算机体系结构——五大部件

在这里插入图片描述
五大部件{输入设备——将信息转换为机器能识别的形式输出设备——将结果转换为人们熟知的形式主存储器——存放数据和程序运算器——算术运算、逻辑运算控制器——指挥各部件,使程序得以运行 五大部件\begin{cases} 输入设备——将信息转换为机器能识别的形式\\ \\ 输出设备——将结果转换为人们熟知的形式\\ \\ 主存储器——存放数据和程序\\ \\ 运算器——算术运算、逻辑运算\\ \\ 控制器——指挥各部件,使程序得以运行 \\ \end{cases} 五大部件输入设备——将信息转换为机器能识别的形式输出设备——将结果转换为人们熟知的形式主存储器——存放数据和程序运算器——算术运算、逻辑运算控制器——指挥各部件,使程序得以运行

运算器控制器}CPU存储器}主存}主机存储器}辅存输入设备输出设备}I/O设备}硬件 \left. \begin{aligned} \left. \begin{aligned} \left. \begin{aligned} 运算器\\ 控制器 \\ \end{aligned} \right\} CPU\\ \left. \begin{aligned} 存储器\\ \end{aligned} \right\} 主存 \\ \end{aligned} \right\} 主机 \\ \left. \begin{aligned} \left. \begin{aligned} 存储器\\ \end{aligned} \right\} 辅存\\ 输入设备 \\ 输出设备 \\ \end{aligned} \right\} I/O设备 \\ \end{aligned} \right\} 硬件 运算器控制器}CPU存储器}主存主机存储器}辅存输入设备输出设备I/O设备硬件

主存储器

在这里插入图片描述
存储单元:每个存储单元放一串二进制代码

存储字(word):存储单元中二进制代码组合

存储字长:存储单元中二进制代码的位数

存储元:存储二进制的电子元件,可存bit

MAR:地址寄存器

MDR:数据寄存器

注:1个字节(Byte)=8bit
1B=1个字节 1b=bit

运算器

运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)
在这里插入图片描述

ACC:累加器,用于存放操作数,或运算结果

MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果

X:通用的操作数寄存器,用于存放操作数

ALU:算术逻辑单元,通过内部复杂的电路,实现算术运算、逻辑运算

DR:数据缓存寄存器

PSW:状态条件寄存器,用于保存指令的运行状态

控制器

在这里插入图片描述
CU:控制单元,分析指令,给出控制信号

IR:指令寄存器,存放当前执行的指令

PC:程序计数器,存放下一条指令地址,有自动加1功能

AR:地址寄存器,保存当前CPU所访问的内存单元地址

ID:指令译码器,对操作码进行分析

完成一条指令{取指令分析指令执行指令 完成一条指令\begin{cases} 取指令\\ \\ 分析指令\\ \\ 执行指令 \\ \end{cases} 完成一条指令取指令分析指令执行指令

Flynn分类法

Single:单一的 Multiple:多样的

体系结构类型结构关键特性代表
单指令流单数据流(SISD)控制部分:一个
处理器:一个
主存模块:一个
单处理器系统
单指令流多数据流(SIMD)控制部分:一个
处理器:多个
主存模块:多个
各处理器以异步的形式执行同一条指令并行处理机
阵列处理机
超级向量处理机
多指令流单数据流(MISD)控制部分:多个
处理器:一个
主存模块:多个
被证明是不可能的,至少不实际目前没有,有文献称流水线计算机为此类
多指令流多数据流(MIMD)控制部分:多个
处理器:多个
主存模块:多个
能够实现作业、任务、指令等各级全面并行多处理机系统
多计算机

指令系统——指令

指令:是指计算机执行某种操作的命令,是计算机运行的最小功能单位

一台计算机的所有指令的集合构成该机的指令系统,也称为指令集

指令格式:一组有意义的二进制代码

一条指令通常包含操作码字段和地址码字段

在这里插入图片描述
寻址方式{指令寻址——下一条欲执行指令的指令地址(始终由程序计数器PC给出)数据寻址——确实本条指令的地址码指明的真实地址 寻址方式\begin{cases} 指令寻址——下一条欲执行指令的指令地址(始终由程序计数器PC给出)\\ \\ 数据寻址——确实本条指令的地址码指明的真实地址\\ \end{cases} 寻址方式指令寻址——下一条欲执行指令的指令地址(始终由程序计数器PC给出)数据寻址——确实本条指令的地址码指明的真实地址

指令系统——寻址方式(数据寻址)

  • 立即寻址:操作数作为指令的一部分直接写在指令中,这种操作数成为立即数。
  • 寄存器寻址:指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。
  • 直接寻址:指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址。
  • 寄存器间接寻址:操作数在存储器中,操作数的有效地址用SI、DI、BX和BP四个寄存器之一来指定。
  • 寄存器相对寻址:操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)的内容和指令中的8位/16位偏移量之和。
  • 基址加变址寻址方式:操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和。
  • 相对基址加变址寻址:操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令中的8为/16位偏移量之和。

指令系统——CISC和RISC

CISC:复杂指令集计算机
RISC:精简指令集计算机

CISC(Complex)RISC(Reduced)
指令系统复杂、庞大简单、精简
指令数目一般大于200条一般小于100条
指令字长不固定定长
可访存指令不加限制只有个Load\Store指令
各种指令执行时间相差较大绝大多数一个周期内完成
各种指令使用频度相差较大都比较常实用
通用寄存器数量较少
控制方式绝大多数为微程序控制绝大多数为组合逻辑控制
指令流水线可以通过一定方式实现必须实现

指令系统——指令的流水处理

指令的控制方式有顺序方式、重叠方式和流水方式三种。

流水方式:是指并行性或并发性嵌入计算机系统里的一种形式,它把重复的顺序处理过程分解为若干个子过程,每个子过程能在专用的独立模块上有效地并发工作。
在这里插入图片描述

流水周期为执行时间最长的一段
流水线计算公式为:
1条指令执行时间+(指令数-1)*流水线周期

例:
若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是取指2ns,分析2ns,执行1ns。
那么,流水线周期是多少?100条指令全部执行完毕需要多少时间?

流水线周期为2ns(流水线周期为执行时间最长的一段)

100条指令执行时间:(2+2+1)+(100-1)*2=203ns

流水线的吞吐率

流水线的吞吐率(Though Put rate,TP):是指单位时间内流水线所完成的任务数量或输出的结果数量。

计算流水线吞吐率的最基本的公式如下:

TP=指令条数流水线执行时间\frac{指令条数}{流水线执行时间}流水线执行时间指令条数

流水线开始工作后,须经过一定时间才能达到最大吞吐率,这就是建立时间,若m个子过程所用的时间一样,均为△t,则建立时间:
T0=m*△t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值