复习题1-10
1、某SARM芯片,其存储容量为64K×16位,该芯片的地址线数目和数据线数目分别是__D_。
A. 64, 16 B 16, 64, C 64, 8 D 16, 16
解析:
首先,我们来看存储容量,它是64K×16位。这里的64K指的是存储单元的数量,而16位是每个存储单元的数据位宽。
- 计算地址线数目:地址线数目决定了芯片可以访问的存储单元的数量。由于2^16=64K(注意,这里的K表示1024,即2^10,但在这里我们直接考虑64K为64×(2^10)=2^6×(2^10)=2^16),因此,该SARM芯片需要16根地址线来寻址所有的64K个存储单元。
- 计算数据线数目:数据线数目决定了每次读写操作可以传输的数据位宽。由于每个存储单元是16位的,因此该SARM芯片有16根数据线。
综上所述,该SARM芯片的地址线数目是16,数据线数目也是16。
2、以下四种类型指令中,执行时间最长的是__C_。
A.RR型指令 B. RS型指令 C. SS型指令 D. 程序控制指令
解析:
在探讨四种类型指令(RR型指令、RS型指令、SS型指令、程序控制指令)中哪一种执行时间最长时,我们可以从它们的特性和执行过程来进行分析。
RR型指令:这类指令主要在CPU的寄存器之间进行操作,不涉及内存的访问。因此,其执行周期相对较短,通常只需要一个取指周期和一个执行周期。例如,ADD指令(加法指令)就是RR型指令,它在运算器中用两个寄存器R1和R2的数据进行加法运算,指令周期只需两个CPU周期。
RS型指令:这类指令涉及寄存器和存储器的操作。它首先需要从指令存储器取出指令,然后从数据存储器中取出数据,最后执行操作。由于需要访问内存,其执行时间会比RR型指令长。RS型指令通常包括三个CPU周期:一次访问指令存储器,一次访问数据存储器,以及一次执行操作。
SS型指令:这类指令主要涉及存储器和存储器之间的操作。由于它涉及多次内存访问(通常是读写操作),因此其执行时间会比RS型指令更长。SS型指令在执行过程中需要多次访问内存,这增加了指令的执行周期。
程序控制指令:这类指令主要负责控制程序的流程,如跳转、循环等。虽然它们的执行过程可能相对复杂,但具体到执行时间上,并不一定比所有SS型指令都长。程序控制指令的执行时间取决于具体的指令类型和程序的上下文。
综合以上分析,我们可以得出结论:在RR型指令、RS型指令、SS型指令和程序控制指令中,执行时间最长的是SS型指令。这是因为SS型指令在执行过程中需要多次访问内存,增加了指令的执行周期和总体执行时间。
3、在下述I/O控制方式中,主要由程序实现的是__B_。
A.PPU方式 B. 中断方式 C. DMA方式 D. 通道方式
解析:
A. PPU方式(外围处理机方式):这种方式下,IO操作几乎全部由外围处理机来完成,外围处理机类似一个小型PC,不是主要由程序直接实现的。
B. 中断方式:虽然中断方式涉及到了程序对中断的处理,但它本身并不是由程序直接控制整个IO过程的。中断方式是在需要IO服务时中断CPU的现行工作,转去执行IO服务,IO操作的具体执行并不完全由程序控制,而是由硬件中断机制触发。然而,如果从“程序需要处理中断”这一角度来看,可以认为中断方式中程序参与了IO过程的一部分。
C. DMA方式(直接存储器访问方式):DMA方式下,IO操作主要由DMA控制器完成,CPU只在数据传送开始时启动DMA控制器,并在数据传送结束时接收中断通知。这种方式显著减少了CPU对IO操作的直接干预,因此不是主要由程序实现的。
D. 通道方式:通道是一个独立于CPU的专管输入输出控制的处理机,它控制设备与内存直接进行数据交换。通道方式下,CPU只需发出IO指令,通道就能完成相应的IO操作,并在操作结束时向CPU发出中断信号。这种方式同样不是主要由程序实现的。
4、CRT的分频率为1024×1024像素,像素的颜色数为256色,则刷新存储器的容量是_B__.
A. 512KB B. 1MB C. 256KB D. 2MB
解析:
为了计算刷新存储器的容量,我们需要考虑CRT(阴极射线管)的分辨率和像素的颜色深度。
分辨率是1024×1024像素,意味着屏幕上有1024行,每行1024个像素点。
像素的颜色数为256色,这意味着每个像素点可以用8位(一个字节)来表示,因为 2^8=256
因此,整个屏幕的像素数据量为:
1B(字节)=8b(位)
1 KB = 1024 B1024(行)×1024(列/行)×1(字节/像素)=1,048,576 字节
将字节数转换为千字节(KB)和兆字节(MB):
1,048,576 字节=1,048,576 /1024KB=1024 KB=1 MB
所以,刷新存储器的容量是1MB。
5、采用DMA方式传送数据时,每传送一个数据要占用__D_的时间。
A.一个指令周期 B.一个机器周期 C.一个时钟周期 D.一个存储周期
解析:
A. 一个指令周期:指令周期通常指的是CPU执行一条指令所需的时间,包括取指令、分析指令和执行指令三个阶段。DMA方式下,数据的传送并不直接涉及CPU的指令执行,因此这个选项不正确。
B. 一个机器周期:机器周期通常用于描述CPU完成一个基本操作(如取指令、取操作数或执行运算等)所需要的时间。同样,DMA传送数据时并不直接依赖于CPU的机器周期,所以这个选项也不正确。
C. 一个时钟周期:时钟周期是计算机中最基本的、最小的时间单位,它通常指CPU的时钟频率的倒数。虽然DMA操作可能与时钟信号有关,但说每传送一个数据就占用一个时钟周期并不准确,因为这个时间可能因具体硬件和传输条件而异。
D. 一个存储周期:存储周期是指存储器进行一次完整的读/写操作所需的时间,它包括存储器的寻址时间、数据存取时间以及数据传输到总线的时间等。在DMA方式下,数据的传送是通过DMA控制器与主存之间的直接交互实现的,因此每传送一个数据都会占用一个存储周期的时间。这个选项是正确的。
6、定点8位字长的字,采用2的补码形式表示时,一个字所表示的整数范围是_A__。
A.–128—+127 B.-127—+127 C.-129—+128 D.-128—+128
解析:
对于定点8位字长的字,采用2的补码形式表示时,其所能表示的整数范围是一个关键的知识点。我们可以根据以下分析来确定答案:
1. 补码表示法的基本原理
在计算机中,整数可以采用补码形式表示,这是一种能够表示正数、零和负数的有效方法。在补码表示法中,最高位(最左边的位)是符号位,0表示正数或零,1表示负数。其余位则用于表示数值的大小。
2. 定点8位字长的表示范围
对于定点8位字长的字,其最高位是符号位,因此剩下的7位用于表示数值的绝对值。
- 正数范围:当符号位为0时,其余7位可以表示的最大数值是
0111 1111
(二进制),转换为十进制是127。因此,正数范围是从0到127。- 负数范围:当符号位为1时,表示的是负数。在补码表示法中,负数的绝对值是通过对其正数形式的二进制表示取反加一(即求补码)得到的。特别地,最小的负数(即-128)在补码表示中并没有直接的正数对应形式,而是通过特殊的表示方法(即
1000 0000
)来表示。3. 确定整数范围
根据上述分析,定点8位字长的字,在采用2的补码形式表示时,其整数范围是从-128到+127。
7、运算器虽有许多部件组成,但核心部分是__B_。
A.数据总线 B.算术逻辑单元 C.多路开关 D.通用寄存器
8、某计算机字长32位,其存储容量是1MB,若按字编址,它的寻址范围是__C_。
A.0—1M B.0—512KB C.0—256K D.0—256KB
解析:
为了解答这个问题,我们首先需要明确几个关键概念:计算机字长、存储容量、按字编址,以及它们如何影响寻址范围。
1B(字节)=8b(位)
1 KB = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB
1TB = 1024GB
计算机字长:本题中字长为32位,即4字节(因为1字节 = 8位)。这意味着每次访问内存时,可以处理或传输4字节的数据。
存储容量:存储容量是1MB,即1024×1024字节(因为1MB = 1024^2字节)。
按字编址:按字编址意味着内存地址是以字为单位进行分配的。由于每个字是4字节,因此每个地址代表4字节的内存空间。
接下来,我们计算寻址范围:
- 由于每个地址代表4字节,所以1MB的存储空间(即1024×1024字节)可以划分为(1024×1024)/4个字。
- 进行计算,我们得到(1024×1024)/4=262144个字。
- 注意到这个数字(262144)接近但大于2^18(即256K,其中K表示1024),但在计算机存储单位中,我们通常使用2^n的倍数来表示存储容量。因此,尽管实际字数更多,但为了方便表示,我们通常会说寻址范围是“到256K”。
9、CRT的分辨率为1024×1024像素,像素的颜色总数为256色,则刷新存储器每个单元
字长是_C__。
A.256位 B.16位 C.8位 D.7位
解析:
在解答这个问题时,我们首先需要明确几个关键点:CRT的分辨率、像素的颜色总数,以及它们如何影响刷新存储器(或称为帧缓冲存储器)中每个单元的字长。
CRT的分辨率:题目中给出的是1024×1024像素。这意味着屏幕上有1024行,每行1024个像素点,总共1,048,576个像素点。
像素的颜色总数:题目中提到像素的颜色总数为256色。这意味着每个像素点可以用一个范围在0到255之间的数(包括0和255)来表示其颜色,即每个像素的颜色可以用8位(一个字节)来表示,因为2^8=256。
刷新存储器(帧缓冲存储器)的字长:由于每个像素的颜色都需要被存储在刷新存储器中,并且每个颜色可以由8位来表示,因此刷新存储器中每个单元(对应于屏幕上的一个像素)的字长就是8位。
10、为了便于实现多级中断,保有现场信息最有效的方法是采用__B_。
A.通用寄存器 B.堆栈 C.存储器 D.外存
解析:
在探讨为了便于实现多级中断时,保存现场信息最有效的方法时,我们可以从以下几个方面进行分析:
一、理解多级中断
多级中断是指在计算机系统中,多个中断源可能同时或几乎同时产生中断请求,而CPU需要按照某种优先级顺序来处理这些中断。在处理每一个中断时,CPU都需要保存当前执行的程序的现场信息,以便在中断处理完毕后能够恢复并继续执行原程序。
二、分析各选项
- 通用寄存器:
- 通用寄存器是CPU内部的存储单元,用于临时存储数据、指令地址等。但它们并不适合用于保存多级中断的现场信息,因为通用寄存器的数量有限,且通常用于存储临时性的、与当前指令执行直接相关的数据。
- 堆栈:
- 堆栈是一种先进后出(FILO)的数据结构,非常适合用于保存多级中断的现场信息。当CPU响应一个中断时,可以将当前程序的现场信息(如程序计数器PC的值、状态寄存器的值等)压入堆栈中。当中断处理完毕后,再从堆栈中弹出这些信息,以恢复并继续执行原程序。这种方式既方便又高效,且符合多级中断的处理需求。
- 存储器:
- 存储器是一个广泛的概念,包括内存和外存等。但在这里,仅提及“存储器”而没有具体指明是哪种类型的存储器,因此不够具体。此外,虽然存储器可以用于存储数据,但它并不具备堆栈那种先进后出的特性,因此在保存多级中断现场信息时不是最优选择。
- 外存:
- 外存(如硬盘、U盘等)主要用于长期存储数据,其访问速度远低于内存和CPU内部的寄存器。因此,在需要快速保存和恢复现场信息的中断处理过程中,使用外存显然是不合适的。
结语
期末肯吃苦
假期乐如虎
!!!