计算机体系结构:5、中央处理器

计算机采用“存储程序”的工作方式,即计算机必须能够自动地从主存取出一条条指令执行,而专门用来执行指令的部件就是中央处理器(central Processing unit,CPU)

5.1 CPU概述

5.1.1 CPU的基本功能

​ CPU的基本职能是周而复始地执行指令,但执行过程中可能会遇到一些异常情况和外部中断,故还要能发现和处理异常情况和中断请求。

​ CPU执行一条指令的过程如下:

  1. 取指令。从PC指出的内存单元中取出指令送到指令寄存器(IR)
  2. 对IR中的指令操作码译码并计算下条指令地址。不同指令的功能不同,即指令涉及的操作过程不同,因而需要不同的操作控制信号。
  3. 计算源操作数地址并取源操作数。根据寻址方式确定源操作数地址计算方式,若源操作数是存储器数据,则需要一次或多次访存。例如,对于间接寻址或两个操作数都在存储器的指令,需多次访存;若源操作数是寄存器数据,则直接从寄存器取数,无须访存
  4. 对操作数进行相应的运算。在ALU或加法器等运算部件中对取出的操作数进行运算
  5. 目的操作数地址计算存结果。根据寻址方式确定目的操作数的地址计算方式,将运算结果存入存储单元中

上述这些基本操作可以用形式化的方式来描述,称为寄存器传送级语言(register transfer level,RTL):

  • R[r]表示通用寄存器r的内容
  • M[addr]表示存储单元addr的内容
  • M[R[r]]表示寄存器r的内容所指存储单元的内容
  • PC表示PC的内容
  • M[PC]表示PC所指存储单元的内容
  • SEXT[imm]表示对imm进行符号扩展
  • ZEXT[imm]表示对imm进行零扩展
  • 传送方向用 ← \leftarrow 表示,即传送源在右,传送目的在左

5.1.2 CPU的基本组成

数据通路(datapath)和控制器(control unit)是两大基本部件,控制器也称为控制部件。

​ 通常把数据通路中专门进行数据运算的部件称为执行部件(execution unit)。指令执行所用到的元件有两类:组合逻辑元件(也称操作元件)和存储元件(也称状态元件)。连接元件的方式:总线方式分散连接方式。

数据通路就是由操作元件状态元件通过总线或分散方式连接而成的进行数据存储、处理和传送的路径。

1.操作元件

​ 操作元件属于组合逻辑元件,其输出取决于当前的输入。常用的有MUX,Adder和ALU。

在这里插入图片描述

图1 数据通路中常用的组合逻辑元件
2.状态元件

​ 状态元件属于时序逻辑电路,具有存储功能,输入状态在时钟控制下被写到电路中,并保持电路的输出值不变,直到下一个时钟到达。输入端状态由时钟信号决定何时被写入,输出端状态随时可以读出。例如D触发器:

在这里插入图片描述

图2 D触发器

边沿触发(edge-triggered):

  • 上升沿:在时钟正跳变时进行读/写
  • 下降沿:在时钟负跳变时进行读/写

时间约束:

建立时间(Setup Time): 在触发时钟边沿之前必须稳定

保持时间(Hold Time):在触发时钟边沿之后必须稳定

Clock-to-Q time:(Latch Prop-锁存延迟):在触发时钟边沿,输出不能立即变化,状态单元的输入信息总是在一个时钟边沿到达厚的Clk-to-Q时才被写入到单元中,此时输出才会变化

5.1.3 数据通路与时序控制

在这里插入图片描述

图3 数据通路和时钟周期

​ 数据通路的基本结构为"…— 状态元件 — 组合逻辑元件 — 状态元件 — …"。假定采用下降沿触发,则所有状态元件在时钟下降沿到来时开始写入信息,经过触发器的锁存延迟(Clk-to-Q)后输出开始有效,并输出到随后的组合逻辑电路进行处理,经过若干级门延迟,得到的处理结果被送到下一级状态元件的输入端,然后必须稳定一段时间(setup time),才能开始下个时钟周期,并在时钟信号达到后还要保持一段时间(hold time)

​ 假定门延迟(最长延迟)为longest delay,考虑时钟偏移(clock skew),则时钟周期(cycle time )应为:
c y c l e   t i m e = C l k − t o − Q + l o n g e s t   d e l a y + s e t u p   t i m e + c l o c k   s k e w cycle\ time=Clk-to-Q+longest\ delay+setup\ time+clock\ skew cycle time=ClktoQ+longest delay+setup time+clock skew
​ 假定各级组合电路中最短延迟为shorttest dealy,为了能正常工作,应满足以下时间约束:
C l k − t o − Q + s h o r t e s t d e l a y > h o l d t i m e Clk-to-Q +shortest delay > hold time ClktoQ+shortestdelay>holdtime
​ 否则组合电路中的输出结果还没更新,下一个下降沿就来了,导致混乱。

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值