首页 > 编程知识 正文

计算机组成与设计二指令计算机指令 一,计算机组成原理指令周期

时间:2023-05-04 11:14:14 阅读:180226 作者:3670

一、前言:计算机要听从指挥,必须使用计算机语言。 1 .指令:计算机语言中的基本单词叫指令。 2 .指令集:包含在给定计算机体系结构中的指令的集合。 3 .机器语言虽然多种多样,但由于彼此很相似,其差异性并不是独立的语言,而更像人类语言中的“方言”。 因此,在知道了任意一种机器语言之后,就能够接触到其他的机器语言并进行旁路。 4 .一般计算机指令集: MIPS、ARMv7、Intel x86等。 以下用MIPS进行说明。 5 .指令集的相似性要求所有计算机都基于基本原理的相似硬件技术构建,同时所有计算机都必须提供一些基本操作。 另外,计算机设计者有着共同的目标。 简化硬件和编译器设计,优化性能,同时最小化成本和功耗。 如上图所示,不同指令集之间的相似性导致了硬件技术的相似性,同时任何指令都必须为计算机提供完整的基本操作,抽象了设备的简单性原则,根据该原则设计了计算机硬件。 二.计算机硬件操作1 .前言:任何计算机都必须能够执行算术运算。 因此,对于计算机硬件的操作,如何设计硬件就显得尤为重要。 2 .硬件设计三原则: 2.1简单来源于规则。 该原则对命令格式进行严格约束。 它规定一条指令有三个操作数,只有三个操作数。 例如,add a、b、c (其中add是加法和操作,a、b、c指示将b、c的结果存储在a中,后续参数的显示将更加有序化。 这是因为参数一般存储在寄存器中。 ) 2.2越小越快:该设计原则对寄存器个数进行约束,目的是保证程序的执行速度。 寄存器数量过多会增加时钟周期。 概念解释:操作数:与高级编程语言(如C语言)不同,MIPS算术运算指令的操作数是严格的,必须来自寄存器。 寄存器:寄存器由硬件直接构建,数量有限,是计算机硬件设计的基本要素。 一般来说,相当于大小为3.2位的收纳盒,每个收纳盒只能容纳一个操作数,这些收纳盒直接参与算术运算。 例如,2.1中命令add a、b、c的三个参数都需要从寄存器中选择。 另外,MIPS架构中,32位的寄存器有32个,寄存器在处理器内部。 字:计算机中的基本访问单位。 通常以32位为一组,在MIPS架构中与寄存器大小相同。 MIPS承诺在“$”后用两个字符表示寄存器,如$S0、$S1和$t1。 PS:MIPS的算术运算指令只操作寄存器,实际上由于大量的数据存储在存储器中,所以MIPS必须包含在存储器和寄存器之间传输数据的指令。 这些命令称为数据传输命令。 内存:大下标从0开始的一维数组。 因此,为了访问存储器内的一个字,命令必须提供存储器地址,该地址相当于数组下标。 在上图中,可以看出存储器通过数据通路将数据传输到处理器的寄存器中进行相关的运算。 中,在某些操作中经常使用常数。 这些常数一般需要从内存中读取,此操作非常耗时,因此诞生了称为即时数的常数操作数的高速操作指令。 2.3优秀的设计需要合适的折中方案。 简而言之,为了保持所有指令长度相同并且具有统一指令格式,需要基于设计原则3,在不同指令类型下使用不同的指令格式,同时保持所有指令长度相同。

在解释第三条原则之前,请参阅有符号数

ound-color:inherit">无符号数                 计算机硬件中,所有信息都是由二进制数位或者位组成。在一个32位的字中,从0开始,从右向左标记。最低有效位表示最右边的一位,最高有效位表示最左边的一位。                                  为了区分有符号数和无符号数,将最高有效位作为符号位进行区分。因此延伸出补码这一概念,补码和原码的关系:                 x(原码) = x(补码)+1                    注意,这里加1 是因为 补码最小位(1000 0000 0000 0000 0000 0000 0000 0000 ) 和原码最大位(0111 1111 1111 1111 1111 1111 1111 1111)之和 为 -1,因此需要加1。
                人操作计算机的方式和计算机看到的指令的方式是不同的。指令在计算机内部是以若干或高或低的电信号的序列表示的,并且在形式上和数的表示相同。实际上,指令的各部分都可以看成一个独立的数,将这些数拼接在一起就形成了指令。
                因为几乎所有的质量都用到了寄存器,因此需要有一套规定,以将寄存器名字映射成数字,在MIPS汇编语言中,寄存器$S0~$S7映射到寄存器16~23,同时,寄存器$t0~$t7映射到寄存器8~15。

                汇编语言指令需要翻译成机器指令。机器指令分为若干个字段。指令的布局形式叫做指令格式,把指令的数字形式称为机器语言,这样的指令序列叫做机器码。                                  MIPS字段(R型,用于寄存器):                     op(6位):指令的基本操作,称为操作码                     rs(5位):第一个源操作数寄存器                     rt(5位):第二个源操作数寄存器                     rd(5位):用于存放操作结果的目的寄存器                     shamt(5位):位移量,作位移指令时才需要                     funct(6位):功能,一般称为功能码,用于指明op字段操作的特定变式。                 MIPS字段(I型,用于立即数):                       op(6位):指令的基本操作,称为操作码                     rs(5位):第一个源操作数寄存器                     rt(5位):第二个源操作数寄存器                     constant or address(16位):立即数地址
                     

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。