第一篇:语言及微机接口实验小结
汇编语言及微机接口实验小结
学习汇编语言及微机原理与接口技术的课程,并通过上机实验,让我不仅巩固了以前所学到的知识,还学习到了很多书本上没有的知识,以前对于汇编语言及其应用是处于一种一知半解的状态,经过每一次的上机实验,让我越来越了解汇编语言的作用,其功能强大,让我逐渐的明白了程序运行的原理,怎样去查错、排错,如何看每一步运行的结果,每一个阶段运行的情况,怎样去了解寄存器的内容以保证程序的正确性上有了很大的提高。
通过微机接口技术的几次上机实验,加深了我对于汇编软件(MASM、LINK)、DEBUG程序调试及对汇编语言指令的熟悉,汇编语言直接描述了计算机的指令,比计算机指令容易记忆和理解。为今后对于软件系统的原理,打下了技术理论的基础,为掌握硬件系统的理论,打下了实践应用基础。
下面是个人所作实验的记录与报告:
在内存1000单元开始,建立00H~0FH~00H 31个数,要求00H~0FH数据逐渐增大,0FH~00H逐渐减小,程序从内存CS:0100H地址开始输入
MOV AX ,100H MOV DS ,AX MOV SI,0 MOV CL ,0FH XOR AX,AX PPE1: MOV [SI];AL INC SI;INC AL DEC CL JNZ PPE1 MOV CX,10H PPE2:MOV[SI],AL INC SI DEC AL LOOP PPE2 INT 20H 数据块的内容:
1000:0000:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1000:0100:0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
把上一程序的执行结果分几种方式传送到以下指定区域
1、该程序从内存CS:0150H开始输入,把数据块传送到15050H开始的存储区域中 MOV AX,1000H MOV DS,AX MOV SI,0 MOV DI,5050H MOV CX,1FH PPEA: MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
LOOP PPEA
INT 20H 结果:
1000:5050 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1000:5060 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
2、用串传送指令MOVSB,把数据块传送到15150H开始的区域,该程序从内存CS:0200H开始输入 MOV AX,100H MOV DS,AX MOV ES,AX MOV SI,0 MOV DI,5150H MOV CS,1FH CLD PPEB: MOVSB LOOP PPEB INT 20H 结果: 1000:5150 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1000:5160 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
3、用重复串操作指令”REP MOVSB”把数据传送到15250H开始的区域,该程序从CS:250H地址开始输入
MOV AX,1000H MOV DS,AX MOV ES,AX MOV SI,0 MOV DI,5250H MOV CX,1FH CLD REPZ MOVSB INT 20H 结果:
1000:5250 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1000:5260 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
4、用串操作的减量工作方式,把数据传送到25050H开始的区域,该程序从CS:0300H开始输入 MOV AX,1000H MOV DS,AX ADD AX,AX MOV ES,AX MOV SI,1EH MOV DI,506EH MOV CX,1FH STD REP MOVSB INT 20H 结果:
2000:5050 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 2000:5060 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 通过微机原理与接口技术的上机实验使我懂得了理论与实际操作相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实验实践相结合起来,从实践中得出结论,才能真正的提高自己的实际动手能力和独立思考能力,只有通过实验实践,才会发现在实验过程出现的各种问题,然后思考如何解决和避免错误的发生,使得实验进一步的完善,达到理解、应用和提高自身的目地。汇编语言是一门非常有深度、有内涵的学问,我现在只是初步的接触了汇编语言,并只是了解了汇编语言的表面的内容,不能因此就产生骄傲、自满的情绪,汇编语言还有其他很多我不了解、不明白的地方需要我认真的钻研和学习。
班级:
学号: 姓名:
第二篇:语言及微机接口实验小结
汇编语言及微机接口实验小结
学习汇编语言及微机原理与接口技术的课程,并通过上机实验,让我不仅巩固了以前所学到的知识,还学习到了很多书本上没有的知识,以前对于汇编语言及其应用是处于一种一知半解的状态,经过每一次的上机实验,让我越来越了解汇编语言的作用,其功能强大,让我逐渐的明白了程序运行的原理,怎样去查错、排错,如何看每一步运行的结果,每一个阶段运行的情况,怎样去了解寄存器的内容以保证程序的正确性上有了很大的提高。通过微机接口技术的几次上机实验,加深了我对于汇编软件(MASM、LINK)、DEBUG程序调试及对汇编语言指令的熟悉,汇编语言直接描述了计算机的指令,比计算机指令容易记忆和理解。为今后对于软件系统的原理,打下了技术理论的基础,为掌握硬件系统的理论,打下了实践应用基础。
下面是个人所作实验的记录与报告:
在内存1000单元开始,建立00H~0FH~00H 31个数,要求00H~0FH数据逐渐增大,0FH~00H逐渐减小,程序从内存CS:0100H地址开始输入
MOV AX ,100H
MOV DS ,AX
MOV SI,0
MOV CL ,0FH
XOR AX,AX
PPE1: MOV [SI];AL
INC SI;
INC AL
DEC CL
JNZ PPE1
MOV CX,10H
PPE2:MOV[SI],AL
INC SI
DEC AL
LOOP PPE2
INT 20H
数据块的内容:
1000:0000:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1000:0100:0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
把上一程序的执行结果分几种方式传送到以下指定区域
1、该程序从内存CS:0150H开始输入,把数据块传送到
15050H开始的存储区域中
MOV AX,1000H
MOV DS,AX
MOV SI,0
MOV DI,5050H
MOV CX,1FH
PPEA:MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
LOOP PPEA
INT 20H
结果:
1000:5050 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1000:5060 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 002、用串传送指令MOVSB,把数据块传送到15150H开始的区
域,该程序从内存CS:0200H开始输入
MOV AX,100H
MOV DS,AX
MOV ES,AX
MOV SI,0
MOV DI,5150H
MOV CS,1FH
CLD
PPEB: MOVSB
LOOP PPEB
INT 20H
结果:
1000:5150 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1000:5160 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 003、用重复串操作指令”REP MOVSB”把数据传送到15250H
开始的区域,该程序从CS:250H地址开始输入
MOV AX,1000H
MOV DS,AX
MOV ES,AX
MOV SI,0
MOV DI,5250H
MOV CX,1FH
CLD
REPZ
MOVSB
INT 20H
结果:
1000:5250 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1000:5260 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 004、用串操作的减量工作方式,把数据传送到25050H开始的区域,该程序从CS:0300H开始输入
MOV AX,1000H
MOV DS,AX
ADD AX,AX
MOV ES,AX
MOV SI,1EH
MOV DI,506EH
MOV CX,1FH
STD
REP MOVSB
INT 20H
结果:
2000:5050 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 2000:5060 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
通过微机原理与接口技术的上机实验使我懂得了理论与实际操作相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实验实践相结合起来,从实践中得出结论,才能真正的提高自己的实际动手能力和独立思考能力,只有通过实验实践,才会发现在实验过程出现的各种问题,然后思考如何解决和避免错误的发生,使得实验进一步的完善,达到理解、应用和提高自身的目地。汇编语言是一门非常有深度、有内涵的学问,我现在只是初步的接触了汇编语言,并只是了解了汇编语言的表面的内容,不能因此就产生骄傲、自满的情绪,汇编语言还有其他很多我不了解、不明白的地方需要我认真的钻研和学习。
班级:
学号:
姓名:
第三篇:微机接口技术课程实验考核
微机接口技术课程实验考核
设计题目:抢答器电路的设计
设计要求:
以51单片机为核心芯片,在其最小系统基础上通过8155并行接口扩展按键,扩展发光二极管,搭建抢答器电路,要求有一个总开关,五个选手抢答开关,五个发光二极管,一个蜂鸣器。
总开关优先权最高,关闭后所有开关无效,所有灯熄灭。
总开关打开后,五个选手开始抢答,谁先开谁先亮,蜂鸣器响,只可以亮一个,其他开关失效。
学生注意事项:
1.电路图要完整,包括51最小系统全部。
2.按键和发光二极管都是低电平有效。
3.设计报告书为主要考核方式,要求有设计题目,班级,学号,姓名,设计要求,原理接线图,程序流程图,汇编程序,心得体会。
4.设计报告书必须手写,电路图必须手画。
教师:索雪松
第四篇:微机接口复习题
1、指令MOV AX,[BX][SI]中源操作数的寻址方式是()。A、寄存器间接寻址 B、变址寻址 C、相对寻址 D、基址变址寻址 2、8086 CPU内有指示下条指令有效地址的指示器是()。A、IP B、SP C、BP D、SI
3、设串行异步传送的数据格式是7个数据位、1个起始位,1个停止位、1个校验位,波特率为2400,则每秒钟传送的最大字符数为()A、100个 B、120个 C、10个 D、240个
4、若8086 CPU主频为8MHz,则其基本总线周期为(C)。A、200ns B、500ns C、125ns D、250ns 5、8253工作在哪几种方式时,可输出1个时钟周期宽度(1 CLK)的负脉冲(B)。A、方式0,4,5 B、方式2,4,5 C、方式1,2,4 D、方式0,2,4
6.CPU响应INTR和NMI中断时,相同的必要条件是(D)。A、当前总线空闲 B、允许中断
C、当前访问内存结束 D、当前指令执行结束 7、8251A的操作命令字的作用是(D)。
A、决定8251A的数据传送格式 B、决定8251A实际操作
C、决定数据传送方向 D、决定8251A何时收/发数据 8、8086/8088中除()两种寻址方式外,其它各种寻址方式的操作数均在存储器中。A、立即寻址和直接寻址 B、寄存器寻址和直接寻址 C、立即寻址和寄存器寻址 D、立即寻址和间接寻址
9、设8259A当前最高优先级为IR5,若要使下一循环IR2为最低优先级,则OCW2应设为()。A、01100010 B、11100000 C、11000010 D、11100010
10、设置特殊屏蔽方式的目的是(C)。A、屏蔽低级中断 B、响应高级中断 C、响应低级中断 D、响应同级中断
11、设8255A的方式选择控制字为9BH,其含义是(B)。A、A、B、C口全为输出 B、A、B、C口全为输入 C、A、B口为方式0且输出 D、以上都不对 12、8086CPU的地址总线有()位。
A、8 B、16 C、20 D、24
13、执行PUSH AX指令后,堆栈指针SP的内容()。A、减1 B、减2 C、加1 D、加2
14、下列指令中,不影响进位的指令是()。
A、ADD AX,BX B、MUL BL C、INC BX D、SUB AL,BH
15、下列指令语法有错的是()。
A、MOV AX,1000H B、MOV AX,BXC、MOV [AX],[1000H] D、MOV AX,[1000H] 15.8086CPU从I/O端口地址 80H读字节数据应使用指令()A: IN AL, 80H B: IN AX, 80H C: IN 80H, AL D: IN 80H, AX 16.若要使寄存器AL中的高 4 位不变, 低 4 位全为 1 , 使用指令().1 A: AND AL, 0FH B: AND AL, 0F0H C: OR AL, 0FH D: OR AL, 0F0H 17.指令代码的地址存放在寄存器中。
A. DS和SI B.BX和BP C.ES和DI 18.8086CPU可寻址访问的最大I/O空间为。
D.CS和IP(A)1KB(B)64KB(C)640KB(D)1MB 19.8086CPU把1MB空间划分为若干逻辑段,每段最多可含的存储单元。A.1KB B.8KB C.16KB 20.8086CPU中指令指针寄存器(IP)中存放的是。
D.64KB(A)指令(B)指令偏移地址(C)操作数(D)操作数偏移地址 21.8086CPU中的SP寄存器的位数是。(A)8位(B)16位
(C)20位
(D)
24位
22.某数存于内存数据段中,已知该数据段的段基址为2000H,而数据所在单元的偏移地址为0220H,该数据在内存的物理地址为()。
A.02220H B.20220H C.22200H D.04200H 23.8255PA口工作在方式2,PB口工作在方式0时,其PC口()。A、两个4位I/O端口 B、一个8位I/O端口 C、部分作联络线 D、全部作联络线
24.定时与计数器8253的所有工作方式中,能产生周期方波的是方式()。A.2 B.3 C.4 D.5 25.已知BX=2000H,DS=1000H,(12000H)=34H,端口(2000H)=45H,问执行完指令MOV AL,(BX)后AL的内容是()。
A.34H B.45H C.34 D.2000H 26.8259A工作在8086/8088模式时,初始化命令字ICW2用来设置。
A.中断向量地址的高8 位
C.中断向量的高5位 B.中断类型号地址的高5位 D.中断类型号的高5位
27.CPU可以对8253计数器进行读操作,其读到的是()。
A.工作方式字
B.计数初值
C.计数执行部件CE(减一计数单元)的当前值 D.0 28.8255的A口工作在方式1输入时,其中断允许控制位INTE的开/关是通过对的按位置位/复位操作完成的。
A.PC0 B.PC2
C.PC4
D.PC6
29.可编程通信接口芯片8251A()。
A.可用作并行接口 B.仅可用作异步串行接口 D.可用作同步、异步串行接口 C.仅可用作同步串行接口
30.异步串行通信中,收发双方必须保持()。
A.收发时钟相同 B.停止位相同
C.数据格式和波特率相同
D.以上都正确
31.8251A的方式控制字(即模式字)的作用是()。
A.决定8251的数据格式 B.决定8251的数据格式和传送方向 C.决定8251何时收发 D.以上都不对 32.若8255A接口芯片的A口工作在方式2时,B口可以工作在()。A.方式0 B.位控方式 C.方式2 D.方式0或方式1 33.由()引脚的连接方式可以确定8255的端口地址。
A.RD、CSB.WR、A0C.A0、A1D.A0、A1、CS
34.I/O接口电路中,8255控制口可能使用的端口地址只能是(D)。A.00HB.01HC.04HD.07H 1.电子计算机主要由、、、和等五部分组成。2.总线按其功能可分、和三种不同类型的总线。
3.8086/8088系统中,可以有个段起始地址,任意相邻的两个段起始地址相距个存储单元。4.用段基值及偏移量来指明内存单元地址的方式称为。5.用BP作基址变址寻址时,操作数所在的段是当前。6.条件转移指令JNE的条件是ZF=。
7.假设VAR为数据段中已定义的变量,则指令MOV BX,OFFSET VAR中源操作数的寻址方式是。8.CPU响应8259A中断,在引脚上输出个负脉冲,在第个负脉冲期间读入中断类型码。9.数据输入/输出的四种方式是、、和。
10.如果串行传输速率是2400波特,则数据位的时钟周期是秒。
11.设串行异步传送的数据格式是7个数据位、1个停止位、1个校验位,波特率为2400,则每秒钟传送的最大字符数为个。
12.为使传送过程更可靠,在串行异步通信接口中设立了三种出错标志,分别是、和奇偶错。13.串行通信根据其连接方式的不同可分为单工、和等三种。
14.8251A工作于异步方式,收发时钟频率为38.4KHz,波特率为2400。数据格式为7位数据位,1位停止位,偶校验,则8251A的方式字为。
15.8259A共有___个可编程的寄存器,它们分别用于接受CPU送来的______命令字和________命令字。
16.已知(BX)=7830H,CF=1,执行指令:ADC BX,87CFH之后,(BX)=__________,标志位的状态分别为CF=_____,ZF=_____,OF=_____,SF=______。
17.设8086系统中采用单片8259A,其8259A的ICW2=32H,则对应IR5的中断类型号为____________H.18.总线管理器8259占用个端口地址。8255有个8位的端口。8253有种工作方式。
19.某微型计算机测控系统有一DAC0832和一ADC0809芯片,DAC0832的作用为______________,ADC0809的作用为______________。
20.在8086CPU的寄存器组中,在对存储器单元进行间接寻址时,可作为基址寄存器的为、,用于变址寄存器有、;对I/O端口地址进行访问时,用到的间址寄存器为。21.在指令MOV AL,[SI+10H]中,源操作数采用的寻址方式为。
22.已知某内存单元的段地址和偏移地址分别为2010H和0130H,此内存单元的物理地址为___________。
23.已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H单元的内容分别为10H,2AH,3CH,46H,59H,6BH。则CPU执行以下指令后:MOV AX,[BX+SI] ;所访问的存储单元的物理地址______________,AX寄存器的内容为______________。
24.8255A端口C按位置位复位控制字的_________位用来指定要置位或复位的端口C1的具体位置。25.8255A端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。26.8255A的每个端口的数据寄存器的长度为____位。27.Intel 8255A是一个________________________接口芯片。
28.8255A的端口C按位置位复位控制字的_________位用来指定置位或复位的端口C的具体位置.29.8255A的端口A工作在方式2时,使用端口C的_________作为与CPU和外部设备的联络信号。30.8255A与CPU连接时,地址线一般与CPU的地址总线的_________连接。31.8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。32.8255A的端口A的工作方式是由方式控制字的____位决定。33.8255A的端口B的工作方式由方式控制字的________位决定。
34.8255A的端口C的按位置位复位功能是由控制字中的D7=______来决定的。35.8255A内部具有_____个输入输出接口。
36.8255A的三个端口中只有端口____没有输入锁存功能。37.串行通信线路的工作方式有()、()和()三种。38.在串行通信中,数据的收发可采用()和()两种基
本的工作方式。
39.用异步通信方式传输数据时,起始位为()电平,它的宽度为()位。40.用异步通信方式传输数据时,以()电平作为起始位,以()
电平作为停止位。
41.异步通信方式中的停止位为()电平,宽度可选()种形式。
42.假设用异步通信方式传输数据时,每个字符对应1个起始位、7个数据位、采用偶校验和1个停止位,如果波特率为9600 bps,则每秒钟能传输的最 大字符数为()个。
43.在串行通信的同步通信方式中,面向比特型的数据格式, 每帧数据由()
个部分组成。
44.串行接口芯片8251由()引脚输入串行数据。45.串行接口芯片8251由()引脚输出串行数据。46.可编程串行接口8251设置有()个错误标志。47.8251A的方式选择控制字在()之后写入。
48.在数据通信中,半双工通信在任意一个时刻只能进行()方向的传输,而全双工通信可以同时进行()方向的传输。
第五篇:微机原理与接口技术小结
微机原理与接口技术基础
1.为什么在流水CPU中,将一条指令从取指到执行结束的任务分割为一系列子任务,并使各子任务在流水线的各个过程段并发地执行,从而使流水CPU具有更强大的数据吞吐能力?
这里可以使用时空图法证明结论的正确性。
假设指令周期包含四个子过程:取指令(IF)、指令译码(ID)、取操作数(EX)、进行运算(WB),每个子过程称为过程段(Si),这样,一个流水线由一系列串连的过程段组成。在统一时钟信号控制下,数据从一个过程段流向相邻的过程段。
2.译码器是如何译码的?寻址空间是如何确定的?译码器与寻址空间是怎么联系的?
译码器实际上是由许多与门、或门、非门和它们的组合构成的。它有若干个输入端和若干个输出端(也可能只有一个输出端)。对某一个输出端来说,它的电平高低必然与输入的某一种状态相对应。
例如,具有4个输入端的与非门就是一个简单的译码器,只有四个输入端为1111时,它的输出端才为0。如果将地址总线的A9、A8、A7、A6与它的四个输入连接起来,并把它的输出连到存储器芯片或某个需要寻址的外设接口的片选端(假定低电平有效),那么,只有当A9、A8、A7、A6为1111时,存储器芯片或外设才会被选中。
译码器的寻址空间取决于地址总线的哪几根线接到译码器的输入端,例如上例,地址总线的A9、A8、A7、A6与译码器的输入连接,那么其寻址空间应该是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,没有参与译码的低位地址线必然要参与存储器芯片或外设接口的内部译码。也就是说,内部译码地址范围是0--2n11 0000。
可以说,译码器的译码输出决定了寻址空间的起始地址,内部译码决定了寻址空间的大小。由于上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此每隔4个单位时间才有一个输出结果,即一条指令执行结束。表示非流水CPU的时空图。由于上一条指令与下一条指令的四个过程在时间上可以重叠执行,因此,当流水线满载时,每一个单位时间就可以输出一个结果,即执行一条指令。
比较后发现:流水CPU在八个单位时间中执行了5条指令,而非流水CPU仅执行了2条指令,因此流水CPU具有更强大的数据吞吐能力。
3.书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?
答:对,PF只与结果的低8位有关。
4.80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7类34个寄存器。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。
(1)通用寄存器(8个)
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每个32位寄存器的低16位可单独使用,同时AX、BX、CX、DX寄存器的高、低8位也可分别当作8位寄存器使用。它们与8088/8086中相应的16位通用寄存器作用相同。
(2)指令指针和标志寄存器。
指令指针EIP是一个32位寄存器,存放下一条要执行的指令的偏移地址。
标志寄存器EFLAGS也是一个32位寄存器,存放指令的执行状态和一些控制位。
(3)段寄存器(6个)
CS,DS,SS,ES,FS和GS。在实方式下,它们存放内存段的段地址。在保护方式下,它们被称为段选择符。其中存放的是某一个段的选择符。当选择符装入段寄存器时,80386中的硬件章自动用段寄存器中的值作为索引从段描述符表中取出一个8个字节的描述符,装入到与该段寄存器相应的64位描述符寄存器中。
(4)控制寄存器(4个)
CR0、CRl、CR2和CR3。它们的作用是保存全局性的机器状态。
(5)系统地址寄存器(4个)
GDTR、IDTR、LDTR和TR。它们用来存储操作系统需要的保护信息和地址转换表信息、定义目前正在执行任务的环境、地址空间和中断向量空间。
(6)调试寄存器(8个)
DR0~DR7。它们为调试提供硬件支持。
(7)测试寄存器(8个)
TR0~TR7,其中TR0~TR5由Intel公司保留,用户只能访问TR6、TR7。它们用于控制对TLB中的RAM和CAM相连存储器的测试。TR6是测试控制寄存器,TR7是测试状态寄存器,保存测试结果的状态
5.什么是外部中断源?什么是中断向量码?什么是读选通信号?
答:外部中断源就是在CPU外部能够产生中断请求的设备/器件;通俗地说,中断向量码就是中断的编号,其值为0-FFH;选通信号就是打开逻辑门的控制信号,或用来锁存信息(类似D触发器的CP或CLK)的控制信号。读选通信号就是用来打开总线缓冲器,以便把的数据送到总线上的控制信号。
6.CPU处于单步执行指令的工作方式(课本49页),请问什么是单步执行指令工作方式? 答:在这种方式下,CPU每执行一条指令,就产生一次特殊的中断,以便可以停下来检查执行的结果。主要用于各类程序的调试。
7.片选信号(CS)到底是起使数据有效或无效的作用还是起选择芯片的作用啊?若是前者,干吗叫片选?
片选信号就是选择芯片的信号。前者不叫片选信号,应该叫允许信号。
8.书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?
微型计算机基础
1.为什么在流水CPU中,将一条指令从取指到执行结束的任务分割为一系列子任务,并使各子任务在流水线的各个过程段并发地执行,从而使流水CPU具有更强大的数据吞吐能力?
这里可以使用时空图法证明结论的正确性。
假设指令周期包含四个子过程:取指令(IF)、指令译码(ID)、取操作数(EX)、进行运算(WB),每个子过程称为过程段(Si),这样,一个流水线由一系列串连的过程段组成。在统一时钟信号控制下,数据从一个过程段流向相邻的过程段。
2.译码器是如何译码的?寻址空间是如何确定的?译码器与寻址空间是怎么联系的?
译码器实际上是由许多与门、或门、非门和它们的组合构成的。它有若干个输入端和若干个输出端(也可能只有一个输出端)。对某一个输出端来说,它的电平高低必然与输入的某一种状态相对应。
例如,具有4个输入端的与非门就是一个简单的译码器,只有四个输入端为1111时,它的输出端才为0。如果将地址总线的A9、A8、A7、A6与它的四个输入连接起来,并把它的输出连到存储器芯片或某个需要寻址的外设接口的片选端(假定低电平有效),那么,只有当A9、A8、A7、A6为1111时,存储器芯片或外设才会被选中。
译码器的寻址空间取决于地址总线的哪几根线接到译码器的输入端,例如上例,地址总线的A9、A8、A7、A6与译码器的输入连接,那么其寻址空间应该是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,没有参与译码的低位地址线必然要参与存储器芯片或外设接口的内部译码。也就是说,内部译码地址范围是0--2n11 0000。
可以说,译码器的译码输出决定了寻址空间的起始地址,内部译码决定了寻址空间的大小。由于上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此每隔4个单位时间才有一个输出结果,即一条指令执行结束。表示非流水CPU的时空图。由于上一条指令与下一条指令的四个过程在时间上可以重叠执行,因此,当流水线满载时,每一个单位时间就可以输出一个结果,即执行一条指令。
比较后发现:流水CPU在八个单位时间中执行了5条指令,而非流水CPU仅执行了2条指令,因此流水CPU具有更强大的数据吞吐能力。
3.书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?
答:对,PF只与结果的低8位有关。
4.80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7类34个寄存器。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。
(1)通用寄存器(8个)
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每个32位寄存器的低16位可单独使用,同时AX、BX、CX、DX寄存器的高、低8位也可分别当作8位寄存器使用。它们与8088/8086中相应的16位通用寄存器作用相同。
(2)指令指针和标志寄存器。
指令指针EIP是一个32位寄存器,存放下一条要执行的指令的偏移地址。
标志寄存器EFLAGS也是一个32位寄存器,存放指令的执行状态和一些控制位。
(3)段寄存器(6个)
CS,DS,SS,ES,FS和GS。在实方式下,它们存放内存段的段地址。在保护方式下,它们被称为段选择符。其中存放的是某一个段的选择符。当选择符装入段寄存器时,80386中的硬件章自动用段寄存器中的值作为索引从段描述符表中取出一个8个字节的描述符,装入到与该段寄存器相应的64位描述符寄存器中。
(4)控制寄存器(4个)
CR0、CRl、CR2和CR3。它们的作用是保存全局性的机器状态。
(5)系统地址寄存器(4个)
GDTR、IDTR、LDTR和TR。它们用来存储操作系统需要的保护信息和地址转换表信息、定义目前正在执行任务的环境、地址空间和中断向量空间。
(6)调试寄存器(8个)
DR0~DR7。它们为调试提供硬件支持。
(7)测试寄存器(8个)
TR0~TR7,其中TR0~TR5由Intel公司保留,用户只能访问TR6、TR7。它们用于控制对TLB中的RAM和CAM相连存储器的测试。TR6是测试控制寄存器,TR7是测试状态寄存器,保存测试结果的状态
5.什么是外部中断源?什么是中断向量码?什么是读选通信号?
答:外部中断源就是在CPU外部能够产生中断请求的设备/器件;通俗地说,中断向量码就是中断的编号,其值为0-FFH;选通信号就是打开逻辑门的控制信号,或用来锁存信息(类似D触发器的CP或CLK)的控制信号。读选通信号就是用来打开总线缓冲器,以便把的数据送到总线上的控制信号。
6.CPU处于单步执行指令的工作方式(课本49页),请问什么是单步执行指令工作方式? 答:在这种方式下,CPU每执行一条指令,就产生一次特殊的中断,以便可以停下来检查执行的结果。主要用于各类程序的调试。
7.片选信号(CS)到底是起使数据有效或无效的作用还是起选择芯片的作用啊?若是前者,干吗叫片选?
片选信号就是选择芯片的信号。前者不叫片选信号,应该叫允许信号。
8.书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?对,PF只与结果的低8位有关