共1条
1/1 1 跳转至页
MIPS体系
只看楼主 1楼
第一章 RISCs与MIPS MIPS是高效精简指令集计算机(RISC)体系结构中最优雅的一种;即使连MIPS的竞争对手也这样认为,这可以从MIPS对于后来研制的新型体系结构比如DEC的Alpha和HP的Precision产生的强烈影响看出来。虽然自身的优雅设计并不能保证在充满竞争的市场上长盛不衰,但是MIPS微处理器却经常能在处理器的每个技术发展阶段保持速度最快的同时保持设计的简洁。 相对的简洁对于MIPS来说是一种商业需要,MIPS起源于一个学术研究项目,该项目的设计小组连同几个半导体厂商合伙人希望能制造出芯片并拿到市场上去卖。结果是该结构得到了工业领域内最大范围的具有影响力的制造商们的支持。从生产专用集成电路核心(ASIC Cores)的厂家(LSI Logic,Toshiba, Philips, NEC)到生产低成本CPU的厂家(NEC, Toshiba,和IDT),从低端64位处理器生产厂家(IDT, NKK, NEC)到高端64位处理器生产厂家(NEC, Toshiba和IDT). 低端的CPU物理面积只有1.5平方毫米(在SOC系统里面肉眼很难找到).而高端的R10000处理器,第一次投放市场时可能是世界上最快的CPU,它的物理面积几乎有1平方英寸,发热近30瓦特.虽然MIPS看起来没什么优势,但是足够的销售量使其能健康发展:1997年面市的44M的MIPS CPU,绝大多数使用于嵌入式应用领域. MIPS CPU是一种RISC结构的CPU, 它产生于一个特殊的蓬勃发展的学术研究与开发时期.RISC(精简指令集计算机)是一个极有吸引力的缩写名词,与很多这类名次相似,可能遮掩的真实含义超过了它所揭示的.但是它的确对于那些在1986到1989年之间投放市场的新型CPU体系结构提供了一个有用的标识名,这些新型体系结构的非凡的性能主要归功于几年前的几个具有开创性的研究项目所产生的思想。有人曾说:"任何在1984年以后定义的计算机体系结构都是RISC";虽然这是对于工业领域广泛使用这个缩写名词的嘲讽,但是这个说法也的确是真实的-1984年以后没有任何一款计算机能够忽视RISC先驱者们的工作。 在斯坦福大学开展的MIPS项目是这些具有开创性的项目中的一个。该项目命名为MIPS(主要是无内锁流水段微型计算机的关键短语的缩略)同时也是"每秒百万条指令数"的双关语。斯坦福研究小组的工作表明虽然流水线已经是一种众所周知的技术,但是以前的体系结构对它研究的远远不够,流水线技术其实能够被更好的利用。尤其是当结合了1980年的硅材料设计水平时。 1.1 流水线 从前在英格兰北部的一个小镇里,有一个名叫艾薇的人开的鱼和油煎土豆片商店。在店里面,每位顾客需要排队才能点他(她)要的食物(比如油炸鳕鱼,油煎土豆片,豌豆糊,和一杯茶)。然后每个顾客等着盘子装满后坐下来进餐。 艾薇店里的油煎土豆片是小镇中最好的,在每个集市日中午的时候,长长的队伍都会排出商店。所以当隔壁的木器店关门的时候,艾薇就把它租了下来并加了一倍的桌椅。但是这仍然不能容纳下所有的顾客。外面排着的队伍永远那么长,忙碌的小镇居民都没有时间坐下来等他们的茶变凉。 他们没办法再另外增加服务台了;艾薇的鳕鱼和伯特的油煎土豆片是店里面的主要卖点。但是后来他们想出了一个聪明的办法。他们把柜台加长,艾薇,伯特,狄俄尼索斯和玛丽站成一排。顾客进来的时候,艾薇先给他们一个盛着鱼的盘子,然后伯特给加上油煎土豆片,狄俄尼索斯再给盛上豌豆糊,最后玛丽倒茶并收钱。顾客们不停的走动;当一个顾客拿到豌豆糊的同时,他后面的已经拿到了油煎土豆片,再后面的一个已经拿到了鱼。一些穷苦的村民不吃豌豆糊-但这没关系,这些顾客也能从狄俄尼索斯那里得个笑脸。 这样一来队伍变短了,不久以后,他们买下了对面的商店又增加了更多的餐位。 这就是流水线。将那些具有重复性的工作分割成几个串行部分,使得工作能在工人们中间移动,每个熟练工人只需要依次的将他的那部分工作做好就可以了。虽然每个顾客等待服务的总时间没变,但是却有四个顾客能同时接受服务,这样在集市日的午餐时段里能够照顾过来的顾客数增加了三倍。图1.1说明了艾薇的方法,是由她那很少涉猎非虚现实问题的儿子爱因斯坦绘制的。 如果将程序看成是内存中存储的一堆指令的话,一个即将运行的程序看起来和排着队等待接受服务的顾客没什么相似之处。但是如果从CPU的角度来看,就不一样了。CPU从内存中提取每条指令,进行译码,确定需要的操作数,执行相应操作,并存储产生的任何结果-然后再次重复同样的工作。等待执行的程序就是一个等待一次一个的流过CPU的指令队列。 由于每条指令都要做不同的工作,因此在CPU内部已经配有各种不同的专用的大块逻辑电路,所以构造一个流水线并没有使CPU复杂度增加多少;只是让CPU工作负载更重一些而已。 对于RISC微处理器来说使用流水线技术不是什么新鲜事儿。真正重要的在于完全的重新设计-从指令集开始-目的是使流水线更加高效。因此,怎样才能设计一个高效的流水线实际上可能是一个错误的问题。正确的提问应该是,是什么使得流水线效率低下?
关键词: 体系 一个 顾客
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 |