学位论文 > 优秀研究生学位论文题录展示
X通用微处理器指令控制部件的关键技术研究
作 者: 戴曦
导 师: 李国宽
学 校: 国防科学技术大学
专 业: 软件工程
关键词: 指令控制部件 取指 可变长指令 分支预测
分类号: TP332
类 型: 硕士论文
年 份: 2004年
下 载: 109次
引 用: 3次
阅 读: 论文下载
内容摘要
本文在研究、剖析x86处理器复杂指令系统的基础上,设计了两发射超标量结构处理器指令的控制部件,并对关键模块进行了验证。 X通用微处理器指令控制部件完成的功能主要有: 1、从指令Cache取出的指令流中分离出两条指令,同时生成指令的其他相关信息; 2、对分离出的两条指令进行指令译码、配对和相关性检查,确认满足条件后发送到各执行部件中。 由于X处理器采用CISC指令集,指令长度可变,因此如何从连续的指令流中高速分离出两条正确的指令是设计的难点之一,解决此难点的关键是计算出指令的长度。在指令控制部件的设计过程中,提出将通常在指令译码段完成的指令长度译码提前到取指阶段,即指令长度的计算与取指同步进行,并在计算出的指令长度控制下进行指令分离。该设计较传统的基于长度猜测的指令分离有更高的性能。 在深流水宽发射的微处理器中,为实现高性能,精确的分支预测是不可缺少的关键技术。为提高分支预测精度,减少分支开销,设计上采用了基于改进的二级自适应分支预测算法,并应用于分支目标缓冲器。改进算法的主要思想是将分支的历史信息设计成两级表:一级表是真实历史信息表,存放分支指令的执行历史情况;二级表为预测历史信息表,是由真实历史信息表与其通过二级适应性分支预测法所得结果组合形成。 在论文的最后,对设计的主要模块进行了功能验证。
|
全文目录
目录 4-7 图目录 7-9 表目录 9-10 摘要 10-11 ABSTRACT 11-12 第一章 绪论 12-14 §1.1 研究背景 12 §1.2 研究的任务 12 §1.3 主要研究成果 12-13 §1.4 课题研究的意义 13 §1.5 论文结构 13-14 第二章 X处理器结构概述 14-19 §2.1 指令介绍 14-16 2.1.1 指令前缀 14-15 2.1.2 操作码(Opcode) 15 2.1.3 MODR/M字节 15-16 2.1.4 SIB(scale,index,base)字节 16 2.1.5 偏移量(Displacement) 16 2.1.6 立即数(Immediate) 16 §2.2 X通用微处理器体系结构概述 16-19 第三章 指令控制部件的研究 19-28 §3.1 指令控制部件总体结构设计 19-22 3.1.1 指令控制部件的功能概述 19 3.1.2 指令控制部件的执行流程 19-21 3.1.3 指令控制部件的总体结构 21-22 §3.2 预取指令 22 §3.3 取指模块 22-23 §3.4 指令译码的设计实现 23-26 3.4.1 第一译码段(D1) 24-25 3.4.1.1 操作码的译码 24 3.4.1.2 指令配对相关性检查的设计 24-25 3.4.2 第二译码段(D2) 25-26 §3.5 复杂指令的微码控制 26-27 §3.6 本章小结 27-28 第四章 分离两条复杂指令的研究与设计 28-49 §4.1 判断两条指令长度的研究与设计 28-31 4.1.1 指令长度的分析 28-29 4.1.2 计算指令长度的流程 29-30 4.1.3 判断两条指令长度的流程 30-31 §4.2 分离两条复杂指令的设计 31-34 4.2.1 分离两条复杂指令流程的设计 31-32 4.2.2 分离两条复杂指令结构的设计 32-34 4.2.3 指令分离结构中各模块的概述 34 §4.3 指令长度计算的设计实现 34-41 4.3.1 指令长度译码(Length Decoder)模块 34-36 4.3.2 属性位译码(Attribute Decoder)模块 36-37 4.3.3 预取缓冲、长度信息缓冲、0F缓冲和属性位缓冲 37-41 §4.4 两条指令分离的设计实现 41-47 4.4.1 移位模块 41-43 4.4.2 移位控制模块 43-45 4.4.3 指令前缀译码模块 45-46 4.4.4 先进先出队列FIFO 46-47 §4.5 本章小结 47-49 第五章 分支预测机制设计 49-64 §5.1 二级自适应预测算法 49-51 §5.2 预测算法的改进——二级历史表预测算法 51-56 5.2.1 改进算法的提出 51-52 5.2.2 二级历史表的算法 52-56 5.2.2.1 二级历史表预测分支指令判断的流程 53-54 5.2.2.2 预测历史表修改的流程 54-55 5.2.2.3 真实历史表的修改 55-56 §5.3 BTB的总体设计 56-57 §5.4 BTB Cache的设计 57-61 5.4.1 BTB Cache行的分配、更新与修改 59-61 5.4.1.1 分支指令分类 59-60 5.4.1.2 BTB分配、更新与修改 60-61 §5.5 二级历史表的设计 61-62 §5.6 返回堆栈RSB 62-63 §5.7 本章小结 63-64 第六章 指令控制部件功能模拟验证 64-69 §6.1 指令长度译码模块功能验证 64-66 6.1.1 指令长度译码模块待测功能 64 6.1.2 验证方法和实施步骤 64 6.1.3 结果分析 64-66 1)单个长度译码单元模拟结果的部分波形图如6.1所示。 64-65 2) 16个指令长度译码单元模拟结果 65-66 §6.2 两条指令分离模块功能验证 66-67 6.2.1 两条指令分离模块的待测功能 66 6.2.2 验证方法和实施步骤 66 6.2.3 结果分析 66-67 §6.3 BTB模块功能验证 67-69 6.3.1 模块的待测功能 67 6.3.2 验证方法和实施步骤 67-68 6.3.3 结果分析 68-69 第七章 工作总结与展望 69-71 §7.1 工作总结 69 §7.2 工作展望 69-71 攻读硕士学位期间发表的论文 71-72 致谢 72-73 参考文献 73-76 附录A 76-80 §附A.1 00H操作码表 76-78 §附A.2 0F操作码表 78-80 附录B BTB功能的测试程序 80
|
相似论文
- 嵌入式处理器取指单元关键部件低功耗技术研究,TP332
- YHFT-Matrix DSP取指部件设计实现与多指令流扩展,TP368.1
- 记录式分支预测器,TP332
- 嵌入式处理器中低功耗的BTB研究与设计,TP332
- 微处理器中分支处理技术的开发与研究,TP368.11
- 一种基于双模结构的分支预测器研究,TP332
- 基于数据重用机制的超标量处理器分支预测研究,TP332
- 同时多线程处理器性能与功耗改进的研究,TP332
- 多线程微处理器取指和线程选择的研究与实现,TP332
- 基于神经网络的处理器分支预测技术研究,TP332
- 64位高性能微处理器前端取指部件的设计与实现,TP332
- 指令Cache优化中代码重排技术的研究与实现,TP332
- X微处理器分支预测机制设计及模糊加权的分支预测研究,TP332
- X微处理器分支预测电路结构设计与优化,TP332
- 适于频繁上下文切换的TG-share分支预测器,TP332
- 一种适用于MIPS指令系统的分支预测方法,TP311.52
- 基于“龙腾R2”微处理器的SMT结构的研究,TP332
- 32位5级流水线嵌入式处理器设计,TP332
- EPIC体系结构研究与流水线设计及实现,TP332
- 多线程处理器存储结构研究,TP332
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 电子数字计算机(不连续作用电子计算机) > 运算器和控制器(CPU)
© 2012 www.xueweilunwen.com
|