MIPS架构

✍ dations ◷ 2024-12-22 18:30:59 #电脑架构,指令集架构,MIPS架构

MIPS架构(英语:MIPS architecture,为Microprocessor without Interlocked Pipeline Stages的缩写,亦为Millions of Instructions Per Second的头字语),是一种采取精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,广泛被使用在许多电子产品、网络设备、个人娱乐设备与商业设备上。最早的MIPS架构是32位,最新的版本已经变成64位。

在1981年,斯坦福大学教授约翰·轩尼诗领导他的团队,实现出第一个MIPS架构的处理器。他们原始的概令是透过指令管线化来增加CPU运算的速度。

1984年,约翰·轩尼诗教授离开斯坦福大学,创立MIPS科技公司。于1985年,设计出R2000芯片,1988年,将其改进为R3000芯片。

为了减少各种指令后流水线的阻塞,MIPS I引入了延迟槽机制,在分支与加载指令后都有一条指令的延迟槽。分支指令延迟槽中的内容会先于分支指令被提交。而加载指令的延迟槽中则不允许使用刚刚加载的数据。一般情况下延迟槽的安排会由汇编器完成,但在一些情况下程序员仍然需要关注他的存在。对于实在无法安排指令的延迟槽可以直接填入"NOP"。

MIPS包括32个寄存器和2^30个存储器字,详见下表:

在MIPS架构中,指令被分为三种类型:R型、I型和J型。三种类型的指令的最高6位均为6位的opcode码。从25位往下,

三种类型的指令图示如下:

MIPS I 具有访存8-bit字节,16-bit半字,32-bit字的能力, 并且只支持“基地址+偏移”一种寻址模式。 由于MIPS I是一种32位架构,少于32-bit的加载指令在目标寄存器中都会对高位进行符号扩展或全零扩展到32-bit。带有 "无符号" 后缀的指令会被进行全零扩展,其他的指令会进行符号扩展。 加载指令会从一个通用寄存器中获取基地址 (rs) 并将从操作地址读取的结果写入一个通用寄存器 (rt). 存储指令则会从一个通用寄存器获取基地址(rs),将另一个通用寄存器(rt)中的内容写入相应操作地址。所有的访存指令都会将基地址加上指令中的有符号16-bit立即数immediate偏移以获得最终操作地址。 MIPS I要求所有的访存指令与操作单位对齐,也就是目标地址必须是所访问数据字节数的整数倍。为了支持高效的非对其访存,MIPS提供了带左/右后缀的访存指令。所有的加载指令后面带有一个延迟槽,延迟槽内的指令不得使用刚刚加载的指令。

相关

  • 下鼻甲下鼻甲(Inferior nasal concha)有二块,呈卷曲样,形成鼻腔外侧壁的一部分。他们与上鼻甲及中鼻甲担任相同的功能,允许空气进入肺以前的循环及过滤作用。然而下鼻甲是独立的骨骼,
  • BBC TelevisionBBC电视(英语:BBC Television)是英国广播公司(BBC)的电视服务。英国广播公司是1927年根据皇家特许证成立的公司,1932年从自己的工作室制作电视节目,1936年11月2日开始固定播放电视
  • 物种面积曲线物种面积曲线,或种数-面积曲线在生态学上是在某一地区内,物种数量与栖息地(或部分栖息地)面积的关系。当面积越大时,物种的数量也倾向较多;实验显示两者的关系依循一套系统数学关
  • 参孙与大利拉《参孙和大利拉》改编自《圣经·旧约·士师记》第十三章至第十六章中有关希伯莱英雄参孙的故事,是一部由法国作曲家圣桑创作的大型歌剧,于1877年在德国首次公演。这部歌剧是圣
  • 前夫丈夫,是男女婚姻中对男性的称谓,与妻子相对应。古代妻子对自己配偶又称夫婿、夫君、相公、官人,闽南语则称翁婿(闽南语读“ㄤ”(ang /ɑŋ/),字用“翁”)、头家、夫婿。外子则是妻
  • 经血过多经血过多(Menorrhagia)描述女性在月经期间经血量过多的情形,属于功能失调性子宫出血的一种。非正常的子宫出血可能肇因于生殖道结构异常、无排卵(英语:anovulation)、出血疾病、激
  • 自由贸易区自由贸易区或自贸区可以指:
  • 胜海舟胜海舟 / 胜安芳(1823年3月12日-1899年1月19日),日本幕末开明政治家,江户幕府海军负责人。曾留学美国学习海军军事。在坂本龙马行刺他的时候说服龙马成为他的门生。幕府崩溃前夕,
  • 社会排斥社会排斥(Social exclusion)这个词汇初始于法国,而后广泛用于英国和欧洲的语境中。其可运用于不同的领域中,比如心理学、教育学、政治学、经济学以及社会学。当权利、机会和资源
  • 波托马克河波托马克河(英语:Potomac River),是美国东部的主要河流之一,全美第21大河流。波托马克河有两个源头,北源发源于西弗吉尼亚州普雷斯顿县、格兰特县和塔克县交界处,南源发源于弗吉尼