8086系统中的存储器分为几个逻辑段?各段之间的关系如何?每个段寄存器的作用是什么?
8086CPU将1MB的存储空间分成逻辑段来进行管理:每个逻辑段最小为16B。所以最多可分成64K个段;每个逻辑段最大为64KB,最少可分成16个逻辑段。
各段的起始位置由程序员指出,可以彼此分离,也可以首尾相连、重叠或部分重叠。
4个16位的段寄存器用来存放每一个逻辑段的段起始地址:CS中为代码段的起始地址;DS中为数据段的起始地址;SS中为堆栈段的起始地址;ES中为附加段的起始地址。
简述在最小工作模式下,8086 如何响应一个总线请求?
外部总线主控模块经 HOLD 引线向 8086 发出总线请求信号;8086 在每个时钟周期的上升沿采样HOLD 引线;若发现 HOLD=1 则在当前总线周期结束时(T4 结束)发出总线请求的响应信HLDA;8086使地址、数据及控制总线进入高阻状态,让出总线控制权,完成响应过程。
串行异步通信字符格式中的停止位和空闲位有什么不同?
① 停止位和空闲位都是高电平;
② 停止位是字符格式中规定好的,是传递字符的一部分;
③ 两个互相通信的系统,在传输线上没有字符传送时是高电平。这个高电平称为空闲位。
外设向 CPU 申请中断,但 CPU 不响应,其原因可能有哪些?
① CPU处于关中断状态,IF=0。
② 该中断请求已被屏蔽。
③ 该中断请求的时间太短,未能保持到指令周期结束。
④ CPU已释放总线,而未收回总线控制权。
指令周期和时钟周期三者的关系怎样?如果在存储器读周期时,存储器的速度较慢无法 与 CPU 匹配应采用什么措施?
(1)执⾏一条指令所需要的时间为指令周期,不同指令的指令周期是不等长的。总线周期是 CPU与外设或存储器进⾏一次读或写操作所需要的时间为总线周期时钟周期是指时钟脉冲的重复周期,是 CPU 的时间基准,由计算机的主频决定。
(2)一个指令周期通常由一个或若⼲个总线周期组成;对 8086/8088 ⽽⾔,一个总线周期⾄少由 4 个时钟周期组成。
(3)如果存储器的存取速度较慢,可设计一个等待电路向 CPU 发出请求延长总线周期的READY 信号,CPU 接到此信号后就在 T3 和 T4 之间插⼊若⼲个等待周期 TW。
试述程序查询传送方式的工作原理,与查询方式相比,中断传送方式有什么优点?
查询传送方式CPU通过程序不断查询相应设备的状态,状态不符合要求,则CPU需要等待;只有当状态信号符合要求时,CPU才能进行相应的操作。
中断方式提高了计算机系统中信息处理的并行和处理器效率,中断可以实现同步操作,实时处理等功能。
冯·诺依曼计算机基本设计思想是什么
- 采用二进制,机器采用二进制表示数据和指令
- 存储程序,将程序和数据存放在存储器中
- 程序控制,计算机在工作时从存储器取出指令加以执行,自动完成计算机任务
- 指令执行是顺序的,即一条指令在存储器中顺序执行
- 计算机由储存器、运算器、控制器、输出和输出设备五大基本部件组成
在8086系统中,什么是逻辑地址和物理地址?他们之间关系是什么?
- 逻辑地址:在处理器内部、程序员编程时采用逻辑地址,采用“段地址:偏移地址”的形式
- 物理地址:在处理器地址总线上输出的地址称为物理地址。每个存储单元有唯一的物理地址
- 逻辑地址转换为物理地址:逻辑地址由处理器在输出之前转换为物理地址。将逻辑地址的段地址左移二进制四位(对应十六进制乘以16),加上偏移地址就得到20位偏移地址
- 数据段的段地址在DS寄存器中,段内偏移地址可能在BX,BP,SI或DI寄存器中
- 代码段的段地址在CS寄存器中,段内偏移地址在IP寄存器中
- 栈段的段地址在SS寄存器中,段内偏移地址在SP寄存器中
- 附加段的段地址在ES寄存器中
在微机系统中,CPU对中断的管理可采用中断向量方式。设某中断向量在中断向量表中0000H:0018H 单元开始按地址递增方向依次存放95H、96H、97H 和98H、99H、9AH、9BH、和9CH八个字节,请回答该对应中断类型码和中断服务程序入口地址的CS和IP分别是多少?并阐述理由
- 中断类型码是0018H/4=06H
- 中断服务程序入口地址的CS、IP地址分别位9897H、9695H
- 理由:0018H是中断类型码*4的地址,中断服务程序的入口地址CS:IP,依次存放在四个单元中,即0018H存放到95H、96H为IP值:9695H,001AH存放到97H、98H为CS值:9897H。
8086/8088CPU的内部结构分为那两大板块,各自主要功能是什么?
(1) 按功能可分成两大部分: 执行单元 (EU) 和总线接口单元 (BIU)
(2) 执行单元 (EU):由 8 个通用寄存器、1 个标志寄存器、算术逻辑运算单元 ALU 及 EU 控制单元组成。EU 从 BIU 指队列寄存器中获得指令和待处理数据进行操作。负责指令译码和执行。
(3) 总线接口单元(BIU): 包括 4 个段寄存器、1 个指令指针寄存器 IP、1 个指令队列、和 20 位地址加法器。负责物理地址形成、取指令、指令排队、读写操作数和总线控制。
(4) BIU 负责取指令,EU 负责指令的执行,它们之间既互相独立又互相配合,使得 CPU 可以在执行指令的同时进行取指令的操作,即实现了取指令和执行指令的并行工作,提高了CPU 和总线的利用率,从而提高了指令的处理速度
8086如何相应一个外部INTR中断请求?
在 INTR 中断请求响应条件满足的情况下,
(1) 8086 在连续的两个总线周期中发出INTA中断请求响应信号
(2)在第二个 INTA信号期间,中断源经数据总线向 8086 发出一字节的中断类型码,8086 收到中断 类型码后放入暂存器;(3) 8086 保护现场: 标志寄存器入栈,清除 IF、TF 标志位,断点 CS、IP 值入栈;
(4)8086 将中断类型码乘 4 后得到中断向量表的入口地址,从此地址开始的 4个单元中读出中断服 务程序的入口地址 (CS: IP)
(5) 8086 从此地址取指令执行,使控制转向中断处理过程
8086系统中的寻址空间采用什么结构,用什么作为体选信号
8086系统中的存储器空间采用分体结构。即将1MB的存储器空间分为两个体:奇地址存储体和偶地址存储体,各为512KB。奇地址存储体的数据线与系统数据总线高八位相连,用BHE=0作为选通信号。偶地址存储体的数据线与系统数据总线低八位相连,用A0=0作为选通信号。
8086微处理器构成的系统中,什么是存储器的规则字和非规则字?8086微处理器对一个规则字和非规则字读写时有什么差别?
- 规则字是在存储器中存储的起始地址为偶数(地址最低位 AO 为 0)的字数据,非规则字 是指在存储器中存储的起始地址为奇数(地址最低位 AO 为 1)的字数据
- 规则字读写需要一个总线周期,发送 AO 为 0,BHE 为 0,一个总线周期读写一个字。
- 非规则字读写需要两个总线周期 。第一个总线周期读写时先读取偶存储体(或偶地址)数据,A0 为 1,BHE 为 0,取得高 8 位数据,第二个总线周期读取奇存储体(奇地址) 数据,A0 为 0,BHE 为 1,取得低 8 位数据。
什么是时钟周期,什么是总线周期,什么是指令周期
时钟周期是 CPU 工作的时间基准,由计算机的主频决定。8086 的主频为 5MHZ则它的一个时钟周期为 200ns。时钟周期又称为 T 状态。总线周期是 CPU 完成一次访问存储器或 I/0 端口操作所需要的时间。8086CPU 的一个总线周期至少由 4 个时钟周期组成,要经过先传送地址、后传送数据两个过程。
执行一条指令所需要的时间称为指令周期。不同指令执行时所需要的时间不一样,所以不同指令的指令周期是不等长的。
某可编程中断控制器8259A,初始化命令字ICW2内容为20H,问该片的中断类型号的范围是多少?
单片使用的 8259A,连续占用 8 个中断类型号。每个中断类型号有两部分组成,一部分取自初始化命令字的高五位,另一部分来自 IR;编号,本题初始化命令字 ICW,内容为 20H,所以中断类型号的范围为: 20H~27H.
8086处理器的输入信号RESET,READY,HOLD的含义是什么,当他们有效时CPU系那个出现何种反应
- RESET: 复位输入信号,高电平有效。该引脚有效时,将迫使 8086 处理器回到其初始状态;转为 无效时,CPU 重新开始工作。
- READY: 准备好信号,高电平有效的输入信号,表示存储器或 I/0 端口准备好处理器的运行速度远远快于存储器和 I/0 端口,当处理器检测到 READY=O 时,存储器或 I/0 端口不能按基本的总线周期进行数据 交换时,需要插入一个等待状态 Tw,当处理器检测到 READY=1 时,可以进行数据交换时。
- HOLD: 总线请求,是一个高电平有效的输入信号。该引脚有效时,表示其它总线主控设备向处理器申请 使用原来由处理器控制的总线。
为什么说8086CPU是准16位处理器,8088CPU为16位处理器
8088CPU 的内部总线宽度是 16 位,外部数据总线宽度是 8 位,所以称 8088CPU为准 16 位微处理器。而 8086CPU 的内部总线宽度是 16 位,外部数据总线宽度也是 16 位,所以称 8086CPU 为 16 位微处理器
GitHub Discussions