1、12课程目标课程目标微机原理是学习和掌握微机硬件知识和汇编语言程序设计的入门课程:F微型计算机的基本工作原理F汇编语言程序设计F微型计算机接口技术建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力3教学大纲教学大纲第第1章章 微型计算机基础微型计算机基础第第2章章 80 x86系列微处理器系列微处理器第第3章章 8086/8088 CPU的指令系统的指令系统第第4/5章章 汇编语言语法规则与程序设计汇编语言语法规则与程序设计第第6章章 存储器系统存储器系统第第7章章 中断技术中断技术第第8章章 输入输出接口基础输入输出接口基础第第9章章 可编程并行接口芯片可编程并行接口芯片8255
2、A第第10章章 计数器定时器接口芯片计数器定时器接口芯片8253第第11章章 串行通信及可编程接口芯片串行通信及可编程接口芯片8251A4主要参考书冯博琴主编,微机原理与接口技术,清华大学出版社考核方式平时作业15% 实验15%期末考试 70%5第1章 微型计算机基础6主要内容:主要内容:l各种常用记数制和编码以及它们各种常用记数制和编码以及它们 相互间的转换;相互间的转换;l二进制数的算术运算和逻辑运算;二进制数的算术运算和逻辑运算;l符号数的表示及补码运算;符号数的表示及补码运算;l二进制数运算中的溢出问题二进制数运算中的溢出问题l微型机的构成及工作原理微型机的构成及工作原理71.1 计算
3、机中的数制与码制计算机中的数制与码制l了解了解l 特点;l 表示方法;l 相互间的转换。8一、常用计数法一、常用计数法 l十进制十进制符合人们的习惯符合人们的习惯l二进制二进制便于物理实现便于物理实现l十六进制十六进制便于识别、书写便于识别、书写l八进制八进制9进位计数制的一般表示进位计数制的一般表示一般地,对任意一个一般地,对任意一个K进制数进制数S都可表示为都可表示为120n 120111( ) nnknmmniiimSSKSKSKSKSKSK其中: K - 基数; si - si为系数(0si0 ,则则 X反反=X原原l 若若X0, 则则X补补= X反反= X原原l若若XX-2n-118
4、特殊数特殊数10000000l该数在原码中定义为:该数在原码中定义为: -0l在反码中定义为:在反码中定义为: -127l在补码中定义为:在补码中定义为: -128l在移码中定义为:在移码中定义为: 0l对无符号数:对无符号数:(10000000) = 128198位有符号数的表示范围:位有符号数的表示范围:l对对8位二进制数:位二进制数:l原码: -127 +127l反码: -127 +127l补码: -128 +127l移码: -128 +127l想一想:想一想:16位有符号数的表示范围是多少?位有符号数的表示范围是多少?202. 有符号二进制数与十进制的转换有符号二进制数与十进制的转换对
5、用补码表示的二进制数:对用补码表示的二进制数: 1)求出真值)求出真值 2)进行转换)进行转换21例例:l将一个用补码表示的二进制数转换为十进制数。将一个用补码表示的二进制数转换为十进制数。 1) X补补 = 0 0101110B 真值为:真值为:+0101110B 正数正数 所以:所以:X=+46 2) X补补 = 1 1010010B 负数负数 X = X补补补补 = 11010010补补 = - 0101110B 所以:所以:X = - 46223. 补码加减法的运算规则补码加减法的运算规则l通过引进补码,可将减法运算转换通过引进补码,可将减法运算转换为加法运算。规则如下:为加法运算。规
6、则如下:X+Y补补=X补补+Y补补 X-Y补补=X补补+ -Y补补 其中其中X,Y为正负数均可,符号位参与运算。为正负数均可,符号位参与运算。23例例:lX=-0110100,Y=+1110100,求求X+Y补补lX原原=10110100 lX补补= X反反+1=11001100lY补补= Y原原=01110100l所以:所以: X+Y补补= X补补+ Y补补 =11001100+01110100 =01000000244. 符号数运算中的溢出问题符号数运算中的溢出问题l进(借)位l在加法过程中,符号位向更高位产生进位;l在减法过程中,符号位向更高位产生借位。l溢出l运算结果超出运算器所能表示
7、的范围。25溢出的判断方法溢出的判断方法l方法:方法:l同号相减或异号相加不会溢出。l同号相加或异号相减可能溢出:n两种情况:两种情况:同号相加时,结果符号与加数符号相反溢出;异号相减时,结果符号与减数符号相同溢出。l方法方法: (双高位溢出判别双高位溢出判别)l两个带符号二进制数相加或相减时,若 C7C61, 则结果产生溢出。 C7为最高位的进(借)位;C为次高位的进(借)位。26例例:有符号数运算,有溢出表示结果是错误的有符号数运算,有溢出表示结果是错误的无符号数运算,有进位表示结果无符号数运算,有进位表示结果是是错误的错误的 1 0 1 1 0 1 0 1 + + 1 0 0 0 1 1
8、 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 + + 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 + + 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1CASE1:CASE2:CASE3:271.1.3 小数点问题小数点问题l1、定点表示法、定点表示法l2、 浮点表示法浮点表示法28浮点表示法浮点表示法将二进制数将二进制数N表示成如下形式:表示成如下形式: N=S2J该表达式在计算机中表示为:该表达式在计算机中表示为:lS - 尾数,一般以纯小数表示;尾数,一般以纯小数表示;lSf - 尾符
9、,即浮点数的符号;尾符,即浮点数的符号;lJ - 阶数,用整数表示;阶数,用整数表示;lJf - 阶符,即阶数符号;阶符,即阶数符号;JfJSfS291.1.4 信息的编码信息的编码l计算机中除了能够处理数值数据以外,还可以处理文字、语音、图像等各种信息,这些信息统称为非数值数据。l非数值数据在计算机中也必须以二进制形式二进制形式表示,非数值数据的表示本质上是编码的过程。30十进制数的表示十进制数的表示BCD码l用用4位二进制数表示一位十进制数。有两种表示法:位二进制数表示一位十进制数。有两种表示法:压缩压缩BCD码和非压缩码和非压缩BCD码。码。l压缩压缩BCD码的每一位用码的每一位用4位二
10、进制表示,位二进制表示,00001001表示表示09,一个字节表示两位十进制数。,一个字节表示两位十进制数。l非压缩非压缩BCD码用一个字节表示一位十进制数,高码用一个字节表示一位十进制数,高4位位总是总是0000,低,低4位的位的00001001表示表示09。3种种BCD码码BCD码在不同码制中所对应的十进制值8421码制2421码制余3码值0000B0001B0010B0011B0100B0101B0110B0111B1000B1001B1010B1011B1100B1101B1110B1111B0123456789-01234-56789-0123456789-32 ASCII码码l采用
11、采用7位二进制代码对字符进行编码位二进制代码对字符进行编码l数字数字09的编码是的编码是01100000111001,它们的高,它们的高3位均位均是是011,后,后4位正好与其对应的二进制代码(位正好与其对应的二进制代码(BCD码)码)相符。相符。l英文字母英文字母AZ的的ASCII码从码从1000001(41H)开始顺序)开始顺序递增,字母递增,字母az的的ASCII码从码从1100001(61H)开始顺)开始顺序递增,这样的排列对信息检索十分有利。序递增,这样的排列对信息检索十分有利。l最高位通常总为最高位通常总为0,有时也用作奇偶校验位。,有时也用作奇偶校验位。ASCII码码美国标准信息
12、交换代码34汉字编码汉字编码 l外部码外部码-数字码、音码、形码和音形码数字码、音码、形码和音形码 l内部码内部码l交换码交换码l输出码输出码 351.2 1.2 微型计算机的组成微型计算机的组成掌握掌握:l微型计算机的结构微型计算机的结构l微型机的工作原理微型机的工作原理36一、一、微型计算机的结构的结构微型计算机系统的三个层次微型计算机系统的三个层次 微处理器微处理器( (Microprocessor) ) 微型计算机微型计算机( (Microcomputer) 微型计算机系统微型计算机系统( (Microcomputer System)算逻运算器累加器寄存器控制器内部总线内存储器系统总线
13、I/O接口微型计算机系统微处理器外围备设系统软件微型计算机图1.1 微处理器、微型计算机和微型计算机系统三者关系38微型计算机系统的三个层次微型计算机系统的三个层次微处理器微处理器存储器I/O接口总线 硬件系统软件系统微微 型型计算机计算机系系 统统微微 型型计算机计算机( (主机主机) )外 设ALU寄存器控制器键盘、鼠标显示器软驱、硬盘、光驱 打印机、扫描仪系统软件应用软件39核心级核心级微处理器l微处理器简称微处理器简称CPU,是计算机的核心,是计算机的核心,主要包括:主要包括: 运算器运算器ALU 控制器控制器CU 寄存器组寄存器组Registersl实现运算功能和控制功能实现运算功能
14、和控制功能40硬件系统级硬件系统级微型计算机微型计算机l以微处理器为核心,配上只读存储器以微处理器为核心,配上只读存储器(ROM)、读写存储器读写存储器(RAM)、输入、输入/输出输出(I/O)接口电路及接口电路及系统总线等部件,就构成了微型计算机。系统总线等部件,就构成了微型计算机。l将将CPU、存储器、存储器、I/O接口、总线等集成在一接口、总线等集成在一片超大规模集成电路芯片上,称为单片微型计片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。算机,简称单片机。41系统级系统级l以以微型计算机微型计算机为中心,配以相应的为中心,配以相应的外围设备外围设备以以及控制微型计算机工作的及
15、控制微型计算机工作的软件软件,就构成了完整,就构成了完整的微型计算机系统。的微型计算机系统。l微型计算机如果不配有软件,通常称为裸机微型计算机如果不配有软件,通常称为裸机l软件分为系统软件和应用软件两大类。软件分为系统软件和应用软件两大类。42一、微型计算机的基本结构微处理器微处理器(CPU)存储器存储器 输入输入/输出接口输出接口总线总线1. 微型计算机的硬件系统微型计算机的硬件系统43微型计算机的概念结构存储器I/O接口输入设备I/O接口地址总线地址总线 ABAB输出设备CPU数据总线数据总线 DBDB控制总线控制总线 CBCBI/O接口44主机硬件系统CPUl计算机的控制中心,提供运算、
16、判断能力计算机的控制中心,提供运算、判断能力l构成:构成:ALU、CU、Registers(p29)例:Intel 8088、PIII、P4 AMD K7CPU的位数:4位、 8位、 16位、 32位是指一次能处理的数据的位数45主机硬件系统存储器l存放程序和数据的记忆装置存放程序和数据的记忆装置l用途:存放程序和要操作的各类信息用途:存放程序和要操作的各类信息(数据、文字、图像、。)(数据、文字、图像、。)l内存:内存:ROM、RAMl特点:随机存取,速度快,容量小l外存:磁盘、光盘、半导体盘、外存:磁盘、光盘、半导体盘、l特点:顺序存取/块存取,速度慢,容量大46 有关内存储器的几个概念l
17、内存单元的地址和内容内存单元的地址和内容l内存容量内存容量l内存的操作内存的操作l内存的分类内存的分类47内存单元的地址和内容l内存包含有很多存储单元内存包含有很多存储单元(每个内存单元包含每个内存单元包含8bit),为区,为区分不同的内存单元,计算机对每个内存单元进行编号,分不同的内存单元,计算机对每个内存单元进行编号,内存单元的编号就称为内存单元的地址内存单元的编号就称为内存单元的地址1 0 1 1 0 1 1 038F04H内存单内存单元地址元地址内存单内存单元内容元内容.7 6 5 4 3 2 1 048内存容量l内存单元的个数,以字节为单位。内存单元的个数,以字节为单位。l注意:注意
18、:内存空间内存空间与与内存容量内存容量的区别的区别 内存容量:某微机配置内存容量:某微机配置2条条128MB的的SDRAM内存条,内存条, 其内存容量为其内存容量为256MB 内存空间:又称为存储空间、寻址范围,是指微机的内存空间:又称为存储空间、寻址范围,是指微机的 寻址能力,与寻址能力,与CPU的地址总线宽度有关的地址总线宽度有关 49内存操作内存操作l读:将内存单元的内容取入读:将内存单元的内容取入CPUCPU,原单元内容不改变;原单元内容不改变;l写:写:CPUCPU将信息放入内存单元,单元中原内容被覆盖;将信息放入内存单元,单元中原内容被覆盖;l刷新:对刷新:对CPU透明,仅动态存储
19、器有此操作透明,仅动态存储器有此操作l内存的读写的步骤为:内存的读写的步骤为:lCPU把要读写的内存单元的地址放到AB上l若是写操作, CPU紧接着把要写入的数据放到DB上lCPU发出读写命令l数据被写入指定的单元或从指定的单元读出到DBl若是读操作, CPU紧接着从DB上取回数据50内存储器的分类内存储器的分类l读写存储器(读写存储器(RAMRAM)n可读可写可读可写n易失性,临时存放程序和数据易失性,临时存放程序和数据l只读存储器(只读存储器(ROMROM)n工作时只能读工作时只能读n非易失性,永久或半永久性存放信息非易失性,永久或半永久性存放信息51主机硬件系统输入/输出接口l简写为简写
20、为I/O接口,是接口,是CPUCPU与外部设备间的与外部设备间的桥梁桥梁CPUI/O接口接口外设外设52接口的功能l将微处理器和输入输出设备之间的信息将微处理器和输入输出设备之间的信息统一和联系起来。统一和联系起来。l提供驱动外设的电压或电流;提供驱动外设的电压或电流;l匹配计算机与外设之间的信号电平、速度、匹配计算机与外设之间的信号电平、速度、信号类型、数据格式等;信号类型、数据格式等;l缓存发给外设的数据、控制命令和外设提缓存发给外设的数据、控制命令和外设提供的运行状态信息;供的运行状态信息;53主机硬件系统总线总线BUSl连接多个功能部件的一组公共信号线连接多个功能部件的一组公共信号线l
21、地址总线地址总线AB:用来传送:用来传送CPU输出的地址信号,确输出的地址信号,确定被访问的存储单元、定被访问的存储单元、I/O端口。端口。地址线的根数地址线的根数决定决定了了CPU的寻址范围的寻址范围。 CPU的寻址范围的寻址范围 = 2n, n-地址线根数地址线根数l数据总线数据总线DB:在:在CPU与存储器、与存储器、I/O接口之间数据接口之间数据传送的公共通路。传送的公共通路。数据总线的条数数据总线的条数决定决定CPU一次最一次最多可以传送的数据宽度。多可以传送的数据宽度。l控制总线控制总线CB:用来传送各种控制信号用来传送各种控制信号542. 微型计算机的软件系统l软件:为运行、管理
22、和维护计算机系统软件:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序的或为实现某一功能而编写的各种程序的总和及其相关资料。总和及其相关资料。系统软件系统软件应用软件应用软件操作系统操作系统编译系统编译系统网络系统网络系统工具软件工具软件软件软件553. 个人台式计算机的硬件构成56二、计算机的工作过程存储程序计算机存储程序计算机l又称为冯诺依曼型计算机l数据和程序均以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式l程序由多条有逻辑关系的指令组成l指令的长度不等(一般为14字节)57存储程序计算机的工作原理存储程序计算机的工作原理l 程序预先存放
23、在计算机的存储器中,计算机按程序的流程自动地连续取出指令并执行之。l 为实现自动连续地执行程序,控制器设置一程序计数器PC,它可根据指令的长度自动增量(总是指向下一条指令)。只要给出程序中第一条指令的地址,控制器就可依据存储程序中的指令顺序周而复始地取指令、译码、执行,直到完成全部指令操作为止,即控制器通过指令流的串行驱动实现程序控制。58执行指令的三个基本步骤执行指令的三个基本步骤:取指、译码和执行取指、译码和执行取指令;取指令;PC增量,指向增量,指向下条指令下条指令停机停机?译码并执行译码并执行结束结束YN5960例:计算例:计算5+8(p35)汇编语言程序汇编语言程序对应的机器指令对应的机器指令 对应的操作对应的操作- - -MOV AL, 5 10110000 将立即数将立即数1传送到累加寄存器传送到累加寄存器AL中中 00000101ADD AL, 8 00000100 计算两个数的和,结果存放到计算两个数的和,结果存放到AL中中 00001000MOV 0008, AL 10100010 将将AL中的数传送到中的数传送到0008地址单元地址单元 00001000 00000000HLT 11110100 停机停机自学自学p35p39上述程序在计算机内部的执行过程。上述程序在计算机内部的执行过程。