微机原理教案.docx
- 文档编号:29696590
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:47
- 大小:49.03KB
微机原理教案.docx
《微机原理教案.docx》由会员分享,可在线阅读,更多相关《微机原理教案.docx(47页珍藏版)》请在冰豆网上搜索。
微机原理教案
教案
授课题目
第1章微型计算机基础知识
教研室主任
教务科长
授课时数
教学方法
教具
授课班级
与时间
教学目标
微型计算机的组成和各部分的作用,以及计算机中数的表示方法。
技能目标:
计算机中数的表示方法:
原码、反码、补码的关系。
教学重点
微型计算机的组成和各部分的作用,以及计算机中数的表示方法。
教学难点
计算机中数的表示方法:
原码、反码、补码的关系。
教学内容、方法及过程
§1.1微型计算机的组成及工作原理
1.1.1微型计算机中的基本概念
1.微处理器(Microprocessor)
2.微型计算机
(1)单片微处理机
(2)通用微型计算机
3.微型计算机系统
1.1.2微型计算机的基本结构
微型计算机的基本组成
1.1.3微型计算机的基本工作过程
微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能,这就是微型计算机的基本工作原理。
工作过程:
§1.2微处理器及其发展
1.2.1微处理器的发展历史
1.2.2微处理器的内部结构
1.总线部件
2.预取部件
3.译码器
4.控制器
5.运算逻辑部件
6.存储器管理部件
1.2.3Pentium系列微处理器
1.2.3.1Pentium奔腾微处理器的主要特点:
1、标量体系结构
2、双流水线结构
1.2.3.2PentiumMMX的主要特点
PentiumMMX是在奔腾芯片基础上增加了MMX技术。
1.2.4微处理器的发展趋势
§1.3数制与编码
1.3.1数制的表示
1.常用数制
(1)十进制数
我们熟悉的十进制数有两个主要特点:
有十个不同的数字符号:
0、1、2、…、9;
低位向高位进、借位的规律是“逢十进一”“借一当十”的计数原则进行计数。
例如:
1234.45=1×103+2×102+3×101+4×100+4×10-1+5×10-2
式中的10称为十进制数的基数,103、102、101、100、10-1称为各数位的权。
十进制数用D结尾表示。
(2)二进制数
在二进制中只有两个不同数码:
0和1,进位规律是“逢二进一”“借一当二”的计数原则进行计数。
二进制数用B结尾表示。
例如,二进制数11011011.01可表示为:
(11011011.01)2==1×27+1×26+0×25+1×24+1×23+0×22+1×21+1×20+0×2-1+1×2-2
(3)八进制数
在八进制中有0、1、2…、7八个不同数码,采用“逢八进一”“借一当八”的计数原则进行计数。
八进制数用Q结尾表示。
例如,八进制数(503.04)Q可表示为:
(503.04)Q=5×82+0×81+3×80+0×8-1+4×8-2
4)十六进制数
在十六进制中有0、1、2…、9、A、B、C、D、E、F共十六个不同的数码,采用“逢十六进一”“借一当十六”的计数原则进行计数。
十六进制数用H结尾表示。
例如,十六进制数(4E9.27)H可表示为
(4E9.27)H=4×162+14×161+9×160+2×16-1+7×16-2
2.不同进制数之间的相互转换
表1-4列出了二、八、十、十六进制数之间的对应关系,熟记这些对应关系对后续内容的学习会有较大的帮助。
1)二、八、十六进制数转换成为十进制数
根据各进制的定义表示方式,按权展开相加,即可转换为十进制数。
【例1-1】将(10101)B,(72)Q,(49)H转换为十进制数。
(10101)B=1×24+0×23+1×22+0×21+1×20=37
(72)Q=7×81+2×80=58
(49)H=4×161+9×160=73
(2)十进制数转换为二进制数
十进制数转换二进制数,需要将整数部分和小数部分分开,采用不同方法进行转换,然后用小数点将这两部分连接起来。
①整数部分:
除2取余法。
具体方法是:
将要转换的十进制数除以2,取余数;再用商除以2,再取余数,直到商等于0为止,将每次得到的余数按倒序的方法排列起来作为结果。
②小数部分:
乘2取整法。
具体方法是:
将十进制小数不断地乘以2,直到积的小数部分为零(或直到所要求的位数)为止,每次乘得的整数依次排列即为相应进制的数码。
最初得到的为最高有效数位,最后得到的为最低有效数字。
(3)二进制与八进制之间的相互转换
由于23=8,故可采用“合三为一”的原则,即从小数点开始向左、右两边各以3位为一组进行二-八转换:
若不足3位的以0补足,便可以将二进制数转换为八进制数。
反之,每位八进制数用三位二进制数表示,就可将八进制数转换为二进制数。
(4)二进制与十六进制之间的相互转换
由于24=16,故可采用“合四为一”的原则,即从小数点开始向左、右两边各以4位为一组进行二—十六转换,若不足4位的以0补足,便可以将二进制数转换为十六进制数。
反之,每位十六进制数用四位二进制数表示,就可将十六进制数转换为二进制数。
1.3.2常用的信息编码
二—十进制BCD码(Binary-CodedDecimal)
二—十进制BCD码是指每位十进制数用4位二进制数编码表示。
由于4位二进制数可以表示16种状态,可丢弃最后6种状态,而选用0000~1001来表示0~9十个数符。
这种编码又叫做8421码。
2.字符编码(ASCII码)
数字0~9的ASCII码为30H~39H。
大写英文字母A~Z的ASCII码为41H~5AH。
小写英文字母a~z的ASCII码为61H~7AH。
3.奇偶校验码
§1.4计算机数值数据表示与运算
1.4.1二进制数在计算机内的表示
1.机器数
在计算机中,因为只有“0”和“1”两种形式,所以数的正、负号,也必须以“0”和“1”表示。
通常把一个数的最高位定义为符号位,用0表示正,1表示负,称为数符:
其余位仍表示数值。
把在机器内存放的正、负号数码化的数称为机器数,把机器外部由正、负号表示的数称为真值数。
要注意的是,机器数表示的范围受到字长和数据的类型的限制。
字长和数据类型定了,机器数能表示的数值范围也就定了。
例如,若表示一个整数,字长为8位,则最大的正数为01111111,最高位为符号位,即最大值为127。
若数值超出127,就要“溢出”。
最小负数为10000000,最高位为符号位,即最小值为-128。
2.数的定点和浮点表示
计算机内表示的数,主要分成定点小数、定点整数与浮点数三种类型。
(1)定点小数的表示法
定点小数是指小数点准确固定在数据某一个位置上的小数。
一般把小数点固定在最高数据位的左边,小数点前边再设一位符号位。
按此规则,任何一个小数都可以写成:
N=NSN-1N-2···N-M,NS为符号位
(2)整数的表示法
整数所表示的数据的最小单位为1,可以认为它是小数点定在数值最低位右面的一种表示法。
整数分为带符号和不带符号两类。
对带符号的整数,符号位放在最高位。
可以写成:
N=NSNnNn-1···N2N1N0,NS为符号位
一般定点数表示的范围和精度都较小,在数值计算时,大多数采用浮点数。
(3)浮点数的表示方法
浮点表示法对应于科学(指数)计数法,如数110.011可表示为:
N=110.011=1.10011×2+10=11001.1×2-10=0.110011×2+11
在计算机机中一个浮点数由两部分构成:
阶码和尾数,阶码是指数,尾数是纯小数。
应当注意:
浮点数的正、负是由尾数的数符确定,而阶码的正、负只决定小数点的位置,即决定浮点数的绝对值大小。
带符号数的表示
在计算机中,带符号数可以用不同方法表示,常用的有原码、反码和补码。
(1)原码
(2)反码
(3)补码
1.4.2补码的运算
1.4.3逻辑运算
(1)“与”运算。
(2)“或”运算。
(3)“异或”运算。
教案
授课题目
第2章8086微处理器
教研室主任
教务科长
授课时数
教学方法
教具
授课班级
与时间
教学目标
知识目标:
本章主要讲述8086的硬件结构、外部引脚、内部寄存器的组织、和总线时序。
技能目标:
引脚功能和总线时序。
教学重点
本章主要讲述8086的硬件结构、外部引脚、内部寄存器的组织、和总线时序。
教学难点
引脚功能和总线时序。
教学内容、方法及过程
§2.18086CPU的结构
2.2.18086的结构特点
微处理器执行一段程序通常是通过重复执行如下步骤来完成。
即:
(1) 从内存储器中取出一条指令,分析指令操作码;
(2) 读出一个操作数(如果指令需要操作数);
(3) 执行指令;
(4) 将结果写入内存储器(如果指令需要)。
1.总线接口部件
(1)4个段地址寄存器
CS--16位的代码段寄存器
DS--16位的数据段寄存器
ES--16位的扩展段寄存器
SS--16位的堆栈段寄存器
(2)16位的指令指针寄存器IP
(3)20位的地址加法器
(4)6字节的指令队列。
2.执行部件
(1)4个通用寄存器,即AX、BX、CX,DX;
(2)4个专用寄存器,即基数指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI;
(3)标志寄存器Flag;
(4)算术逻辑单元ALU;
8086的执行部件(EU)有如下特点:
(1)4个通用寄存器既可以作为16位寄存器使用,也可以作为8位寄存器使用。
(2)AX寄存器也常称为累加器,8086指令系统中有许多指令都是通过累加器的动作来执行的。
(3)加法器是算术逻辑部件主要部件,绝大部分指令的执行都是由加法器完成的。
(4)标志寄存器共有16位,其中,7位未用
状态标志有6个,即SF、ZF,PF、CF,AF和OF。
符号标志SF(SignFlag):
它和运算结果的最高位相同。
若运算结果最高位为1,则SF=1,否则SF=0。
零标志ZF(ZeroFlag):
如果当前的运算结果为零,则ZF=1,否则ZF=0。
奇偶标志PF(ParityFlag):
如果运算结果的低8位中所含的1的个数为偶数,则PF=1,否则PF=0。
进位标志CF(CarryFlag):
当执行一个加法运算使最高位产生进位时,或者执行一个减法运算引起最高位产生借位时,则CF=1,否则CF=0。
辅助进位标志AF(AuxiliaryCarryFlag):
当加法运算时,如果第三位往第四位有进位,或者当减法运算时,如果第三位从第四位有借位,则AF=1,否则AF=0。
溢出标志OF(OverflowFlag):
当运算过程中产生溢出时,会使OF=1,否则OF=0。
控制标志有3个,即DF、IF、TF。
方向标志DF(DirectionFlag):
这是控制串操作指令的标志。
如果DF=0,则串操作过程中地址会不断增值,反之,如果DF=1,则串操作过程中地址会不断减值。
中断标志IF(1uterruptEnableFlay):
这是控制可屏蔽中断的标志。
如IF=0,则CPU不能对可屏蔽中断请求作出响应,如果IF=1,则CPU可以接受可屏蔽中断请求。
跟踪标志TF(TrapFlay):
如果TF=1,则CPU按跟踪方式执行指令。
2.2.28086的总线工作周期
在8086中,一个最基本的总线周期由4个时钟周期组成
①在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元及外设端口的地址。
②在T2状态,CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。
总线的最高4位(A19~A16)用来输出本总线周期状态信息。
这些状态信息用来表示中断允许状态、当前正在使用的段寄存器名等。
③在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。
④在有些情况下,被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。
这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入1个或多个附加的时钟周期TW。
TW也叫等待状态。
在Tw状态,总线上的信息情况和T3状态的信息情况一样。
当指定的存储器或外设完成数据传送时,便在“READY”线上发出“准备好”信号,CPU接收到这一信号后,会自动脱离TW状态面进入T4状态.
⑤在T4状态,总线周期结束。
需要指出的是,只有在CPU和内存或I/O接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。
可见,如果在1个总线周期之后,不立即执行下1个总线周期。
那么,系统总线就处在空闲状态,此时,执行空闲周期。
§2.28086/8088的引脚信号和工作模式
2.3.1最小模式和最大模式的概念
所谓最小模式,就是在系统中只有8086一个微处理器。
在这种系统中,所有的总线控制信号都直接由8086产生,因此,系统中的总线控制逻辑电路被减到最少。
最大模式是相对最小模式而言,在此系统中,包含两个或两个以上的微处理器,其中一个主处理器就是8086,其他的处理器称为协处理器,它们是协助主处理器工作的。
和8086配合的协处理器有两个。
一个是数值运算协处理器8087,一个是输入/输出协处理器8089。
2.3.28086的引脚信号和功能
1.AD15~AD0地址/数据复用引脚(双向工作)
2.A19/S6~A16/S3地址/状态复用引脚(输出)
3.BHE/S7高8位数据总线允许/状态复用引脚(输出)
4.NMI非屏蔽中断信号
5.INTR可屏蔽中断请求信号
6.RD读选通信号
7.CLK时钟信号
8.RESET复位信号
9.READY准备就绪输入信号
10.TEST测试信号
11.MN/MX最小/最大模式控制信号
12.GND地和VCC电源
2.3.38086最小工作方式
2.3.48086最大工作方式
当MN/MX加上低电平时,8086CPU工作在最大模式下。
此时8086CPU工作于多处理器系统。
1.总线控制器8288
2.总线仲裁控制器8289
2.3.58086系统复为和启动操作
在复位的时候,代码段寄存器CS和指令指针寄存器IP分别初始化为FFFFH和0000H。
所以,8086/8088在复位之后再重新启动时,便从内存的FFFF0H处开始执行指令,使系统在启动时,能自动进入系统程序。
在复位时,由于标志寄存器被清零,即所有标志位都被清除了,因而,系统程序在启动时,总是要通过指令来设置各有关标志。
复位信号RESET从高电平到低电平的跳变会触发CPU内部的一个复位逻辑电路,经过7个时钟周期之后,CPU就被启动而恢复正常工作,即从FFFF0H处开始执行程序。
§2.3存贮器组织
2.4.1由段寄存器、段偏移地址确定物理地址
20位物理地址=段寄存器的内容×16+偏移地址
段寄存器的内容×16(相当于左移4位)变为20位,再在低端16位加上16位的偏移地址,便可得到20位的物理地址。
这里仅以8086CPU复位后如何形成启动地址为例,说明物理地址的计算方法。
复位时CS的内容为FFFFH,IP的内容为0000H。
复位后的启动地址由CS段寄存器和IP的内容共同决定,即:
启动地址=CS×16+IP
=FFFF0H+0000H
=FFFF0H
2.4.2段寄存器的使用
教案
授课题目
教研室主任
教务科长
授课时数
教学方法
教具
授课班级
与时间
教学目标
知识目标:
掌握指令系统的的基本格式,指令系统的操作功能及使用方法。
技能目标:
8086寻址方式,数据传送类指令和算术运算类指令的使用。
教学重点
掌握指令系统的的基本格式,指令系统的操作功能及使用方法。
教学难点
8086寻址方式,数据传送类指令和算术运算类指令的使用。
教学内容、方法及过程
§3.18086的寻址方式
3.1.1操作数的寻址方式
1.立即数寻址
例:
MOVAX,1234H
这条指令的功能是:
把立即数1234H送入AX中。
2.寄存器寻址
如果操作数就在CPU的内部寄存器中,那么寄存器名在指令中给出。
这种寻址方式就叫寄存器寻址方式。
3.直接寻址
使用直接寻址方式时,数据总是在存储器中,存储单元的有效地址由指令直接指出,所以直接寻址是对存储器进行访问时可采用的最简单的方式。
假如DS=3000H
例:
MOVAX,DS:
[2010H]
物理地址=
DS×16+2010H=3000H×16+2010H=32010H
指令功能是将32010H和32011H两单元的内容送到AX中。
要注意的是采用直接寻址方式时,如果指令前面没有用前缀指明操作数在哪一段,则默认为段寄存器是数据段寄存器DS。
4.寄存器间接寻址
采用寄存器间接寻址方式时,操作数一定在存储器中,存储单元的有效地址由寄存器指出,这些寄存器可以为BX、BP,SI和DI之一,由于上述4个寄存器所黙认的段寄存器不同,这样又可以分两种情况:
①以SI、DI、BX进行间接寻址,则操作数通常存放在现行数据段中。
此时数据段寄存器内容加上SI、DI、BX中的16位段内偏移地址,即得操作数的地址
②寄存器BP间接寻址,则操作数存放在堆栈段区域中。
此时堆栈段寄存器内容加上BP中的16位段内偏移地址,即得操作数的地址。
假如SS=3000H
5.寄存器相对寻址
在这种寻址方式中,操作数存放在存贮器中。
操作数的地址是由段寄存器内容加上SI、DI、BX、BP之一的内容,再加上由指令所指出的8位或16位相对地址偏移量而得到的
6.基址、变址寻址
在8086中,通常把BX和BP作为基址寄存器,而把SI、DI作为变址寄存器。
将这两种寄存器联合起来进行的寻址就称为基址、变址寻址。
这时,操作数的地址应该是段寄存器内容×16加上基址寄存器内容(BX或BP内容),再加上变址寄存器内容(SI或DI内容)而得到的.
例:
MOVAX,[BX][SI]
7.基址、变址相对寻址
这种寻址实际上是基址、变址寻址的扩充。
即操作数的地址是由基址、变址方式得到的地址再加上由指令指明的8位或16位的相对偏移地址而得到的
3.1.2转移地址的寻址方式
1.段内直接寻址
段内直接寻址方式也称为相对寻址方式,转移的目标地址是当前IP内容和一个8位或16位的位移量DISP之和。
即物理地址=CS×16+IP+DISP
2.段内间接寻址
这种寻址方式在段内进行,其转移的目标地址是16位寄存器或两个相邻的存储单元的内容,即以寄存器或存储器单元内容来更新IP的内容。
如图3-11所示。
例:
JMPCX
JMPWORDPTR[BX]
3.段间直接寻址
在这种寻址方式中,指令码中将直接给出16位的段地址和16位的段内偏移地址。
例:
JMPFARPTRDADD1
4.段间间接寻址
这种寻址方式和段内间接寻址相似。
但是,由于确定转移地址需要32位信息,因此只适用于存贮器寻址方式。
用这种寻址方式可计算出存放转移地址的存贮单元的首地址,与此相邻的4个单元中,前两个单元存放16位的段内偏移地址;而后两单元存放的是16位的段地址,如图3-13所示。
例:
JMPDWORDPTR[BP][DI]
§3.28086指令系统
8086的指令系统大致可分为6种类型:
①数据传送指令
②算术运算指令
③逻辑运算和移位指令
④串操作指令
⑤程序控制指令
⑥处理器控制指令
3.2.1数据传送指令
8086有5类传送指令,以实现CPU的内部寄存器之间、CPU和存储器之间、CPU和I/O端口之间的数据传送。
1.通用传送指令
通用传送指令中包括最基本的传送指令MOV,交换指令XCHG,椎栈指令PUSH和POP,字节、字转换指令CBW和CWD。
(1)最基本的传送指令
指令格式:
MOVOPRDl,OPRD2
执行功能:
该指令可把一个字节或一个字操作数从源地址传送到目的地址中去。
OPRD1:
可以是累加器、寄存器和存贮器。
OPRD2:
可以是累加器、寄存器、存贮器以及立即操作数
1)在CPU各内部寄存器之间传送数据(除代码段寄存器CS和指令指针IP以外)。
2)立即数传送至CPU的内部通用寄存器(即AX、BX、CX、DX、BP、SP、SI、DI),给这些寄存器赋值。
3)CPU内部寄存器(除了CS和IP以外)与存贮器(所有寻址方式)之间的数据传送,与前述一样可以传送一个字节也可以传送一个字。
▲注意!
!
①MOV指令不影响任何标志位
②MOV的源操作数与目标操作数类型必须一致
③MOV指令的操作数不能全为存储单元
④MOV指令的操作数不能全为段寄存器
⑤立即数不能为目标操作数,立即数不能送段寄存器,可以通过内存变量或除段寄存器之外的其它寄存器给段寄存器赋值
MOVAX,0825H
MOVDS,AX
⑥CS为代码段寄存器,它是只允许读,不允许写的。
(可以用跳转指令改变CS)
(2)交换指令
指令格式:
XCHGOPRDl,OPRD2
执行功能:
交换指令把一个字节或一个字的源操作数与目的操作数相交换。
(3)堆栈操作指令
PUSHOPRD(压入堆栈指令)
POPOPRD(弹出堆栈指令)
2.地址传送指令
8086有3条地址传送指令。
(1)LEA指令
指令格式:
LEAOPRDl,OPRD2
执行功能:
该指令把源操作数OPRD2的地址偏移量传送至目的操作数OPRDl中。
源操作数必须是一个内存操作数,目的操作数必须是一个16位的通用寄存器。
这条指令通常用来建立串指令操作所需的地址指针。
LEABX,DATA和MOVBX,OFFSETDATA等价
LEASI,BUFFER和MOVSI,OFFSETBUFFER等价
(2)LDS指令
该指令完成一个地址指针的传送。
地址指针包括段地址和地址偏移量。
指令执行时,将段地址送入DS,地址偏移量送入一个16位的指针寄存器或变址寄存器。
例如:
LDSSI,[BX]
是把BX所指的32位地址指针的段地址送入DS,偏移地址送入SI。
(3)LES指令
这条指令除将地址指针的段地址送入ES外,其他操作与LDS的类似。
例如:
LESDI,[BX]
是把BX所指的32位地址指针的段地址送入ES,偏移地址送入DI。
3.输人输出指令
输入/输出指令用来完成累加器(AX/AL)与I/O端口之间的数据传送功能。
执行输入指令时,CPU可以从一个8位端口读入一个字节到AL中,也可以从两个连续的8位端口读一个字到AX中。
指令格式:
IN累加器,端口地址
执行输出指令时,CPU可以将AL中的一个字节写到一个8位端口中,或者将AX中的一个字写到两个连续的8位端口中。
指令格式:
OUT端口,累加器
端口地址的寻址范围是64K(0000H~FFFFH),若端口地址在00H~FFH之间,可以使用直接寻址方式,否则只能由16位寄存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 教案