微机原理作业参考答案文档格式.docx
- 文档编号:7831486
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:18
- 大小:95.78KB
微机原理作业参考答案文档格式.docx
《微机原理作业参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理作业参考答案文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
2.简述Pentium微处理器的基本结构
3.Pentium微处理器的整数流水线是怎样工作的?
Pentium微处理器包含两条整数流水线:
U流水线和V流水线。
Pentium微处理器整数指令的执行要经过流水线中的五个操作步骤:
PF(预取):
处理器从代码cache中预取指令
D1(译码阶段1):
处理器对指令译码确定操作码和寻址信息。
在这个阶段还进行指令的成对性检查和分支预测
D2(译码阶段2):
产生访问存储器的地址
EX(执行):
处理器或者访问数据cache,或者利用ALU、筒型移位器或其他功能单元计算结果
WB(写回):
利用指令运行结果更新寄存器和标志寄存器
4.分支转移预测功能的意义是什么,试举例说明
5.实模式下Pentium微处理器的堆栈操作是怎样进行的,试举例说明
6.字ABCD(H)存放在地址为0A002(H)的存储单元中,如何存放,是对准字还是非对准字?
0A002能够被2整除,所以是对准字
7.在实模式下,物理地址是如何形成的?
计算下列逻辑地址对应的物理地址:
1000:
1234
0100:
ABCD
物理地址为11234H
物理地址为0BBCDH
第三次
教材P.69-70习题4.1-4.3
习题4.1
(1)
MOVAL,[FIRST]
XCHGAL,[SECOND]
MOV[FIRST],AL
MOVAL,[FIRST+1]
XCHGAL,[SECOND+1]
MOV[FIRST+1],AL
或
MOVAX,WORDPTR[FIRST]
XCHGAX,WORDPTR[SECOND]
MOVWORDPTR[FIRST],AX
(2)
PUSHWORDPTR[FIRST]
PUSHWORDPTR[SECOND]
POPWORDPTR[FIRST]
POPWORDPTR[SECOND]
堆栈变化示意图略
习题4.2
数据段中TABLE在内存中的存放形式为:
9EH,00H,02H,01H,66H,01H
故程序执行后,AX=6601H
习题4.3
数据段中
XXDW?
DIVIDENDDD1193182
DIVISORDW433
代码段中
MOVAX,WORDPTRDIVIDEND
MOVDX,WORDPTRDIVIDEND+2
DIVDIVISOR
MOVXX,AX
第四次
教材P.69-70习题4.4-4.8中任选3题
习题4.4
MOVCL,4
SHLAH,CL
MOVBL,0FH
ANDAL,BL
ORAH,AL
习题4.5
MOVCX,8
MOVBL,0
L1:
SHLAL,1
RCRBL,1
LOOPL1
MOVAL,BL
习题4.6
MOVBX,OFFSETBUF
MOVSI,OFFSETPLUS
MOVDI,OFFSETMINUS
MOVCX,50
MOVAL,[BX]
CMPAL,0
JGJPLUS
JLJMINUS
JMPJLOOP
JPLUS:
MOV[SI],AL
INCSI
JMINUS:
MOV[DI],AL
INCDI
JLOOP:
INCBX
MOVSI,OFFSETNOT0
JZJLOOP
(3)
本程序片段将求得的绝对值送数据段ABS开始的单元中
MOVSI,OFFSETABS
JGEJLOOP
NEGAL
MOVEAX,DWORDPTRBUF
CMPEAX,0
JGEJNOTNEG
NEGEAX
JNOTNEG:
……
习题4.7
AL=17H
习题4.8
MOVAX,1234H
MOVDS,AX
MOVSI,0005H
MOVAX,2345H
MOVES,AX
MOVDI,0006H
MOVCX,400H;
1K字节
CLD
REPMOVSB
第五次
1.判断下面描述符所描述的段的性质
P=1,段在内存中
S=1,为段描述符
DPL=1,段的特权级为1
A=0,段尚未被访问
E=0,为数据段
ED=0,段向上扩展
W=1,可写
G=0,段长以字节为单位
D=1,为32位指令方式
AVL=1,程序可用
段基址为000A0000H,段界限为003FFH。
2.如果(GDTR)=0021000001FFH,那么GDT的起始地址和终止地址是什么?
表长多少?
表中能存放多少个描述符?
GDT的起始地址为:
00210000H;
终止地址为:
002101FFH;
表长:
01FFH+1=512;
表中能存放512/8=64个描述符。
3.试述Pentium处理器的分页机制。
如果允许分页,那么Pentium微处理器的地址空间可以分成多少页?
分页机制略。
整个存储器有一个页目录,它最多有1024个页目录项,每个页目录项可含有1024个页面项,因此Pentium微处理器的地址空间可以分成10241024=1M个页。
4.若将线性地址00200000H送给分页机制,那么将访问哪个页目录项,哪个页表项?
线性地址的格式为
00200000H=00000000001000000000000000000000B;
所以,将访问第0个页目录项,第512个页表项。
5.TLB的作用是什么?
TLB(转换后援缓冲器)为一个Cache,其中保存了32个最近使用的页转换地址。
若再次访问同样的存储区域,则不必再访问页目录和页表,可以加快程序的运行。
关于TLB的作用,再补充一些说明:
实现分页机制,处理器需通过页目录和页表将线性地址转换成物理地址,这样在进行地址转换时,处理器要两次访问内存,从而降低处理器的性能。
为解决这一问题,Pentium处理器内部采用称为TLB(TranslationLookasideBuffer,转换后援缓冲器)的高速缓存将最近进行的线性-物理地址转换保存起来。
存放在TLB中的信息包含两个字段,一个是标记(Tag)字段,用来保存线性地址的12~31位,另一个是页表数据字段,包含物理地址和R/W、U/S等信息。
当分页部件把线性地址转换成物理地址时,首先用线性地址的12~31位对TLB的标记字段进行检索,如果检索成功(命中),那么就使用存放在TLB的页表数据字段中的物理地址进行地址转换。
如果未命中,那么处理器必须通过内存中的页目录和页表进行地址转换,同时将相应的转换信息保存在TLB中。
当TLB装满时,采用LRU(最近最少使用)算法进行置换。
TLB的结构如下图:
第六次
1.试述Pentium采用的数据和地址校验方法
DP7~DP0为数据奇偶校验信号,PCHK#为奇偶校验状态信号。
Pentium为每个数据字节加入校验码,在写总线周期中,为D0~D63上每一字节产生一位偶校验码,通过DP7~DP0输出。
在读总线周期中,D0~D63及DP7~DP0上的数据按字节进行对应的偶校验,如出现错误,PCHK#信号将逻辑0送至外部电路。
PEN#为校验允许信号,用于确定发生校验错误时是否进行异常处理,如PEN#为低电平,则Pentium自动执行异常处理。
AP为地址校验信号,APCHK#为地址奇偶校验状态信号。
Pentium可以对地址信号进行校验,只要地址在A3~A31信号线上输出,就会产生偶校验位在AP引脚上输出,如果在查询周期在地址总线上检测到错误,APCHK#信号置为逻辑0。
2.从硬件的观点,实模式下的Pentium微机的存储器是如何组织的,保护模式下呢?
在保护模式下,Pentium处理器可以直接寻址高达4GB的物理存储器。
存储器的硬件空间被组织成64位的单元,每个64位的单元有8个可独立寻址的字节,这8个字节有连续的存储器地址,如下图所示。
在保护模式下,通过地址线A31~A3和字节选通信号BE7#~BE0#访问存储器,由地址线A31~A3选择64位的存储单元,由字节选通信号BE7#~BE0#选择相应的字节。
数据的传送通过数据线D63~D0进行。
在实模式下只有低17位地址线A19~A3有效。
使用地址线A19~A3和字节选通信号BE7#~BE0#访问存储单元,因此实模式下物理地址空间是1MB。
A20M#为地址第20位屏蔽信号,完成屏蔽地址线第20位的功能。
若A20M#为0,则在访问内部高速缓存或外部存储器时地址线第20位被屏蔽。
实模式时须置起A20M#,保护模式下该信号未定义。
3.若总线周期指示信息M/IO#、D/C#、W/R#、CACHE#、KEN#为0111x,总线周期的类型是什么?
答:
非缓存式I/O写总线周期。
4.试描述下图所示的总线周期操作
为流水线式读写周期,第一个总线周期为缓存式突发读操作,第二个总线周期为非缓存式单次传送写操作。
为了让大家深入了解Pentium的总线操作,下面按时钟顺序依次详细说明:
第一个时钟里处理器启动第一个总线周期,ADS#被置起,有效地址a和总线状态被驱动送出,W/R#被驱动为低电平,表明为一个读周期,CACHE#被驱动为低电平,表明该周期可以是缓存式总线周期。
第一个时钟的总线状态为T1,且下一个时钟的总线状态转换为T2。
第二个时钟的总线状态为T2,在这个时钟里处理器要对BRDY#和NA#进行采样,在第二个时钟结束时BRDY#和NA#均为高电平。
BRDY#为高电平说明外部系统数据尚未准备就绪,因此下一个时钟的总线状态仍然为T2。
第三个时钟的总线状态为T2,在这个时钟里NA#和BRDY#先后被处理器采样为有效。
NA#被采样为有效,表明虽然当前周期的数据传送还没有结束,外部存储器已经就绪可以接受新的总线周期。
BRDY#被采样为有效,表明外部存储器已经在数据线上提供了有效的数据。
在BRDY#被采样为有效时,对存储器将对KEN#进行采样,KEN#与CACHE#一起决定总线周期为单次传送还是突发传送。
KEN#被采样为有效,CACHE#为低电平,W/R#为低电平,表明当前周期为缓存式突发读周期。
第四个时钟的总线状态为T2,处理器对BRDY#进行采样(NA#被采样为有效后已被锁存),第二个有效的BRDY#被返回。
第五个时钟ADS#被置起,有效地址b和第二个总线周期的总线状态被驱动送出,W/R#被驱动为高电平,表明为一个写周期,CACHE#被驱动为高电平,表明该周期为非缓存式总线周期,故第二个总线周期为非缓存式单次传送写周期。
第五个时钟的总线状态为T12,表明有两个待完成的总线周期,处理器在为第一个周期传送数据的同时启动了第二个总线周期,同时,下一个时钟的总线状态转换为T2P。
在这个时钟里,处理器仍要对BRDY#进行采样,第三个有效的BRDY#被返回。
第六个时钟的总线状态为T2,处理器对BRDY#和NA#进行采样。
第四个有效的BRDY#被返回,因此第一个总线周期的数据传送已完成。
NA#为高电平。
第七个时钟时第一个总线周期已结束。
由于数据总线在读、写操作之间要完成转向,需要一个停顿的时钟,因此该时钟的总线状态为TD。
第八个时钟开始时由于未锁存有效的NA#,因此总线状态为T2。
处理器对BRDY#和NA#进行采样。
有效的BRDY#被返回,表明外部系统为响应写请求已经接受了来自CPU的数据,第二个总线周期的数据传送结束。
NA#仍为高电平。
第七次
1.设8253三个计数器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。
编写程序片段,使:
计数器0,工作模式1,使用16位,初值为1234,BCD计数
计数器1,工作模式4,使用低8位,初值为100,二进制计数
计数器2,工作模式2,使用16位,初值为65536,二进制计数
(1)MOVAL,33H
OUT73H,ALH
MOVAX,1234H
OUT70H,AL
MOVAL,AH
(2)MOVAL,58H
OUT73H,AL
MOVAL,100
OUT71H,AL
(3)MOVAL,B4H
OUT73H,AL
MOVAX,0
OUT72H,AL
OUT72H,AL
2.设8253的端口地址同1,编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX.
MOVAL,80H
OUT73H,AL
INAL,72H
MOVBL,AL
MOVBH,AL
MOVAX,BX
3.设计数器的时钟输入频率为2MHz,为产生25KHZ的方波输出信号,应向计数器装入的计数初值为多少?
2MHZ/25KHZ=80
计数器初值为80
4.执行下述指令片段后,IDT装在内存的什么地址?
表的长度是多少?
表中可以存放多少个门描述符?
IDT_TABLEDW01FFH,0000H,0001H
…...
LIDTIDTREG
IDT起始地址为:
00010000H,
结束地址为:
00010000H+01FFH=000101FFH。
表的长度为:
01FFH+1=0200H字节=512字节
可以存放:
512/8=64个描述符。
5.假设8259的端口地址为50H、51H,试编写一段程序,将8259中的IRR、ISR、IMR的内容读出送至存储器中REG_ARR开始的内存单元中
MOVAL,0AH;
读出命令,P=0,RR=1,RIS=0,选IRR
OUT50H,AL
INAL,50H;
读IRR
MOV[REG_ARR],AL
MOVAL,0BH;
读出命令,P=0,RR=1,RIS=1,选ISR
读ISR
MOV[REG_ARR+1],AL
INAL,51H;
读IMR
MOV[REG_ARR+2],AL
6.某微机系统采用三片8259级连使用,一片为主,两片为从,从片分别接入主片的IR2和IR4,试画出该系统的硬件连接图。
7.某微机系统只有一片8259,其端口地址为02C0H、02C1H,试编写初始化程序,要求
1)中断请求输入采用电平触发;
2)IR0的中断类型码是16;
3)采用缓冲方式;
4)采用普通的EOI命令
ICW1EQU02C0H;
端口地址
ICW2EQUICW1+1
ICW3EQUICW2
ICW4EQUICW2
MOVAL,00011011B;
电平触发,单片,需设置ICW4
OUTICW1,AL;
设置ICW1
NOP;
I/O端口延时
MOVAL,10H;
设置ICW2,中断类型码为16
OUTICW2,AL
NOP
MOVAL,00001101B;
设置ICW4,缓冲方式,非自动结束
OUTICW4A,AL
第八次
1.使用8250作串行接口时,若要求以1200bps的波特率发送一个字符,字符格式为7个数据位,一个停止位,一个奇校验位,试编写初始化程序。
MOVDX,3FBH;
线路控制寄存器
MOVAL,10000000B;
访问波特率因子寄存器
OUTDX,AL
MOVDX,3F8H;
设置分频系数低字节
MOVAL,60H
INCDX;
设置分频系数高字节
MOVAL,0
OUTDX,AL
MOVDX,3FBH;
MOVAL,00001010B;
7个数据位,一个停止位,一个奇校验位
2.设8255的端口A、B、C和控制寄存器的地址为F4H、F5H、F6H、F7H,要使A口工作于方式0输出,B口工作于方式1输入,C口上半部输入,下半部输出,且要求初始化时PC6=0,试编写初始化程序
MOVAL,10001110B;
A方式0输出,B方式1输入,C高输入低输出
OUT0F7H,AL
MOVAL,00001100B;
PC6置0
OUT0F7H,AL
3.试述8237的DMA请求/响应握手过程
4.使用8237的通道3,实现从内存到I/O设备的传送,其中传送的数据所在的内存单元为20000H~20FFFH
MOVAL,0;
清除先/后触发器
OUT0CH,AL
OUT6,AL;
地址20000H的低16位写入基地址寄存器
OUT6,AL
MOVAL,2
OUT83H,AL;
地址20000H的高4位写入页面寄存器
MOVAX,1000H;
传送的字节数
DECAX
MOV7,AL;
写入基字节计数器
MOVAL,AH
OUT7,AL
MOVAL,01001011B;
写模式寄存器
OUT0BH,AL
MOVAL,00000011B;
清除通道3屏蔽
OUT0AH,AL
WAIT:
IN08,AL;
读状态寄存器
ANDAL,08;
测试通道3状态
JZWAIT
MOVAL,00000111B;
完成后屏蔽通道3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 作业 参考答案