- 博客(8)
- 资源 (22)
- 收藏
- 关注
翻译 64-ia-32架构优化手册(8)
2.5. Intel® 微架构NehalemIntel微架构Nehalem对IntelCore i7处理器以及IntelXeon处理器3400,5500与7500系列的许多创新性的特性提供了基础。它构建在45nm增强IntelCore微架构的成功基础上,并提供下列特性改进:· 增强的处理器核- 改进分支预测以及从误预测恢复。- 增强循环流化以改进前端性能并降低功耗
2017-09-29 11:44:51 450
翻译 Intel, AMD及VIA CPU的微架构(6)
3.6. Intel Nehalem中的分支预测Nehalem中的分支预测机制公开文献甚少,测试结果尚未能完全解释。误预测惩罚因为更长的流水线,误预测惩罚更甚于Core2。测量到的误预测惩罚至少是17个时钟周期。条件跳转的模式识别分支预测机制被改进以补偿更长的误预测时延。条件跳转由结合了一个或多个双层预测器机制及循环计数器的混合预测器处理。另外,有一个机制用于间接跳转
2017-09-29 11:35:50 477
翻译 Intel, AMD及VIA CPU的微架构(5)
3.4. PMMX,PPro,P2及P3中的分支预测BTB的组织PMMX的分支目标缓冲(BTB)有256项,组织为16路*16组。每项由所属控制转移指令最后字节地址的2-31位识别。2-5位定义组,6-31位作为标签保存在BTB中。64字节间隔的控制转移指令有相同的组值,因此偶尔可能彼此挤出BTB。因为每组16路,这不太经常发生。PPro,P2及P3的分支目标缓冲(BTB)有
2017-09-15 11:38:12 576
原创 LLVM学习笔记(19)
3.4.2.5.2. 有匹配模式的Instruction对有模式的Instruction定义,第一步也是先生成CodeGenInstruction实例。接着把这个实例,连同记录了其匹配模式的DagInit列表,交给下面的方法来解析。目的也是生成DAGInstruction实例,但这里因为指令定义有匹配模式,处理起来复杂很多。2903 const DAGInstruction &C...
2017-09-15 11:34:43 749
翻译 Intel, AMD及VIA CPU的微架构(4)
3.2. P1中的分支预测用于P1的分支预测机制与其他处理器差异极大。在Intel文档及别处找到的,关于这个主题的信息是误导性的,遵循这些文档中给出的建议很可能导致次优的代码。P1有一个分支目标缓冲(BTB),它可以保存最多256条跳转指令的信息。BTB被组织为一个4路组相连缓存,每路64项。这意味着BTB不能持有超过4个组值相同的项。不像数据缓存,BTB使用一个伪随机替换算法,
2017-09-08 11:57:18 406
翻译 64-ia-32架构优化手册(7)
2.4.5.Intel® Advanced Smart CacheIntel Core微架构为一块芯片上的两个处理器核优化了若干特性。这两个核共享一个第二级缓存以及一个总线接口单元,统称为IntelAdvanced Smart Cache。本节描述Intel Advanced Smart Cache的组件。图2-9显示了IntelAdvanced Smart Cache架构。图2-
2017-09-08 11:51:05 366
原创 LLVM学习笔记(18)
3.4.2.5.Instruction的处理CodeGenDAGPatterns下一步开始处理指令定义。在Instruction的定义里有一个list<dag>类型的成员Pattern,如果不是空,它指定了该指令的匹配模式。在3072行获取Pattern的定义。3065 void CodeGenDAGPatterns::ParseInstructions() {3066...
2017-09-08 11:45:59 1003
翻译 Intel, AMD及VIA CPU的微架构(3)
3. 分支预测(所有处理器)在现代微处理器中的流水线包含许多步骤,包括指令获取,解码,寄存器分配及重命名,μop重排,执行及回收。以流水线方式处理指令允许微处理器在同时做许多事情。在执行一条指令的同时,在获取及解码下一条指令。使用流水线的最大问题是代码中的分支。例如,一条条件跳转允许指令流进入两个方向中的任一个。如果仅有一条流水线,那么微处理器不知道向流水线填入两个分支中的哪个,直到
2017-09-01 11:51:28 1187
Introduction to Theory of Computation
2018-09-23
Survey on Instruction Selection
2018-09-23
Towards a Compilation infrastructure for network processors
2018-09-23
the art of multiprocessor programming
2018-09-23
Crafting a Compiler
2018-09-01
How Debuggers Work
2018-09-01
Elements of Compiler Design
2018-09-01
category-theory-for-programmers
2018-09-01
Language_Implementation_Patterns_C
2018-09-01
Compiler Construction-20th
2018-09-01
Compiler Construction-19th
2018-09-01
Compiler Construction-17th
2018-09-01
Compiler Construction-16th
2018-09-01
Compiler Construction-5th
2018-09-01
Construction and Evolution of Code Generator
2018-09-01
Modern Embedded Computing Designing Connected, Pervasive, Media-Rich Systems
2018-09-01
Compiler Construction-11th
2018-09-01
The compiler design handbook
2018-09-01
Data_Flow_Analysis_Theory_And_Practice(Bookos.org)
2018-09-01
The Compiler Design Handbook Optimizations and machine code generation
2018-09-01
instruction scheduling for instruction level parallel processor
2018-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人