这一章书中以Y86-64为例介绍一个简单的处理器体系结构,从顺序结构出发,逐步构造流水线化的处理器。关于Y86-64的细节笔记中将不涉及,需要时参考教材。

第四章 处理器体系结构


一个处理器支持的指令和指令的字节级编码称为它的 指令集体系结构
指令集的一个重要性质就是 字节编码必须有唯一的解释 ,这个性质保证了处理器可以无二义性地执行目标代码程序。

RISC(精简指令集计算机)和CISC(复杂指令集计算机)对比


  • RISC指令数量很少,CISC指令数量很多
  • RISC一般没有较长延迟的指令,CISC有些指令延迟很长
  • RISC编码是固定长度的,CISC编码是可变长度的
  • RISC的寻址方式相对简单,CISC指定操作数的方式多样
  • RISC的过程链接寄存器密集,通常RISC处理器有更多的寄存器,CISC的过程链接栈密集,栈被用来存取过程参数和返回地址
  • 现代计算机结合RISC和CISC两者思想的精华

Y86-64的顺序实现


顺序实现的处理器,每个时钟周期上,执行处理一条完整指令所需的所有步骤:

  1. 取指(fetch):从内存读取指令字节,地址为程序计数器(PC)的值
  2. 译码(decode):从寄存器文件读入最多两个操作数
  3. 执行(execute):算术逻辑单元要么执行指令指明的操作,计算内存引用的有效地址,要么增加或减少栈指针,也可能设置条件码
  4. 访存(memory):将数据写入内存,或从内存读出数据
  5. 写回(write back):最多可以写两个结果到寄存器文件
  6. 更新PC(PC update):将PC设为下一条指令的地址

流水线通用原理


吞吐量:可以用每秒完成的指令条数描述吞吐量。
延迟:从头到尾执行一条指令所需要的时间。

流水线中每当时钟上升时,各阶段的输出加载到流水线寄存器中,成为下一阶段的输入,信号可能以不同速率通过流水线中不同部分。

流水线化的一个重要特性就是 提高了系统的吞吐量 ,不过也会轻微地增加延迟,延迟增加是因为增加了流水线寄存器的时间开销。

流水线需要解决指令之间的相关性问题:

  • 数据相关 :相邻的指令之间使用相同的寄存器
  • 顺序相关 :由指令控制流造成,比如跳转语句、调用和返回、分支语句等

评论

还没有登陆?评论请先登陆注册

还没有评论,抢个沙发吧!

 联系方式 contact me

Github
Email
QQ
Weibo