- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
传统CPU:Intel 8088 传统CPU:Intel 8088 传统CPU :Intel 8088 传统CPU :Intel 8088 RISC大寄存器组使用方案 过程调用与返回中的局部变量; 避免“R-R”频繁的操作; RISC大寄存器组使用方案 寄存器窗口 环形缓冲器 CWP:当前窗口指针 SWP:存储窗口指针 CWP-SWP 中断 A窗口保存/恢复 流水线的优化 流水线优化 总述 龙芯处理器是兼容MIPS III指令集的通用RISC处理器 主要包括三个系列: 龙芯1号系列:主要面向嵌入式应用; 龙芯2号超标量处理器系列:主要面向桌面应用; 龙芯3号多核处理器系列:主要面向服务器和高性能机应用 龙芯2E技术特点 64位、四发射、乱序执行(动态调度、寄存器重命名、转移预测) 64KB+64KB一级片内cache,512KB二级片内cache IEEE 754兼容浮点部件,专门的媒体支持(实现MMX思想) 双精度浮点运算40亿次/秒,单精度峰值浮点运算80亿次/秒 针对缓冲区溢出攻击的专门安全支持(栈不可执行) MIPS III 兼容,支持LINUX、VxWorks、WinCE 90nm COMS工艺实现,4700万晶体管,面积6.8mmx5.2mm 最高工作频率1GHz,800MHz时功耗为5-7W 龙芯2E微体系结构 4发射超标量结构,9级乱序执行流水线。分别为取指、预译码、译码、寄存器重命名、调度、发射、读寄存器、执行、提交。 每个时钟周期取四条指令进行译码,动态地发射到五个全流水功能部件中。 采用动态调度、寄存器重命名、转移预测技术以及激进的存储系统设计来提高流水线效率 指令乱序执行但指令的提交还是按原来顺序,以保证精确中断和访存顺序执行 必 Pentium IV微体系结构 20级流水线(超流水),目标为获得更高的时钟频率 3发射超标量、乱序执行核心 指令被取后(每次从L2取64位),首先顺序经过唯一的译码部件(每周期一条指令)转成定长微操作(uop),然后以每周期3条微操作的速度进入乱序执行核心,提交亦是顺序提交。 高级动态调度、寄存器重命名、转移预测(预测失败代价大) 快速执行引擎。2个整数ALU以时钟频率的2倍速度运行 七个全流水部件(P III为5个) Pentium 4 Block Diagram Pentium 4 Pipeline Operation (1) 取/译码单元由L2取机器指令,翻译成1~4个微操作,存储在Trace Cache。BTB根据最近一次正确目标地址启动流水线 Pentium 4 Pipeline Operation (2) Trace Cache把微操作装配成装配成微操作序列,驱动到 换名/分配器 Pentium 4 Pipeline Operation (3) 无序执行:为微操作分配资源,寄存器换名(映射到大寄存器组),放入微操作队列里。 Pentium 4 Pipeline Operation (4) 调度器负责从队列中取出微操作,并派遣到相应的执行单元。 Pentium 4 Pipeline Operation (5) 执行单元从L1及整数/浮点寄存器组取数,ALU执行计算。 Pentium 4 Pipeline Operation (6) 最后完成转移检查,实际转移结果与预测比较;若预测出错,清除各段的微操作,正确目标地址由AGU提供给BTB,重新启动流水线。 龙芯指令集 龙芯2E的指令集由 MIPS III 加上自定义的指令组成。可以分为:访存指令、计算指令、跳转和分支指令以及协处理器指令(用于操控协处理器,完成内存管理、异常处理、浮点运算、多媒体运算等)。取每类典型指令,陈述如下: 访存指令:lb, sb, lh, sh, lw, sw, ld, sd (byte, half-word, word, double-word) 计算指令:add, sub, mult, div, and, or, sll, srl, slt... 跳转分支指令:j, jr, jal, beq, bne... x86指令集 x86指令集包括整数指令、浮点指令、多媒体指令等。其中整数指令可以分为4类:数据传送指令,算术和逻辑运算指令,控制流指令,字符串操作指令。 数据传送:mov, push, pop 算术和逻辑运算:add, sub, inc, dec, and, or, shl, shr, cmp 控制流:jmp, jz, jnz, call, ret 字符串操作:movs, lods, stos 龙芯指令集(MIPS III)特点 指令总数较x86要少 没有 push,pop 等栈操作指令 没有 movs, lods 等字符串操作指令
文档评论(0)