后来发现老师布置的作业大部分都是408题(doge)
根据题目下面的知识点可以推导出答案。
(1)
假设变址寄存器R的内容为1000H,则指令中的形式地址为2000H; 地址 1000H 中的内容为 2000H,地址 2000H 中的内容为 3000H,地址 3000H 中的内容为 4000H,则索引寻址方式接下来访问的操作数为(D)。
EA=(R)+A=1000H+2000H=3000H,操作数S=(3000H)=4000H
索引寻址 ( )
索引寻址
索引寻址用在哪里?
正式地址和有效地址
正式地址和有效地址
操作码和地址码
操作码和地址码
操作数类型
操作数类型(2)
计算机使用 16 位固定长度指令字格式。 操作码位数和寻址模式位数是固定的。 该指令系统有48条指令,支持直接、间接、立即数和相对四种寻址方式。 单地址指令中的直接寻址 寻址方式的可寻址范围为: A
A. 0~255 B. 0~1023 C. -128~127 D. -512~511
这里是16位定长指令,48条指令,需要6位位编码。 由于它支持四种寻址模式:直接、间接、立即和相对,因此 Mod 字段需要 2 位位编码。 总共16位指令,因此可以发现 地址范围就是8位编码范围(0~255)。
单一地址
指令类型
补充(与上述问题无关):
指令的操作码扩展
指令的操作码扩展
寻址方式
直接寻址
(3)
以下寻址方法中,最适合按下标顺序访问一维数组元素的是(D)。
A. 相对寻址 B. 寄存器寻址 C. 直接寻址 D. 变址寻址
问题(1)提到数组访问一般使用索引寻址。
变址操作时,将计算机指令中的地址与变址寄存器中的地址相加,得到有效地址。 该指令提供数组的首地址,索引寄存器定位数据中的每个元素。 因此它最适合按下标顺序访问一维数组元素。
相对寻址
相对寻址
相对寻址的偏移量是补码形式,可以是正数,也可以是负数。
寄存器寻址
寄存器寻址
下面简单总结一下寻址方法
(4)
下列有关 RISC 的说法中,错误的是 A
A.RISC一般采用微程序控制器
B.RISC大部分指令在一个时钟周期内完成
C.RISC比CISC有更多的内部通用寄存器
D.RISC的指令、寻址方式、指令格式类型都比CISC少。
RISC使用硬接线,CISC使用微程序控制器
精简指令集计算机
CISC的特点
CISC
CISC(例如X86)
早期的CISC指挥系统
RISC的特点
精简指令集计算机
RISC 比 CISC 好在哪里?
RISC的发展
补充:
CISC(复杂指令集计算机)
早期的CPU架构都是这样的,使用最少的计算机指令来完成任务。 以Intel X86为核心的PC系列基于CISC架构。
特征:
乘法运算可以翻译成一条指令完成
2.RISC(精简指令集计算机)
Apple的是基于RISC架构的
特征:
(5)
某个命令的格式如下。
命令格式
其中,M为寻址方式,I为索引寄存器号,D为形式地址。
如果采用变址优先间接寻址的寻址方式,则操作数的有效地址为C
人工智能+D
B.(I)+D
C.((I)+D)
D.((I))+D
先取出寄存器的内容,然后进行偏移索引,再取出内存的内容,所以选择C
间接寻址
间接寻址
(6)
计算机是按字节寻址的。 指令字长是固定的,指令格式只有两种。 三地址指令有29条,二地址指令有107条。 每个地址字段为 6 位。 指令字长至少应为
本题考点与第(2)题相同
三地址指令(OP码至少5位,可以表示32条指令,但只需要表示3=29条指令,所以还剩下3种情况)
5+6+6+6
两条地址指令(OP码高5位有3种情况,加上低6位(原来的A1)共有192条指令,大于107条)
11+6+6
所以指令字长实际上只需要11+6+6=23位,但是计算机是按字节寻址的,所以是8的整数倍,所以至少是24位。
(7)
某台机器的字长是16位。 主存储器是按字节寻址的。 传送指令使用相对寻址并由两个字节组成。 第一个字节是操作码字段,第二个字节是相对位移字段。 假设在取指令时,每取一个字节,PC 就会自动加 1。 若一条传输指令的主存地址为2000H,相对位移字段内容为06H,则传输成功后该传输指令的目标地址为C
A.2006H B.2007H C.2008H D.2009H
目标地址由两部分组成:操作码字段+相对位移字段。
相对寻址的内容见问题(3)
操作码地址为源地址(一字节)+偏移字段(一字节)。 最后加上PC自增规则,加2到两个字节。
具体流程请参考下图:
相对寻址指令跳转示例
注:PC指向下一条指令的地址,因此“如果一条传输指令的主存地址为2000H”则表示PC尚未执行完毕。
主存地址2000H处的传送指令代表要执行的指令。
(8)
在变址寻址模式下,操作数的有效地址为(C)。
A.基地址寄存器的内容加上正式地址
B. 程序计数器内容加正式地址
C.变址寄存器的内容加上正式地址
D. 注册内容加正式地址
在变址寻址模式下,操作数的有效地址是变址寄存器的内容加上形式地址。
用变址寄存器的内容与指令的地址码部分给出的地址(通常是位移量)之和作为操作数的地址来获取所需的操作数,称为变址寻址。
(9)
零地址指令使用(C)
间接寻址
B立即寻址
C 堆栈寻址
D 索引寻址
自增和自减是最适合堆栈寻址的方法
堆栈寻址堆栈
堆栈寻址
栈的结构
堆栈的访问和操作
堆栈指令
ARM 堆栈寻址
立即寻址
(10)
计算机使用大端模式和字节寻址。 某指令中操作数的机器号为1234 FF00H。 操作数采用基地址寻址方式。 正式地址(以二进制补码表示)是FF12H。 基地址寄存器的内容为F000 0000H。 那么操作数的LSB(最低值)是 地址(有效字节)是(D)
F000 FF12H
B F000 FF15H
C EFFF FF12H
德埃夫FF15H
操作数为 12 34 FF 00
通过基址寻址得到操作数的地址:
F000 0000H + FFFF FF12 H -> EFFF FF12 H(存在溢出)
大端模式:高地址存储低字节数据
模式:高地址存储高字节数据
大端模式
基址寻址Based
(11)
在字节寻址计算机中,某种类型的数组A的首地址是2000H。 使用索引寻址和循环结构来访问数组A。保存数组下标的变址寄存器的初始值为0。每次循环取一个数组元素。 ,偏移地址为索引值乘以(),取指后索引寄存器内容自动加1。 若某次循环中取的元素地址为2100H,则进入循环时变址寄存器的内容为B
A.25
B.32
C .64
D.100
一条数据为8字节,因此需要变址寄存器的内容为16*16/8=32
2100H - 2000H = 2^8
是64bit=8Byte=2^3Byte
2^8/2^3 = 2^5 =
(12)
指令寻址和数据寻址的区别是(B)
A.是访问内存,后者是访问寄存器
B.前者是确定程序执行的顺序,后者是取操作数地址。
C. 前者是短指令,后者是长指令
D.前者是确定程序传送地址,后者是取操作数
指令寻址:
程序能够被传送的根本原因是:当执行传送指令时,程序计数器PC的值被修改。
数据寻址:
长格式指令和短格式指令
(13)
冯·诺依曼计算机中的指令和数据以二进制形式存储在内存中,CPU区分它们的依据是(C)。
A.指令操作码解码结果
B、指令和数据的寻址方式
C. 指令周期的不同阶段
D、指令和数据所在的存储单元
虽然指令和数据以二进制形式存储在内存中,但CPU可以根据指令周期的不同阶段来区分指令或数据。 通常在取指令阶段取指令,在执行阶段取数据。 需要明确的是,CPU只有在确认它是一条指令后才会发送其操作码进行解码。 因此,无法根据解码结果来区分指令和数据。
ISA指令集架构分类:
放
(14)
偏移寻址通过将寄存器的内容添加到正式地址来生成有效地址。 下列寻址方式中,不属于偏移寻址方式的是(A)。
A. 间接寻址
B. 基址寻址
C. 相对寻址
D. 索引寻址
寻址方式总结(15)
堆栈指针SP的内容是什么? A
A. 栈顶单元地址
B. 栈顶单元的内容
C. 栈底单元地址
D. 堆栈底部单元的内容
(16)
寄存器介绍 在寻址模式下,操作数位于(A)?
A、主存储器
B、注册
C、程序寄存器
D、堆栈
寄存器间接寻址:
(17)
计算机有16个通用寄存器,使用32位定长指令字。 操作码字段(包括寻址模式位)为8位。 Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基地址寻址。 地址模式。 如果基址寄存器可以使用任意通用寄存器,且偏移量以补码表示,则 Store 指令中偏移量的取值范围为 A
A.-32768~+32767
B.-32767~+32768
C.-65536~+65535
D.-65535~+65536
偏移地址以二进制补码表示。 16位补码的表示范围为-32768~+32767,故选择A
假设补码字长为n位,则n位补码的取值范围为-2^{n-1}到2^{n-1}-1
(18)
某机器的16位字长指令格式如下:
16位指令格式
其中:D为形式地址,用补码表示(含1个符号位);
M是寻址方式
这种指令格式可以定义多少种不同的操作? 32
2.立即寻址的操作数范围是多少? -128 - 127
由于操作码占用5位,因此可以执行32种不同的操作。 由于形式地址占用8位,并用二进制补码表示,因此立即操作数范围为-128到127