中断向量表地址
- 格式:ppt
- 大小:709.51 KB
- 文档页数:133
深入C51中断向量表在FLASH 中有一组特殊的保留单元000H~00ABH0000H-0002H 这三个单元包含一个无条件跳转指令(LJMP),当系统复位后,PC=0000H,跳转到main 函数(不确切)LJMP 是三字节指令。
就是由指令码02H(一个字节) + 16 位地址(2 个字节)组成16 位地址就是Main()函数的地址,其实也不然,由于main()函数在调用之前,要进行堆栈的初始化之类的工作,在KEIL 中,这部分代码是自动生成的(对于C 程序来说),跳转地址实际就是这个堆栈汇编的代码开头处!以下是一个C 程序转换成汇编的部分代码C:0x0000 020410 LJMP C:0410 ;跳转到堆栈初始化的开头处. ......................................................... ;中断向量表C:0x0023 020527 LJMP UART0_ISR(C:0527) ;跳转到串口中断函数地址C:0x0410 787F MOV R0,#0x7F ;堆栈初始化程序C:0x0412 E4 CLR AC:0x0413 F6 MOV @R0,AC:0x0414 D8FD DJNZ R0,C:0413C:0x0416 75814F MOV SP(0x81),#0x4FC:0x0419 020457 LJMP C:0457C:0x041C 02049C LJMP main(C:049C) ;跳转到mainvoid UART0_ISR (void) interrupt 4 using 3 ;串口中断函数C:0x0527 C0E0 PUSH ACC(0xE0)C:0x0529 C083 PUSH DPH(0x83)C:0x052B C082 PUSH DPL(0x82)。
显然当我们编写C 程序代码的时候,000H~00ABH 的内容KEIL 编译转换成汇编后,会自动帮我们添加。
关于STM32 中断向量表的位置、重定向问题首先我们需要跳到main 函数,这个就不多说了。
那么,中断发生后,又是怎么跑到中断入口地址的呢?从stm32f10x.s 可以看到,已经定义好了一大堆的中断响应函数,这就是中断向量表,标号__Vectors,表示中断向量表入口地址,例如:AREA RESET, DATA, READONLY ; 定义只读数据段,实际上是在CODE 区(假设STM32 从FLASH 启动,则此中断向量表起始地址即为0x8000000)EXPORT __Vectors IMPORT OS_CPU_SysTickHandler IMPORT OS_CPU_PendSVHandler__Vectors DCD __initial_sp ; Top of Stack DCD Reset_Handler ; Reset Handler DCD NMI_Handler ; NMI Handler DCD HardFault_Handler ; Hard Fault Handler DCD MemManage_Handler ; MPU Fault Handler DCD BusFault_Handler ; Bus Fault Handler DCD UsageFault_Handler ; Usage Fault Handler 这个向量表的编写是有讲究的,跟硬件一一对应不能乱写的,CPU 找入口地址就靠它了,bin 文件开头就是他们的地址,参考手册RM0008 的10.1.2 节可以看到排列。
我们再结合CORTEX-M3的特性,他上电后根据boot 引脚来决定PC 位置,比如boot 设置为flash 启动,则启动后PC 跳到0x08000000。
此时CPU 会先取2 个地址,第一个是栈顶地址,第二个是复位异常地址,故有了上面的写法,这样就跳到reset_handler。
那么这个reset_handler 的实际地址是多少.?下面的一堆例如Nmi_handler 地址又是多少呢?发生中断是怎么跑到这个地址的呢?下面挨个讲解。
一、选择题1. 已知中断类型码为18H,则中断服务程序入口地址存放在中断矢量表的( C )?A.0000H:0072H~ 0000H:0075HB. 0000H:0072H~ 0000H:0073HC. 0000H:0060H~ 0000H:0063HD. 0000H:0060H~ 0000H:0061H2. 在中断系统中,中断类型码是在( D)控制下送往CPU的。
A.中断请求信号INTRB.读信号C.地址译码信号D.中断响应信号3. 8086/8088的中断向量表用于存放( B )。
A.中断类型号B. 中断服务程序入口地址C. 中断服务程序D. 中断服务程序返回地址4. 8259的OCW1――中断屏蔽字( C )设置。
A.在ICW之前B. 只允许一次C. 允许多次D. 仅屏蔽某中断源5. 一个8259可提供(B )中断类型号。
A.1B. 8C. 16D. 646. 响应NMI请求的必要条件是( D )。
A.IF=1B. IF=0C. 一条指令结束D. 无INTR请求7. 响应INTR请求的必要条件是( B)。
A. IF=0B. IF=1C. TF=0D. TF=18. 当8086CPU的INTR=1且IF=1时,则CPU完成( C )后,响应该中断请求,进行中断处理。
A.当前时钟周期B.当前总线周期C. 当前指令周期D. 下一个指令周期9. INTn指令中断是( C )。
A.由外设请求产生B. 由系统断电引起C. 通过软件调用的内部中断D. 可用IF标志屏蔽的10. 8086/8088中断是向量中断,其中断服务程序的入口地址是( D )提供。
A.外设中断源B. CPU中断逻辑电路C. 从中断控制器读回中断类型号左移2位D. 由中断类型号指向的中断向量表中读回11. 9个8259A级连可提供( D )中断类型号。
A.1B. 8C. 16D. 6412. 8259普通EOI命令适用于( B )方式中的中断结束。
1.什么是中断?什么是中断向量?中断向量表的地址范围?答:中断就是CPU在执行当前程序时由于内外部事件引起CPU暂时停止当前正在执行的程序而转向执行请求CPU暂时停止的内外部事件的服务程序,该程序处理完后又返回继续执行被停止的程序;中断向量是中断处理子程序的入口地址;地址范围是00000H-003FFH。
2.3.微机系统的硬件由哪几部分组成?答:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。
4.什么是微机的总线,分为哪三组?答:是传递信息的一组公用导线。
分三组:地址总线,数据总线,控制总线。
5.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什么?答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU与存储器或IO 设备之间的数据传送。
执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。
6.8086指令队列的作用是什么?答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。
7.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。
8.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。
一、单选题:将正确答案的序号填入上。
1.1 在PC/XT微机中,NMI中断的中断向量在中断向量表中的位置是。
(C)A. 由程序指定的B. 由DOS自动分配的C. 固定在0008H开始的4个字节中D. 固定在中断向量表的表首1.2 如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。
若要调整中断事件的响应顺序,可以利用。
(B)A. 中断响应B. 中断屏蔽C. 中断向量D. 中断嵌套1.3 8086对下列中断优先级响应最高的请求是。
(C)A. NMIB. INTRC. 内部软件中断D. 单步中断1.4 执行INT n指令或响应中断时,CPU入栈操作保护的次序是。
(A)A. FLAGS ,CS,IPB. CS,IP, FLAGSC. FLAGS ,IP,CSD. IP,CS, FLAGS1.5中断向量地址是。
(C)A. 子程序入口B. 中断服务程序入口地址C. 中断服务程序入口地址的地址D. 传送数据的起始地址1.6 8086的中断源来自两个方面,即。
(A)A. 外部中断和内部中断B. 可屏蔽和非屏蔽中断C. CPU产生的中断和软件中断D. 单步和溢出错1.7下面中断中,只有需要中断类型码。
(C)A. INTOB. INT nC. INTRD. NMI1.8 当多片8259A级联使用时,对于从8259A,级联信号CAS2~CAS0是。
(A)A. 输入信号B. 输出信号C. 双向信号D. 中断信号1.9 当用8259A中断控制器时,其中断服务程序执行EOI命令的作用是。
(B)A. 屏蔽正在被服务的中断,使其不再发出中断请求B. 清除该中断服务寄存器中的对应位,以允许同级或低级的中断能被响应C. 清除该中断请求寄存器中的对应位,以免重复响应该中断。
D. 判定优先级1.10 下列8259A的命令字中,必须在正常操作开始前写入的是。
(A)A. 初始化命令字ICWB. 操作命令字OCWC. 初始化命令字ICW1D. 初始化命令字ICW31.11 有三片8259级联,从片分别接入主片的IR2和IR5,则主8259的ICW3中的内容为;两片从片8259的ICW3的内容分别为。
微机原理习题解答(供参考)第1章习题和解答15. 将下列⼗进制数分别转化为⼆进制数、⼗六进制数和BCD码。
(1)15.32=(0000 1111.0101 0001)2=(0F.51)16=(0001 0101.0011 0010)BCD(2)325.16=(0001 0100 0101.0010 1000)2=(145.28)16=(0011 0010 0101.0001 0110)BCD(3)68.31=(0100 0100.0100 1111)2=(44.4F)16=(0110 1000.0011 0001)BCD(4)214.126=(1101 0110.0010 0000)2=(0D6.20)16=(0010 0001 0100.0001 0010 0110)BCD16. 将下列⼆进制数分别转化为⼗进制数和⼗六进制数。
(1)10110101= 181=0B5H(2)11001011= 203=0CBH(3)10101.1001= 21.5625=15.9 H(4) 101101.0101= 45.3125=2D.5H17. 将下列⼗六进制数分别转化为⼆进制数、⼗进制数。
(1)FAH=1111 1010B=250(2)12B8H=0001 0010 1011 1000B=4792(3)5A8.62H=0101 1010 1000.0110 0010B=1448.3828125(4)2DF.2H=0010 1101 1111.0010B=735.12518. 若X=-107,Y=+74按8位⼆进制可写出:。
[X]补=95H ,[Y]补=4AH , [X +Y]补=0DFH,[X-Y]补=4BH。
19.X=34AH,Y=8CH。
问:有三位和两位⼗六进制数X和Y,(1)若X,Y是纯数(⽆符号数),则:X+Y=3D6H;X-Y=2BEH。
(2)若X,Y是有符号数,则:X+Y=2D6 H;X-Y=3BEH。
第7章输入/输出与中断一、自测练习题㈠选择题1.一微机系统有10根地址线用于I/O端口寻址,因而具有I/O空间的范围是( )字节。
A) 1024 B) 10K C) 0.5M D) 1M2.8086CPU读/写一次存储器或I/O端口所需的时间称为一个( )。
A) 总线周期 B) 指令周期 C) 时钟周期 D) 基本指令执行时间3.微型计算机的输入/输出有三种不同的控制方法,其中以( )控制的输入/输出是微机进行I/O的一种最主要的控制方式。
A) 程序控制 B) 中断控制C) DMA控制D) 以上均可4.程序查询I/O方式的工作流程是按( )的次序完成一个字符的传输。
A) 写数据端口,读/写控制端口B) 读状态端口,读/写数据端口C) 写控制端口,读状态端口,写数据端口D) 随I/O接口的具体要求而定5.在CPU与外设的I/O传送控制方式中,效率高、实时性强的方式是( )。
A) 同步传送 B) 查询传送 C) 无条件传送 D) 中断传送6.在CPU与外设的I/O传送控制方式中,传送速度最快的方式是( )。
A) 无条件传送 B) 查询传送 C) 中断传送 D) DMA传递7.用具有两个状态(“0”和“1”态)的一组开关作简单输入设备时,应采用( )传送方式来输入信息。
A) 无条件B) 查询C) 中断D) DMA8.用一组发光二极管作为简单输出设备时,应采用( )传送方式来输出信息。
A) DMA B) 无条件C) 查询D) 中断9.在微机系统中引入中断技术,可以( )。
A) 提高外设速度B) 减轻主存负担C) 提高处理器的效率D) 增加信息交换的精度10.CPU响应中断请求的时刻是在( )。
A) 执行完成正在执行的程序以后 B) 执行完正在执行的指令以后C) 执行完本时钟周期以后D)执行完正在执行的机器周期以后11.8086/8088CPU向应两个硬中断INTR和NMI时,相同的必要条件是( )。
A) 允许中断B) 当前I/O操作执行结束C) 总线空闲D) 当前访问内存操作结束12.在微型计算机系统中,高速外设与内存储器进行批量数据传送时,应采用( )。
微机原理与接口技术第六章-8259A练习题及答案中断技术和中断控制器8259A练习题及答案一、填空题1.8088微处理器最多能处理256种不同类型的中断。
2.8088系统的中断向量表位于从内存地址 00000H 开始,占1K字节存储单元。
3.8088CPU响应INTR中断时,将PSW(或标志寄存器内容)和断点(或CS:IP)进堆栈保存。
4.8259A可管理8级优先级中断源,通过级联,最多可管理 64 级优先级中断源。
5.若8259A的IRR(中断请求寄存器)的内容为10H,说明IR4请求中断。
二、选择题6.8088CPU的标志寄存器中IF=1时,表示允许CPU响应______中断。
CA.内部中断B.外部中断C.可屏蔽中断D.不可屏蔽中断7.CPU在响应中断时,保存断点是指______。
DA.将用户设置的程序指令地址入栈保存B.将中断服务程序的入口地址入栈保存C.将程序状态字PSW入栈保存D.将返回地址即程序计数器PC(CS:IP)的内容入栈保存8.8088的中断向量表用于存放______。
BA.中断类型号B.中断服务程序的入口地址C.中断服务程序的返回地址D.断点地址三、判断题9.8086的可屏蔽中断的优先级高于不可屏蔽中断。
[ ] ×10.通常8259A芯片中的IR0优先级最低,IR7的优先级最高。
[ ]×11.在8088系统中,所谓中断向量就是中断服务程序入口地址。
[ ] √四、简答题12.CPU响应INTR中断的条件是什么?答:(1)INTR信号为有效电平(2)当前指令执行完毕(3)CPU开中断(IF=1)(4)没有更高级的请求(RESET , HOLD ,NMI)13.一般CPU响应中断时自动做哪些工作? 8088CPU呢?答:一般CPU在响应中断时,关中断,保存断点,识别中断源,找到中断服务程序入口地址,转入中断服务程序。
8080CPU在响应中断时,首先把PSW(或标志寄存器内容)入栈保存,其余同一般CPU.14.8088CPU在执行中断返回指令IRET时,执行什么操作?答:(1)弹出断点送CS:IP第 - 2 - 页共 13 页(2)弹出PSW送标志寄存器15.中断控制器8259A中下列寄存器的作用是什么?(1) IRR (中断请求寄存器) :保存中断源的中断请求(2) IMR (中断屏蔽寄存器) :屏蔽/允许中断源请求中断,由程序写入,1为屏蔽,0为允许(3) ISR (中断服务寄存器): 记录CPU正在为哪些中断源服务(4) IVR (中断向量寄存器): 保存中断向量号16、初使化时设置为非自动结束方式,那么在中断服务程序将结束时必须设置什么操作命令?如果不设置这种命令会发生什么现象?答案:当中断服务程序将结束时,必须发0CW2=20H为中断结束命令,执行此命令即撤消正在服务的中断请求和服务标志;否则,即使返回主程序但未退出此中断,造成中断响应的混乱。
STMNVIC中断向量表设置以及ETI中断寄存器设置NVIC中断向量表设置以及EXTI中断寄存器设置⼀、开始中断的步骤A.端⼝设置。
这⾥包括了输⼊引脚的设置,务必记得打开GPIO的时钟和AFIO的时钟信号B.中断寄存器的设置C.NVIC中断向量寄存器的设置。
这⾥关键点有优先级分组设置以及中断⼊⼝地址的设置D.中断函数的书写⼆、具体设置1、端⼝设置void GPIOA_init(void){GPIO_DeInit(GPIOA);RCC->APB2ENR |= 0X00000005;GPIOA->CRL &= 0XFFFFFF00;GPIOA->CRL |= 0x00000038;GPIOA->ODR = 0X00000000;GPIOA->ODR |= 0X00000001;AFIO->EXTICR[0] |= 0X00;}a.在对端⼝进⾏任何操作之前,必须打开对应的时钟信号,其设置才能⽣效。
这⾥使⽤了GPIOA.00端⼝作为中断0输⼊,作为输⼊时⼀般我们设置为上拉输⼊,如果要设置成浮空输⼊的话,外部⼀定要加上拉电阻,这样对于过滤输⼊波动很有益处(假设在电压在3.3-2.0之间进⾏波动,时间上没尝试按键操作,因为⼀旦有按键,就应该为0,那么接了上拉的话,除⾮产⽣了低电平,否则⼩波动都会被拉⾼过滤掉)b.复⽤端⼝时钟信号的开启这⾥需要特别注意的是因为我们要对复⽤端⼝寄存器进⾏操作,所以必须打开复⽤端⼝寄存器时钟c.AFIO->EXTICR[0] |= 0X00 ,EXTICR(External interrupt configuration register)即外部中断配置寄存器。
因为所有的外部中断输⼊来源都是经由GPIO⼝输⼊的,所以我们需要选择哪⼀个中断是经由那个IO⼝输⼊的。
我所写的这条代码的意思是EXTI0的中断来源为GPIOX_0⼝输⼊。
图1从寄存器配置中我们可以看到每个中断由四位配置,那么STM32总计有16个外部中断(具体参照STM32参考⼿册P133页),因此EXTIR有四组,在书写时要注意。
STM32 中断向量表的位置、重定向我们也知道怎么跳到main 函数了,那么,中断发生后,又是怎么跑到中断入口地址的呢?从stm32f10x.s 可以看到,已经定义好了一大堆的中断响应函数,这就是中断向量表,标号__Vectors,表示中断向量表入口地址,例如:AREA RESET, DATA, READONLY ;定义只读数据段,实际上是在CODE区(假设STM32 从FLASH 启动,则此中断向量表起始地址即为0x8000000)EXPORT __VectorsIMPORT OS_CPU_SysTickHandler IMPORTOS_CPU_PendSVHandler__Vectors DCD __initial_sp ; Top of Stack DCD Reset_Handler ; Reset Handler DCD NMI_Handler ; NMI Handler DCD HardFault_Handler ; Hard Fault Handler DCD MemManage_Handler ; MPU Fault Handler DCD BusFault_Handler ; Bus Fault Handler DCD UsageFault_Handler ; Usage Fault Handler这个向量表的编写是有讲究的,跟硬件一一对应不能乱写的,CPU 找入口地址就靠它了,bin 文件开头就是他们的地址,参考手册RM0008 的10.1.2 节可以看到排列。
我们再结合CORTEX-M3 的特性,他上电后根据boot 引脚来决定PC 位置,比如boot 设置为flash 启动,则启动后PC 跳到0x08000000。
此时CPU 会先取2 个地址,第一个是栈顶地址,第二个是复位异常地址,故有了上面的写法,这样就跳到reset_handler。
那么这个reset_handler 的实际地址是多少.?下面的一堆例如Nmi_handler 地址又是多少呢?发生中断是怎么跑到这个地址的呢?下面挨个讲解。
ARM Cortex-M0的中断向量表位于片上闪存起始地址处,是一个uint32_t类型的数组。
在系统复位后中断向量表始终是在0x00000000地址。
系统启动后可以对中断向量表进行重定向。
16位以后的中断为芯片厂商自行定义。
例如,Cortex-M3最多可以有32个中断。
中断向量表格式中每一位为一个32bit的地址,每一个地址对应一个中断函数的地址(第一位除外)。
除了第一位以外,所有地址的目标都为寻址寄存器(PC)。
当相应中断触发时,ARM Cortex-M 硬件会自动把中断向量表中相应的中断函数地址装载入寻址寄存器(PC)然后开始执行中断函数。
计算机硬件技术中断技术知识考试题第八章习题参考答案8.1 什么是中断?使用中断技术有什么好处?答:中断是指由CPU内/外部事件引起或者由程序的预先安排,使CPU中断正在运行的正常程序(主程序),而转到为该内部/外部事件或者预先安排的事件服务程序,待服务完毕,再返回被暂时中断的正常程序处继续执行正常程序的过程。
使用中断技术,能够使计算机方便地实现如下一些操作:(1)分时操作。
有了中断系统,CPU能够命令多个外部设备同时工作,CPU分时操纵这些外设,大大提高了CPU的吞吐率。
(2)实现实时处理。
当计算机用于实时操纵,系统要求计算机为它服务的时间是随机的,而中断系统中这种请求--响应模式正好迎合了实时系统的需求。
(3)故障处理。
计算机在运行过程中,往往会出现一些故障,如电源掉电、存储出错、运算溢出等。
有了中断系统,当出现上述情况时,CPU能够随时转去执行故障处理程序,自行处理故障而不必停机。
随着微型计算机的进展,中断系统不断增加新的功能,中断系统甚至能够实现计算机系统中软硬件资源的自动管理。
8.2 什么叫中断系统?它具备什么功能?答:把能够实现中断全部功能的软件、硬件的总称称之中断系统。
不一致计算机的中断系统,其具体实现可能不尽一样,但中断系统的基本功能是相同的。
中断系统的基本功能如下:1.能实现中断响应、中断处理(服务)、中断返回与中断屏蔽。
这是中断系统最基本的功能。
2.能实现中断优先级排队(管理)。
即当有多个中断源同时申请中断时,CPU如何能够优先响应最紧急的中断申请。
3.能实现中断嵌套。
即当CPU正在为优先级较低的中断源服务时,具有较高优先级的中断源提出中断申请,如今中断系统应当同意较高优先级的中断源中断较低优先级的中断源,待较高优先级的中断处理完成后,再接着处理较低优先级的中断,这种中断服务程序再被中断的过程称之中断嵌套。
8.3 何谓非屏蔽中断与可屏蔽中断?答:非屏蔽中断是指用户不能用软件屏蔽的中断。
微机原理复习题(含答案)微机原理及应⽤复习题(1)⼀、选择题1.MOV AX, ES:[BX][SI]的源操作数的物理地址是()。
A.16×(DS)+(BX)+(SI) B.16×(ES)+(BX)+(SI)C.16×(SS)+ (BX)+(SI) D.16×(CS)+(BX)+(SI)2.8086CPU内标志寄存器中的控制标志位占()。
A.9位 B.3位 C.6位 D.16位3.Reset信号到来后,8088CPU的启动地址为()。
A.00000H B.FFFFFH C.FFFF0H D.0FFFFH4.典型的计算机硬件结构主要包括三个组成部分,它们分别是()。
A.CPU、存储器、I/O设备 B.CPU、运算器、控制器C.存储器、I/O设备、系统总线 D.CPU、控制器、I/O设备5.CPU通过总线对内存或I/O端⼝存取(读或写)⼀个字节所需的时间是⼀个()。
A.总线周期 B.时钟周期 C.指令周期D.存储器周期6.⼗进制数36.875转换成⼆进制数是()。
A.110100.01 B.100100.111 C.100110.11 D.100101.1017.⼗进制数-75⽤⼆进制数10110101表⽰,其表⽰⽅式是()。
A.原码 B.补码 C.反码 D.ASCⅡ码8.8086/8088可⽤于间接寻址的寄存器有()。
A.2个 B.4个 C.6个 D.8个9.堆栈的⼯作⽅式是()。
A.先进后出 B.可以根据地址选择存取C.先进先出 D.随机存取10.寄存器间接寻址⽅式中,操作数在()中。
A.通⽤寄存器 B.堆栈 C.内存单元 D.段寄存器11.直接、间接、⽴即三种寻址⽅式指令的执⾏速度,由快⾄慢的排序为()。
A.直接、⽴即、间接 B.直接、间接、⽴即C.⽴即、直接、间接 D.不⼀定12.微机控制总线上传送的是()。
A.存储器和I/O设备向CPU传送的状态信号 B.存储器和I/O接⼝的地址C.CPU向存储器和I/O设备发出的命令信号 D.A和C 13.将累加器AX的内容清零的不正确操作是()。
完整版计算机组成原理简答题计算机组成原理简答题第四章1、存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?答:存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与CACHE之间的信息调度功能全部由硬件自动完成。
而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。
因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。
2. 说明存取周期和存取时间的区别。
解:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。
即:存取周期 = 存取时间 + 恢复时间3. 什么叫刷新?为什么要刷新?说明刷新有几种方法。
解:刷新:对DRAM定期进行的全部重写过程;刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;常用的刷新方法有三种:集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。
分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。
异步式:是集中式和分散式的折衷。
4. 半导体存储器芯片的译码驱动方式有几种?解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。