考研复试计算机组成原理面试题(三)—指令系统

指令系统

写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来。

这只是一部分,陆续还有计算机组成原理的其它章节,还会推出操作系统、数据结构、计算机网络、数据库的复试题整理

思维导图在我的processon。如果对你有帮助就打赏一下吧。

https://www.processon.com/view/link/5e6ca476e4b0f2f3bd1f89cd

简单描述什么是指令

指令是计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机所运行的所有指令集合构成计算机的指令系统,指令系统是计算机的重要属性,属于计算机体系结构的范畴,位于硬件和软件交界面上。

指令的基本格式包括,操作码和地址码。操作码是识别指令、了解指令功能区分操作数地址内容的组成和使用方法的关键信息。地址码指出被操作信息的地址。

指令的长度是指一条指令中包含的二进制代码的位数,指令字长和机器字长没有固定的关系,但根据其和机器字长大小的倍数,可以分为单字长指令、多子长指令、半字长指令等

定长指令字结构和变长指令字结构,是根据指令系统中的指令是否长度相等确定的。

简单描述指令的几种格式

零地址指令。只有操作码,没有地址码。一种可能是不需要操作数的指令,如关机、关中断、停机。另一种可能是堆栈计算机采用的从栈顶和次栈顶取操作数

一地址指令,只有目的操作数的指令。一种情况是从这个地址读数,操作后在存回这个地址。如取反、自增、求补。另一种情况是,指令可约定另一个操作数由ACC提供,运算结果也存入ACC中。

二地址指令有两个操作数,操作后的结果还会返回目的操作数中。

三地址、四地址指令不再赘述。

数据按边界对齐和不按边界对齐的区别

设存储字长32位计算机中,可以按照字、半字、字节寻址。对于机器字长32位的计算机来说,数据以对齐方式存放,其中半字的地址一定是2的倍数,字地址一定是4的倍数。这样,无论数据的大小是字、字节、半字,都可以一次访存取出。当不满足上述要求时,通过填充空白字节让其符合要求。虽然浪费了一定的存储空间,但可以提高取数据的速度。

不按对齐的方式存储,虽然提高了存储空间的利用效率,但是字长和半字长的数据容易存储在两个存储单元上,这样取数据的时候就好两次访存,还要调整高低字节的位置。

什么是指令寻址和数据寻址

指令寻址:寻找下一条要执行的指令地址;数据寻址:寻找操作数的地址。

指令寻址又分为:顺序寻址和跳跃寻址两种。顺序寻址是PC+1自动生成的指令,而跳跃寻址是由本条指令给出下条地址的计算方式形成的,结果是修改PC的值,所以下一条指令仍然通过PC给出。

数据寻址是是指如何在指令中表示一个操作数的地址,如何用这种表示得到操作数或者怎样计算出操作数的地址。

描述相对寻址、基址寻址、变址寻址

相对寻址:相对寻址把把PC内容加上指令格式中的形式地址A而形成操作数的有效地址。形式地址可正可负,用补码表示。相对寻址的优点是操作数的地址不是固定的,它随着PC的值变化而变化,而且指令地址之间总是相差一个固定值,便于程序浮动。相对寻址广泛应用于转移指令。

基址寻址:基址寄存器BR的内容加上指令格式中的形式地址A而形成的操作数的有效地址。在程序执行过程中,基址寄存器内容不变而形式地址可变。基址寻址的优点是可以扩大寻址范围;用户不必考虑自己的程序存在于主存的那个空间区域,有利于多道程序设计。

变址寻址:形式地址A加上变址寄存器的内容就是有效地址的内容。在程序执行过程中,形式地址不变,寄存器的数值不断改变,非常适合编写循环程序。

基址寻址是面向操作的,变址寻址是面向用户的。

对一个指令系统来说,寻址方式多和少有什么影响

寻址多样化可以使用户编程更加方便,但多种寻址方式会造成CPU结构复杂化,不利于流水线的运行。寻址方式太少,虽然可以使CPU运行效率高,但是会让程序变得复杂。

描述CISC和RISC的特点并比较

复杂指令系统,指令数量庞大,超过200条,而且对访存不加以限制,各种指令执行时间相差大,频度相差也大,通用寄存器数量少;难以优化生成高校的目标代码;绝大多数以微程序的方式控制;指令流水线可以通过一定方式实现。

Load/Store指令有什么特点

这种指令的出现,是为了规整指令格式,使指令有相同的长度。只有这种指令才能访存。运算指令不能直接访问内存,只能从寄存器取数据进行计算,运算结果只能送到寄存器。这种风格的指令系统最大的特点是指令格式规整,指令长度一致,一般32位。由于只有这两种指令可以访存,因此这种风格的程序可能会更长。

发布了19 篇原创文章 · 获赞 10 · 访问量 1942

猜你喜欢

转载自blog.csdn.net/qq_30719815/article/details/104926210