问题:
1、为什么需要存储器容量扩展?位容量与字容量扩展有什么不同?
存储器容量扩展是解决芯片容量与系统容量匹配问题。
当芯片数据线位数少于系统数据位数时,需要位扩展;单芯片地址位数少于系统地址位数时。需要字扩展。
2、计算机字长16位,其存储容量为32MB,若按双字编址,它的寻址范围是多少?
寻址范围是:32M×8位(字节)/32位=8M
000 0000 0000 0000 0000 0000—111 1111 1111 1111 1111 1111
3、某SRAM芯片,其存储容量为64K×16位,该芯片的地址线和数据线数目各为多少?
地址线:64K=26K=2*16次方
地址线和数据线数目分别为:16,16。
【提示:数据线数目=位数】
4、设计一个容量为2KB的存储器需要几片128×8位的存储芯片? 画出其容量扩展框图。
2K×8位/128×8位 = 211次方/27次方=2*4次方= 16
需要16片
第一片128×8位的存储芯片寻址范围是:
000 0000 0000 ~000 0111 1111
第二片: 000 1000 0000 ~000 1111 1111
第三片: 001 0000 0000 ~001 0111 1111
…
第十六片:111 1000 0000 ~111 1111 1111
5、设计一个容量为16K×16位的存储器需要几片4K×8位的存储芯片? 画出其容量扩展框图。
16K×16位/4K×8位=8
需要8片扩展
6、按照小端及大端存放规则,写出数据 12345678H在连续4个内存单元(00050H?00053H)中的存放结果。
小端规则 大端规则
0050 78 0050 12
0051 56 0051 34
0052 34 0052 56
0053 12 0053 78
内存地址 -> 0x1(最小存储地址) 0x2 0x3 0x4
大端法 -> 12(最高有效字节) 34 56 78
小端法 -> 78(最低有效字节) 56 34 12
可见,大端法和小端法是相反的。大端法最高有效字节在前,小端法最低有效字节在前。
问题:
1.设置Cache的目的是什么?CPU如何访问Cache与主存?
设置Cache的目的:
为了提高CPU访问主存的速度,cpu速度太快,硬盘和内存的速度无法跟上,就必须弄出几级cache来暂存数据。
否则,cpu把数据处理完毕,但硬盘上的数据和内存中的数据却还没有送达到cpu,导致cpu空转,影响整个系统的效率
CPU如何访问Cache与主存:
CPU发出访问主存的地址,Cache也同时收到,若目标数据在Cache中(命中)则Cache将先于主存把数据送往CPU,若Cache没命中则主存迟早会把目标数据送往CPU
2.Cache的主要性能指标是什么?如何计算?
主要性能指标:命中率
设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有
h=Nc/(Nc+Nm)
3.主存与Cache的地址映射方式有哪几种?它们如何将主存的块映射到Cache块中?
三种方式进行映射:直接、全相联、组相联 ?
(1).全相联的映射方式—主存块可以拷贝到Cache任意块
(2).直接映射方式—主存j块固定映射拷贝到Cache的i块
(3).组相联映射方式 将Cache所有行分组,把主存块映射到Cache固定组的任一行中。即:组间模映射、组内全映射
4.有一处理机,主存容量1MB,字长1B,块大小16B;Cache容量64KB,若cache采用直接映射,给出主存地址分段结构,并指出映射到cache同一块的2个不同的主存地址。
解:根据题意:
字长1B,块大小16B,16B/1B=24
字号:4位
块数= 64KB/16B=216B/24B=212
块号:12位
Cache: 64KB=216B , 每个块大小16B=24B
主存容量1MB,地址20位, 分区数=1MB/64KB= 220/216= 2*4
标记:4位
区号:标记位=4位(或直接20-12-4=4得出)
主存地址:标记4位,块号12位,字号4位
5.一台计算机按字节寻址,其内存为1M。数据块的大小是16个字节,Cache的大小是64K字节。采用两路组相联映射,给内存地址为F0010H和CABBEH两个地址对应的标记、组号和字号。
解:按字节寻址,数据块为16个字节
字号:16B/1B=24,4位
采用两路组相联映射(每组内只有2块):64KB/2=32KB=215B
组号:15-4=11位
内存为1M,地址20 位:20-11-4=5位
标记位,区号:5位
地址: 标记5位, 组号11位, 字号4位
F0010H: 11110 00000000001 0000B
CABBEH:11001 01010111011 1110B
6.一个组相联Cache由64个块组成,每组4块(4路组相联)。主存储器包含4K个块,每块16个字。请表示主存地址格式。给内存地址为F001H和CABBH两个地址对应的标记、组号和字号。
解:
块大小16字=24字 ,字号=4位
每组的块数=4
组数= 64/4=16=24 ,组号=4位
主存的块数4K=2*12 ,标记=12-4=8位
主存地址格式(16进制):
标记 8位 组号4位 字号4位
F001H F0 0 1
CABBH CA B B
问题:
1.什么是指令系统?为什么说指令系统是计算机中软 件和硬件分界面?
指令系统是计算机硬件的语言系统,也叫机器语言(Machine Language)。
它的下面层次是硬件逻辑实现,上面层次是系统软件与应用软件。所以指令系统是一个软件和硬件分界面。
2.什么是操作码?什么是操作数?
操作码就是指令序列号,用来告诉CPU需要执行哪一条指令
操作数(地址码 A)是操作码的操作对象。
3.操作数为什么又被称为地址码?指令中常用的操作数的个数是多少?
操作数字段的除了立即寻址直接给出操作数本身外,其他的绝大多数寻址方式都是直接或间接地给出操作数地址或地址索引。所以称之为地址码。
指令中常用的操作数的个数是:三个、二个、一个及零个。
4.指令中的操作数通常来源于哪里?
来源于:
(1)立即数—操作数即指令代码中的地址码部分;
(2)寄存器—操作数在寄存器中(即指令代码中的地
址码部分所指出的寄存器中的内容);
(3)内存单元—操作数在内存单元中(即指令代码中
的地址码部分所指出的内存单元中的内容);
(4)I/O端口(I/O接口中存放信息的寄存器—操作数在
I/O端口中)。
哪种操作数寻址方式能最快得到操作数?哪种最慢得到操作数?
立即寻址方式取出指令立即得到操作数,所以最快;
间接寻址方式取出指令后还需要两次访问存储器才能得到操作数,所以最慢。
习题:
1.寄存器寻址与寄存器间接寻址有什么不同?请根据实验计算机指令说明之。
操作数位置与寻址过程不同。
例如:
(1)MOV A,R1 ;R1指示寄存器寻址,操作数在R1中;
寻址过程是直接用R1访问寄存器得到操作数;
(2)MOV A,@R1 ;@R1指示寄存器间接寻址,操作数在主存中;
寻址过程用R1访问寄存器得到操作数的主存地址,然后用该地址访问存储器得到操作数。
2.立即数寻址与直接寻址在汇编指令形式上有什么不同?他们的操作数都源于哪里?请根据实验计算机指令说明之。
立即寻址要在操作数前面加上标记:#
如:
MOV A,#01H ; #01H 就是立即寻址,操作数就在指令中;
直接寻址要直接给出主存地址
如:
MOV A,01H ; 01H 是直接寻址,操作数在01H指向的存储单元中。
3.零地址指令是否有操作数?如果有,操作数采用何种寻址方式?请解释这种寻址方式。
零地址指令可以有,也可以没有操作数,视指令功能需求而定。如果有操作数,该操作数采用隐含寻址方式,这种寻址方式操作数的位置是固定的,比如在累加器、在堆栈里面。通过操作码确定具体位置。
如:
NOP 是空操作,就没有操作数;
IN 是输入指令,两个操作数一个在输入寄存器里,一个在累加器里。
问 题:
1.基本的指令类型有哪些?实验计算机指令集都有哪些类指令?
(1) 数据传送类指令
(2) 运算类指令
(3) 程序控制类指令:跳转指令、分支指令、子程序调用返回、中断系统
(4) 输入和输出指令
(5) 其他指令: 空操作NOP或者软件的调试
2.RICS与CISC各有什么特点?
CISC:复杂指令计算机
(1)指令系统复杂庞大,各种指令使用频度相差大;
(2)指令长度不固定、指令格式种类多、寻址方式多;
(3)访存指令不受限制。
RISC:精简指令集计算机
(1)选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合;
(2)指令长度固定、指令格式种类少、寻址方式少;
(3)只有 LOAD / STORE 指令访存。其余指令的操作均在寄存器之间进行。
3.实验计算机的有2个标志位RCy和Rz,各代表什么含义?那类指令的执行会对它们起作用?
RCy:CPU的累加器ACC直通门进位表示位
Rz: CPU的累加器ACC直通门的清零标志位
4.处理器的主要功能?
(1)处理指令(Processing instructions)
(2)执行操作(Perform an action):根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。
(3)控制时间(Control time):对各种操作实施时间上的定时。
(4)处理数据(Processing data):对数据进行算术运算和逻辑运算,或进行其他的信息处理。
5.根据实验计算机各种指令的微操作执行过程分析,哪步微操作是所有指令都相同的还是必须的?那类指令操作影响标志位RCy和Rz,如何影响?
M[PC]->IR :这步微操作是所有指令都相同且必须的;
运算类会影响标志位RCy和Rz,有进位或者借位时标志位RCy为1,否则为0,运算后直通门数据为0时Rz为1,否则为0
6.微操作执行过程依据什么分步?最长多少步?最短多少步?
IR:存放从存储器中取出的指令
最长4步;最短2步
习题:
以单微指令步骤运行下列指令,分析每一步微操作的相同与不同。有PC+1操作的指令字长与没有的有区别吗?
有PC+1操作的指令是双字指令,没有这个操作的是单字指令
1.ADD A,#12H的微指令分为3步
指令地址 机器码 汇编码
00 1C12 ADD A,#12H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→W
(3)A+W→D→A ?
2.MOV A,#20H的微指令分为2步
指令地址 机器码 汇编码
02 7C20 MOV A,#20H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→A
3.MOV R0,#60H的微指令分为2步
指令地址 机器码 汇编码
04 8C60 MOV R0,#60H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→R0
4.MOV @R0,A的微指令分为3步
指令地址 机器码 汇编码
06 84 MOV @R0,A
微操作步骤
(1)M[PC]→IR
(2)PC+1,(R0)→MAR
(3)A→D→M[MAR]
5.SUB A,60H的微指令分为4步
指令地址 机器码 汇编码
07 3860 SUB A,60H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→MAR
(3)M[MAR]→W
(4)A-W→D→A
6.MOV R1,#30H的微指令分为2步
指令地址 机器码 汇编码
09 8D30 MOV R1,#30H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC+1]→R1
7.SUB A,R1的微指令分为3步
指令地址 机器码 汇编码
0B 31 SUB A,R1
微操作步骤
(1)M[PC]→IR
(2)R1→ W
(3)A-W → A
8.MOV A,#00H的微指令分为2步
指令地址 机器码 汇编码
0C 7C00 MOV A,#00H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→ A
9.ADDC A,R1的微指令分为3步
指令地址 机器码 汇编码
0E 21 ADDC A,R1
微操作步骤
(1)M[PC]→IR
(2)R1→ W
(3)A+W+Rcy → A
1.计算机存储字长64位,存储容量为16GB,若按半字编址,求编址单元数目?
解:存储字长64位,半字就是32位;16GB = 16G × 8位
所求编址单元数目 = 16G × 8位 / 32位= 4G
2.某SRAM芯片,其存储容量为1024K×16位,该芯片的地址线和数据线数目各为多少?
解:1024K =1M = 220,
所以地址线数目20;数据线数目为16。
3.设计一个容量为256K×16位的存储器,可选存储器芯片为8K×8位。如何扩展?需要扩展的芯片数目各是多少?
解:需要字、位双向扩展。
字扩展的芯片数目 = 256K /8K = 32片
位扩展的芯片数目 = 16位 /8位 = 2片
4.有一处理机,主存容量64K块,块大小16个字;Cache容量4K块,若Cache采用直接映射,写出主存地址结构;并给出2个不同标记的内存地址,它们映射到同一个cache行。
解:块大小16=24,字号位数=4位
分区数=64K/4K =216/212=24,标记位数=4位
Cache块数=4K=212,块号位数=12位
主存地址结构(20位)为:标记4位,块号12位,字号4位
主存地址60010H(标记6)与70010H(标记7)都映射到cache的001H块。
5.输入输出方式有几种?都是什么方式?
有4种方式,分别是:
(1)无条件传送方式;(2)程序查询方式 ; (3)程序中断方式; (4)DMA方式
哪种方式是程序控制方式?哪种方式仅通过硬件控制输入输出?
(1)、(2)、(3)方式是程序控制方式;(4)方式仅通过硬件控制输入输出。
查询方式如何实现?有什么缺点?
查询方式传送前,CPU必须先对外设进行状态检测。缺点是耗费CPU时间,外设多的情况CPU轮番查询更耗时,响应速度也不及时。
8.程序查询方式与程序中断方式的主要区别是什么?
前者CPU主动查询I/O接口;后者I/O接口主动请求CPU。
9.中断方式与DMA方式在控制I/O数据传输方面的的主要区别是什么?
前者通过中断服务程序控制I/O数据传输,一次传 送一个数据字;后者以硬件方式由DMA控制器直接控制I/O 数据传输,一次可以传送一个数据块。
10.试比较中断方式与DMA方式的优缺点。
前者优点是软件控制,不局限于I/O数据传输,可以应用到任何随机突发事件;缺点是I/O数据传输较慢。后者的优点是I/O数据传输较快;缺点是硬件控制只局限于I/O数据传输。
11.何谓中断向量?
中断向量即中断服务程序的入口地址。在某些计算机中,中断向量的位置存放一条跳转到中断服务程序入口地址的跳转指令。
12.列举引发中断的三种事件?操作系统的多任务调度靠哪种实现
如I/O中断、定时中断、控制台中断等。操作系统中的多任务调度靠定时中断实现。
13.中断处理通过硬件还是软件实施,分为哪4个步骤?
中断处理过程通过软件实施,大致分为四个阶段:
(1)保存被中断程序的现场;(2)分析中断原因;
(3)转入相应处理程序进行处理;
(4)恢复被中断程序现场(即中断返回)
14.按照总线传输的信息,总线可分为哪三类?
按照所传输信息的性质分类:
地址总线 (单向)
数据总线 (双向)
控制总线 (双向)
15.总线的性能指标与什么因素有关?何谓总线带宽?如何计算?
与总线的位宽、总线的时钟频率及总线的数据传输速率相关。
总线的最高数据传输速率称为总线带宽。
总线带宽=总线位宽×总线工作频率/8
16.为什么总线上的部件常常需要与三态逻辑门连接?
为解决总线上连接的部件发送冲突问题,总线与其上所挂的部件在物理是连通的,但是从逻辑上有输入、输出、断开三种状态, 所以连接总线上的部件需要通过三态逻辑门接口与总线连接。