微型计算机原理复习提纲广医.docx
《微型计算机原理复习提纲广医.docx》由会员分享,可在线阅读,更多相关《微型计算机原理复习提纲广医.docx(27页珍藏版)》请在冰豆网上搜索。
微型计算机原理复习提纲广医
《微机原理与接口技术》复习提纲
第1章绪论
1.数制:
二进制、八进制、十六进制、十进制,以及数制间的转换
2.带符号数编码表示方法:
原码、反码、补码
3.BCD码的表示:
压缩和非压缩BCD码
4.计算机系统的组成
知识点要求
(1)了解数制之间的转换(可用计算器实现)
例1.(640)10=()2=()16
(2)掌握原码、反码、补码的表示方法和真值的转换方法。
例2.二进制数10000001B分别作为原码、反码和补码来看,则其真值分别是、、。
(3)若x=-128,y=-1,字长n=8,则[x]补=H,[y]补=H
(4)掌握BCD码的表示
例4.十进制数9874转换为BCD数为。
A.9874HB.4326HC.29DD6341H
(5)了解微处理器、微计算机及微计算机系统三个术语的内涵。
(P32例题解析)
答:
微处理器是一块超大规模的集成电路,是微型计算机控制和处理的核心,它包含3个基本逻辑部件:
算术逻辑部件ALU、寄存器组和控制部件。
微型计算机是指以微处理器为核心,配上外围控制电路、存储器模块电路、输入输出接口电路,并通过系统总线的连接,组成微型计算机的基本电路。
微型计算机系统是指在微型计算机的组成硬件的基础上加上外围设备(输入输出设备,存储设备,电源机箱等)再配以系统软件、应用软件等形成具有信息处理存储能力的微型计算机系统。
(6)了解微计算机的发展简史(例如字长)
第2章8086CPU结构
本章知识要点:
1、Intel8086微处理器
●内部结构(执行部件EU,总线接口部件BIU)
⏹EU包括算术逻辑单元ALU,通用寄存器、标志寄存器和EU控制电路,以及EU功能
⏹BIU包括20位地址加法器、段寄存器、指令指针寄存器IP、指令队列缓冲器和总线逻辑电路等。
以及BIU功能
⏹FLAG标志寄存器用来反映CPU运算的状态特征和存放某些控制标志,了解FLAG的状态标志和控制标志的含义
⏹通用数据寄存器AX,BX,CX,DX,即可做8位寄存器使用也可作16位寄存器使用以及他们隐含的用途。
⏹4个专用的十六位寄存器:
SI,DI,SP和BP
●最小模式下的系统配置(时钟发生器、8086CPU、地址锁存器、数据收发器)
⏹MX/MN引脚接
⏹三总线(数据总线,地址总线,控制总线)的信号形成
⏹
●最小模式下的CPU引脚信号含义和作用!
⏹AD0~AD15,AD19/S6~AD16/S3地址数据复用引脚(双向,三态)
⏹RD*、WR*、M/IO*、ALE、READY读写控制信号(除READY为输入信号,其余为输出信号)
⏹INTR(输入)、INTA*(输出)、NMI(输入)中断请求和响应引脚信号
*表示低电平有效。
还要注意这些引脚的输入或输出或三态
2、存储器组织
●1MB的存储空间,其地址范围为00000H~FFFFFH
1.地址00000H~003FFH是中断向量表区,专门用来存放256个中断服务程序的入口地址(也称中断向量)
2.地址FFFF0H~FFFFFH这16个字节单元保留给系统的初始化代码。
当处理器加电或复位(RESET)时,CPU执行的第一条指令就是起始地址FFFF0H(通常在FFFF0H处存放一条无条件转移指令,以转移到系统程序的入口处)
3.通用区用来存储一般的程序指令和数据,它的范围是00400H~FFFEFH
⏹
●存储器分体:
奇地址存储体(BHE)和偶地址存储体(A0)(低电平有效)
⏹
●存储器的内部的存放规则
⏹按低地址(低字节)顺序存放
⏹规则字(对准字)从偶地址开始存放,存取需一个总线周期
⏹非规则字(非对准字)从奇地址开始存放,存取需二个总线周期
●存储器的逻辑分段(两个概念:
逻辑地址和物理地址)
⏹物理地址:
20位地址,和存储单元一一对应。
物理地址是实际存储单元的序号!
⏹逻辑地址:
由段地址和偏移地址组成。
逻辑地址应用在程序设计或表示中
⏹一个逻辑地址只能对应一个物理地址,而一个物理地址可以对应多个逻辑地址
⏹物理地址=段地址+偏移地址=段寄存器内容×10H+偏移地址
●CS、DS、SS和其他寄存器组合指向存储单元的使用约定
⏹
3、时序
●概念
⏹时钟周期(T状态):
CPU处理动作的基本时间单位。
它是由主频来确定
⏹总线周期:
指CPU与存储器或外设进行一次数据传送所需要的时间。
⏹指令周期:
一条指令从其代码被从内存单元中取出到其所规定的操作执行完毕,所用的时间。
●典型的总线周期序列
⏹T1状态,发地址信息;
⏹T2状态,总线的高4位输出状态信息;
⏹T3状态,高4位状态信息,低16位数据信息;
⏹T3之后,可能插入TW;
⏹T4状态,结束。
●(最小模式下)基本读总线周期
✧T1状态——输出20位存储器地址A19~A0,M/IO*输出高电平,表示存储器读操作,低电平表示I/O读操作;ALE输出正脉冲,表示复用总线输出地址,DT/R*引脚变低表示数据总线处于接受状态
✧T2状态——输出控制信号RD*,AD地址线变高阻状态。
✧T3状态——输出数据,外部逻辑发出Ready信号
✧Tw状态——检测数据传送是否能够完成
✧T4状态——前沿读取数据,完成数据传送
●基本写总线周期
ØT1状态——输出20位存储器地址A19~A0
M/IO*输出高电平,表示存储器写操作,低电平表示I/O写操作;
ALE输出正脉冲,表示复用总线输出地址
DT/R*引脚变低表示数据总线处于发送状态
ØT2状态——输出控制信号WR*和数据D15~D0
ØT3和Tw状态——检测数据传送是否能够完成
ØT4状态——完成数据传送
*参看练习册的两级训练题来帮助掌握本章内容!
!
例题1
✧问题1、8086CPU由哪两部分组成?
它们的主要功能是什么
✧问题2、8086CPU内部有哪些寄存器?
复位值是多少?
对CPU以后的工作有何影响?
✧问题3、试说明8086CPU的标志寄存器FR中各标志位的含义?
✧问题4、在8086系统中有几个寻址空间?
各有多大?
用什么控制信号来区分?
✧问题5、8086系统中的寻址空间采用什么结构?
用什么信号作为体选信号?
✧问题6、什么是时钟周期?
什么是总线周期?
什么指令周期?
第3章寻址方式与指令系统
本章知识要点:
操作数的寻址方式
●操作数来源:
立即数,寄存器操作数,存储器操作数
●寻址方式
⏹立即数寻址,MOVAX,0AC39H
⏹寄存器寻址MOVAX,BX
⏹存储器寻址
✓直接寻址MOVAX,[1000H]
✓寄存器间接寻址方式MOVAX,[BX]
✓寄存器相对寻址MOVAX,100[BX]
✓基址变址寻址MOVAX,[BX][SI]
✓相对基址变址寻址MOVAX,100[BX][SI]
●存储器操作数的物理地址的计算
⏹计算段内有效地址EA
⏹计算物理地址=段寄存器值×10H+段内有效地址EA
⏹注意段跨越前缀,例如MOVAL,ES:
[TABLE]
⏹段寄存器和其他寄存器的约定:
指令
●指令格式:
操作码操作数或操作数的地址
●指令功能
●对标志位的影响
堆栈
●堆栈结构(先进后出)
●堆栈指令(PUSH,POP)
●堆栈指针SP(指向栈顶)
●堆栈操作(入栈、初栈),双字节操作
例题
●1、堆栈指令应用
MOVAX,1234H
PUSHAX
设执行前(SS)=2000H,(SP)=00FEH。
指令执行过程见下图(P84)
●2、LEABX,[2345];将2345单元的偏移量送入BX,指令执行后,BX中为2345
●3、Table标号的偏移地址为1000,[1004]=34H,下列指令执行后AL的值是什么?
MOVAL,4
MOVBX,1000H
XLAT
●4、若在数据段中从字节变量Table相应的单元开始存放了0~15的平方值,试写出包含有XLAT指令的指令序列查找N(0-15)的某个数的平方。
设N的值存放在CL中。
代码填空:
MOVAL,———
MOVBX,———
————
●5、写出实现下列计算的指令序列(假定X、Y、Z、W、R都是字变量)
(1)Z=W+(Z+X)
(2)Z=(W*X)/(R+6)
●6、例3.27两个ASCII码数7和6,要求结果也为ASCII码
MOVAL,’7’;(AL)=37H,7的ASCII码值
ANDAL,0FH;(AL)=07H,非压缩BCD码
MOVDL,’6’;(DL)=36H,6的ASCII码值
ANDDL,0FH;(DL)=36H,非压缩BCD码
MULDL;相乘
AAM;调整
ORAX,3030H;变为ASCII码
●7、(程序填空)比较AL是否大于100?
cmpal,100;al-100
jbbelow;al<100,跳转到below执行
subal,100;al≥100,al←al-100
incah;ah←ah+1
below:
...
●8、用移位指令实现:
a×3+b×7
MOVSI,AX;(AX)=a,SI←AX
SHLSI,1;si←ax×2
ADDSI,AX;si←ax×3
MOVDX,BX;(BX)=b,DX←BX
MOVCL,3
SHLDX,CL;dx←bx×8
SUBDX,BX;dx←bx×7
ADDDX,SI;dx←bx×7+ax×3
●9、(程序填空)例如,比较两个长度为20H的字符串ARY1和字符串ARY2是否相同,如果相同,则给BL送0,否则送OFFH。
LEASI,ARY1;获取ARY1偏移地址
LEADI,ARY2;获取ARY2偏移地址
MOVCX,20H;字符串长度20H送CX
CLD;DF清0,地址递增
MOVBL,0FFH;BL置0FFH
REPECMPSB;比较
JNZNEQU;若不等,跳转置NEQU标记
MOVBL,0;相等则BL置00H
NEQU:
HLT
第4章汇编语言程序设计
本章知识要点:
例题
●DUP——按照给定的次数来复制某个(或某些)操作数,可以避免多次重复输入同一个数据。
例1:
Data1DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
Data2DB6DUP(0FFH)
例2:
操作数?
可以保留存储空间,但不存入数据。
问Array1和Array3定义了多少字节?
Array1DB2DUP(0,1,2,?
)
Array3DB100DUP(?
)
●数据项在内存的存放形式
⏹例1:
请图示下面伪指令定义的数据在内存中的存放形式。
(1)BUF1DB‘12’,12,12H,2*6,-1
(2)BUF2DW’12’,12H,1234H
(3)BUF3DB2DUP(5,4,3DUP(8))
⏹例2:
下面是一个定义数据的程序段,设DATA值为1200H,请图示各数据在内存的存放形式。
Datasegment
org100H
Buf1DB10H,20H,30H
Buf2DWBuf1
Buf3DDBuf2
CountEQUBuf2-Buf1
Buf4DWBuf2-Buf1
Dataends
●(填空)宏汇编主要包括3个步骤:
宏定义,宏调用和宏展开。
⏹例4.3定义一条回车宏指令CR
CRMACRO
MOVDL,13’13是回车符的ASCII码
MOVAH,2
INT21H
ENDM
●例4.9:
在首地址为BUFF的内存缓冲区中,存放着20H个带符号字数据。
编制程序找出其中的最小值,并将最小值存入MIN单元。
程序片段如下:
LEASI,BUFF;设地址指针
MOVCX,20H;CX←循环次数
MOVAX,[SI];AX←第一个数据
INCSI
INCSI;SI指向第二个数
DECCX
AGAIN:
CMPAX,[SI]
JLENEXT;小于或等于时转移
MOVAX,[SI]
NEXT:
INCSI
INCSI;修改地址指针指向下一个数
LOOPAGAIN
MOVMIN,AX
●编写一段延时程序:
Movdi,30000
Delay:
Movsi,30000
Delay1:
decsi
JnzDelay1
decdi
jnzDelay
●按如下要求各写出一条指令:
(1)源操作数为直接寻址方式:
。
(2)目的操作数为寄存器相对寻址方式:
。
(3)若运算结果为负则转至NEXT地址:
。
(4)将AL寄存器的值逻辑左移一位:
。
(5)测试AL寄存器的最低位是否为零:
。
●设DS=2100H,BX=0100H,COUNT=0250H,用MOV指令将数据送入AX中,写出采用下面几种寻址方式时,源操作数的物理地址:
MOVAX,[1000H]
MOVAX,[BX]
MOVAX,COUNT[BX]
第5章半导体存储器
本章知识要点:
●存贮器的作用:
存放程序和数据,只存放二进制数
●半导体存储器的分类
⏹RAM:
SRAM,DRAM
⏹ROM
●存储器芯片
⏹存储容量如何计算?
两种方法:
◆存储容量=单元数×位数/单元
其中,单元数表示存储器芯片内可寻址的存储单元个数;位数/单元表示在一个存储单元里由多少个二进制位组成。
例如2114SRAM存储容量为1K×4(位)
◆字节数。
当存储器芯片的每个存储单元位数都是8位(1个字节)时,存储容量直接用字节数表示。
例如2716EPROM的存储容量为2K×8(位),也可表示为2KB。
⏹引脚功能(略):
存储器芯片的引脚分为地址引脚、数据引脚、控制引脚和其他引脚(电源、GND等)
⏹芯片引脚及与存储单元的关系
◆
(1)地址引脚数目与存储单元数的关系:
芯片有N个引脚,芯片内部就有2n个存储单元。
◆
(2)数据引脚数目与存储单元位数的关系:
由于存储单元的内容是并行传送,一位信息需要一个引脚,m位信息就需要m位引脚,即数据引脚数目等于存储单元的位数
◆例如:
对6116SRAM(2K×8)芯片,它的引脚如下:
(1)地址引脚:
A10~A0共11个,芯片内有2K个存储单元。
(2)数据引脚:
AD7~AD0共8个,每一个存储单元有8位。
问题:
计算给出芯片的引脚数目?
●主存储器设计(存储器扩展)
⏹扩展的原因和方法:
目前生产的存储器芯片容量有限,需要扩充才能满足实际的存储器的容量要求。
通常采用的扩充方法有:
◆位扩展法
例如,使用8K×1的RAM存储器芯片,组成8K×8位的存储器(需8片)
◆字扩展法
例如:
用16K×8的芯片采用字扩展法组成64K×8位的存储器。
(需4片)
◆字位同时扩展法
例如:
在64KB地址空间中用8片2114(1K×4位)构成4K×8,即4KB存储器。
(需8片)
⏹计算芯片数
一个存储器的容量假定为M×N位,若使用1×K位(1此时共需要(M/1)×(N/K)个芯片来组成所需要的存储空间。
⏹地址分配
第5题对于8K×8位RAM芯片组成存储器系统,某组的起始地址为08000H,则其末地址为多少?
分析:
8K×8位,需要13根地址线A0~A12。
片内地址为0000000000000~1111111111111。
由起始地址08000H得知,系统有20根地址线。
故地址范围为:
A19~A16,A15A14A13,A12~A0
0000,1000,0000,0000,0000
0000,1001,1111,1111,1111
故最高地址为09FFFH
⏹片选逻辑(略)
◆全译码方式
◆部分译码方式:
基本地址和重叠地址
例题
⏹芯片数?
⏹地址线和数据线的根数?
⏹地址范围(例如给出起始地址,求末地址)
填空题:
某一计算机系统要配置64KBRAM,若用6264存储器芯片(8K*8位),则需该芯片片,6264芯片上需要连接根系统地址线。
填空题:
若用1024*1位RAM芯片组成16K*8位的存储器,需要芯片,至少需要地址线,在地址线中有位参与片内寻址。
习题第6题(片选端逻辑的设计)
第6章输入输出技术
本章知识要点:
对查询传送来说,一个数据传送过程由3个环节组成。
⏹CPU从接口中读取状态字
⏹CPU检测状态字对应位是否满足“就绪”条件,如果不满足,则回到前一步读取状态字。
⏹如状态字表明外设已处于“就绪状态”,则传送数据。
查询传送例题
⏹课本习题6第6题:
现有一输入设备,其数据端口的地址为FFE0H,并于端口FFE2H提供状态,当其D0位为1时表明输入数据准备好。
请编写采用查询方式进行数据传送的程序段,要求从该设备读取100个字节并输入到从1000H:
2000H开始的内存中。
⏹参考代码:
MOVCX,100;读取个数(循环次数)
MOVBX,2000H;存放数据的偏移地址
AGAIN:
MOVDX,FFE2H;状态端口
WAIT:
INAL,DX;输入状态信息
TESTAL,01H;与01H状态位比较
JZWAIT;若为0,表明数据未准备好
MOVDX,FFE0H;数据端口地址
INAL,DX;读入数据端口的数据
MOV[BX],AL;数据送入内存区
INCBX;指向下一个存放地址
LOOPAGAIN;未满100个字节则循环
⏹
中断例题
1、3片8259级联,最多可以接个可屏蔽中断?
2、当多片8259A级联使用时,对于从片8259A,级联信号CAS2~CAS0是信号?
3、有2片8259A级联,从片接入主片的IR2,则主片8259A的初始化命令字ICW3应为,从片的初始化命令字ICW3应为。
4、8086CPU接收到中断类型码后,将它左移位,形成中断服务程序入口地址。
5、CPU响应中断后得到的中断类型码为9,则从单元取出中断服务程序入口地址。
6、8259A工作在8088/8086模式下,中断向量字节ICW2=A0H,若在IR3处有一中断请求信号,这时它的中断向量号为,该中断的服务程序入口地址保存在内存地址为至的个单元中。
7、某一片可编程中断控制器8259A的IR3接在一个输入设备的中断请求输出线上,其中断类型号为83H。
问该片的中断类型号的范围是多少?
8、某可编程中断控制器8259A,初始化命令字ICW2内容为23H,问该片的中断类型号的范围是多少?
其他
⏹本章要熟悉了解输入输出的基本方法,重点掌握无条件传送方式、查询方式和中断方式。
⏹掌握课本P254的“6.5例题解析”
第7章常用接口技术
8253的内部结构
⏹三个独立工作的计数器,分别占有3个口地址
⏹一个控制寄存器,占用一个口地址
⏹6种工作方式
◆方式0:
计数结束中断方式
◆方式1:
可编程单稳态输出方式
◆方式2:
分频器
◆方式3:
方波发生器
◆方式4:
软件触发选通
◆方式5:
硬件触发选通
8253可编程定时/计数器的读写操作及编程
⏹8253的控制字,决定计数器的工作方式和初值,格式如下:
⏹8253初始化的顺序:
(1)先将控制字写入相应计数器的控制寄存器中。
(2)再写入定时或计数的初值。
⏹注意
◆要逐个对计数器进行初始化.
◆如果计数值为16位,则要CPU执行两次输出指令完成初值的设置,即先写低字节,再写高字节。
8253定时/计数器的练习题:
一、填空题:
1.8253包括个独立的,但结构相同的计数电路,它们分别是,共占个I/O地址,并由(信号)选择。
2.在8253中通过对其中一个的编程设定和控制工作方式,其端口地址是当A1A0=时的地址。
3.设定时器/计数器8253的CLK1端输入时钟信号的频率为2.5KHZ,要求在OUT1端产生频率为1HZ的方波,则8253的计数器1应工作在方式,且送入计数器1的计数初值为。
4.8086系统中,8253的通道0工作于方式3(方波发生器),所用的时钟脉冲频率为2MHZ,要求输出频率为5KHZ的连续方波,其时间常数N0=;通道1工作于方式1,要求产生宽度为500μs,的单脉冲,应取时间常数N1=。
5.在8253控制字中,若RL1RL0=11,表示,此时若向计数器0的CR预置初值时,须有条输出指令。
二、接口编程
1.某微机系统中,8253的3个计数器的端口地址分别为3F0H,3F2H,3F4H,控制字寄存器的端口地址为3F6H,要求8253的通道0工作于方式3,采用BCD计数,输入脉冲频率为2MHZ,输出方波频率为2KHZ,试编写初始化程序片段。
(给出方式控制字格式)
分析:
(1)计算计数初值
计数初值=输入脉冲频率/输出方波频率=2MHZ/2KHZ=1000
(2)确定方式控制字
方式控制字:
00110111B=37H
答案:
初始化程序片断:
MOVAL,37H
MOVDX,3F6H
OUTDX,AL;送方式控制字到控制端口
MOVAL,00
MOVDX,3F0H
OUTDX,AL;送计数初值低字节到计数器0(通道0)
MOVAL,10H
OUTDX,AL;送计数初值高字节到计数器0(通道0)
并行接口概念
⏹I/O接口与I/O设备之间的数据传送采用并行传送,则称为并行接口
⏹I/O接口与I/O设备之间的数据传送采用串行传送,则称为串行接口
⏹不论并行接口还是串行接口,其与系统总线的数据传送都采用并行传送。
8255可编程并行接口的内部结构
⏹三个并行I/O口:
A口,B口,C口,分为A组控制和B组控制
◆A组:
A口和C口上半部分
◆B组:
B口和C口下半部分
⏹三个并行口端线与外设相连
⏹三种工作方式
◆方式0基本输入输出:
A口,B口,C口
◆方式1选通输入输出:
A口,B口
◆方式2双向传送:
A口
⏹8255口地址
◆三个I/O口地址:
A口,B口,C口,和一个控制口地址
◆用A0,A1引脚来区分
A1A0=00选中A口数据寄存器
A1A0=01选中B口数据寄存器
A1A0=10选中C口数据寄存器
A1A0=11选中控制字寄存器