Intel Core i7的整体操作
Intel Core i7的整体操作(我们也称呼为Nehalem,他的项目代码名) 主要分成2个部分 -指令控制单元Instruction Control Unit(ICU),负责从存储器读出指令序列,并生成基本操作 -执行单元Execution Unit(EU),执行ICU生成出来的操作 ICU从指令高速缓存(Instruction Cache)中读取指令 通常会很早之前就取值,这样才有时间对指令译码,然后把操作发送给EU 不过如果遇到分支,会有2种情况 -选择分支,控制被传递的分支目标 -不选择分支,控制被传递到指令序列的下一条指令 现代处理器有了一种新技术叫分支预测 -处理器会预测是否会选择分支,并预测好分支的目标地址 -然后用投机执行Speculative Execution来取出位于它所预测会跳到的指令,然后译码(在还没确定预测是否正确前就执行了) -如果预测失败,就会回到分支点(重新预测) 指令译码逻辑接受实际的程序指令,并转换成基本操作(也叫微操作) -这些基本操作就是一些简单的计算任务 EU接受来自ICU的操作 -每个周期都会接受多个操作,这些操作会被分派到一组功能单元中,然后执行 -功能单元是用来处理特定类型的操作 读写存储器是由加载和存储单元实现 -加载单元处理从存储器读数据到处理器的操作 -当使用投机执行技术时,分支操作会送到EU,如果分支预测错误