微机原理ppt课件第1章微机原理与汇编语言.ppt
微机原理与汇编语言,授课班级:通信04级主讲教师:王言前 信电学院 2006.8,主要内容:,本课程紧密结合电子信息专业的特点,围绕微型计算机原理和应用主题,以Intel8086CPU为主线,系统介绍了微型计算机的基本知识、基本组成、体系结构、工作模式,介绍了8086CPU的指令系统、汇编语言及程序设计方法和技巧,存储器的组成和I/O接口扩展方法,微机的中断结构、工作过程,从而使学生能较清楚的了解微机的结构与工作流程,建立起系统的概念。 本课程系统介绍了微机中的常用接口原理和应用技术,包括七大接口芯片:并行接口8255A、串行接口8251A、计数器/定时器8253、中断控制器8259A、A/D(ADC0809)、D/A(DAC0832)、DMA(8237)、人机接口(键盘与显示器接口)的结构原理与应用。在此基础上,对现代微机系统中涉及的总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术作了简要介绍。,教学要求:,1.上课注意听讲,必要时应记笔记,课前需要预习,课下及时复习,充分利用课外参考资料和答疑解决学习中的困难。2. 按时交作业3. 实验必须按时上课,并完成教师布置的任务。,教学参考书: 1. 教材 周荷琴 吴秀清 编著 微型计算机原理与接口技术中国科学技术大学出版社 2. 郑学坚 周 斌 编著 微型计算机原理及应用 清华大学出版社 3. 刘乐善 主编 微型计算机接口技术与应用 华中理工大学出版社 4. 戴梅萼 史嘉权 编著 微型计算机技术及应用 清华大学出版社 5. 周明德 微型计算机系统原理及应用 清华大学出版社 6. 沈美明 温冬婵编著 IBM-PC汇编语言程序设计清华大学出版社(配套习题集) 7. 艾德才 主编 Pentium系列微型计算机原理与接口技术 高等教育出版社,学习微机原理与汇编语言的方法: 1. 掌握微机的基本结构与组成原理 2. 掌握微机的指令系统与编程方法 3. 掌握微机的时序,不懂时序,就无法真正掌握微机原理,难以充分利用微机。 4. 掌握微机硬件电路中的通用符号的意义。 5. 掌握微机外围接口芯片的原理与典型应用。 (锁存器、缓冲器、驱动器、定时/计数器、并行接口、串行接口、DMA、A/D、D/A、键盘、显示器、打印机等) 6. 掌握微机扩展的原理,注意学会主要信号的扩展方法,能够举 一反三。(如:片选、数据总线、地址总线、片内寻址、读/写控制线、地址锁存、时钟、复位、中断请求与响应等),第1章 微型计算机概述,1.1 微型计算机的发展概况 第一台电子计算机 1946年2月,美国宾夕法尼亚大学诞生了世界上第一台电子数字计算机:“埃尼阿克”(ENIAC,即Electronic Numerical Integrator and Calculator,电子数字积分计算机)。 重量30吨,占地150平方米,每小时耗电150千瓦,价值约40万美元。 采用18800只电子管,70000个电阻,10000支电容,研制时间近三年,运算速度为每秒5000次加减法运算。 ENIAC的不足:运算速度慢、存储容量小、全部指令没有存放在存储器中、机器操作复杂、稳定性差 。,按计算机应用,计算机发展可分为以下几个阶段:,(1)超、大、中、小型计算机阶段(1946年-1980年) 采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理。(2)微型计算机阶段(1981年-1990年) 微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。(3)计算机网络阶段(1991年至今) 计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。,微处理器的发展概况:,将传统计算机的运算器和控制器集成在一块大规模集成电路芯片上作为中央处理部件,简称为微处理器(Microprocessor)。微型计算机(简称微机)是以微处理器为核心,再配上存储器、接口电路、外围设备等构成的。 第一代微处理器:1971年Intel公司设计了4位微处理器4004、 4040和早期的8位微处理器8008。(集成度为:2000管/片,时钟频率为:1MHz,平均指令执行时间为20s,数据总线宽度:4位。 ) 第二代微处理器:1973年12月Intel公司研制成功了8080。(集成度为:5000管/片,时钟频率为:2-4MHz,平均指令执行时间为1-2s ,数据总线宽度:8位。 ),第三代微处理器:1978年制造了8086和1979年研制了8088,1983年又制造了全16位的80286。(集成度为:2-6万管/片,时钟频率为: 4-8MHz,平均指令执行时间为0.5s ,数据总线宽度:16位。 ) 第四代微处理器:1985年Intel公司制造出32位字长的微处理器80386。 (集成度为:27.5万管/片,时钟频率为: 12.5-33MHz,平均指令执行时间为0.1s ,数据总线宽度:32位)。1989年4月又研制成功80486。 第五代微处理器: 1993年3月Intel公司制造出Pentium(奔腾)微处理器; 1995年11月,推出了Pentium Pro,接着又推出了含有MMX(多媒体扩展指令集)功能的Pentium处理器P55C; 1999年11月推出P微处理器; 2000年11月,Intel推出更新的微处理器芯片P4。(目前市场上P4的集成度为:4200万管/片,时钟频率为:3GHz) 见教材P4 表1-1 此外,Motorola、Zilog等公司也推出了相应的产品。,1.2 微型计算机系统,1946年6月,美籍匈牙利科学家冯诺依曼(Johe Von Neumman)提出了“存储程序”的计算机设计方案。 其特点是: 采用二进制数形式表示数据和计算机指令。 指令和数据存储在计算机内部存储器中,能自动依次执行指令。 由控制器、运算器、存储器、输入设备、输出设备5大部分组成计算机硬件。 工作原理的核心是“存储程序”和“程序控制”。 按照这一原理设计的计算机称为冯诺依曼型计算机。 冯诺依曼提出的体系结构奠定了现代计算机结构理论的基础,被誉为计算机发展史上的里程碑。,冯诺依曼型计算机的结构:,一、微型计算机 微型计算机系统是由硬件和软件两部分组成。计算机的硬件由输入设备、输出设备、运算器、存储器和控制器部分组成。运算器和控制器组成了中央处理器(CPU,也称微处理器)。软件可分为系统软件和应用软件两大类。,微型计算机的硬件结构如下图所示。,中央处理单元:中央处理单元CPU(Control Processing Unit)是微型计算机的核心部件,是包含有运算器ALU、控制器、寄存器组以及总线接口等部件的一块大规模集成电路芯片,俗称微处理器。,微型计算机的软件系统,计算机的硬件和软件二者缺一不可,否则不能正常工作 。,二、存储器,功能:存储程序和数据。分类:超高速缓存、内部存储器(内存或主存)、外部存储器。存储器体系:存储器体系结构就是把速度不同、容量不同、存储技术也可能不同的存储设备分为几层,通过硬件和管理软件组成一个极有足够大的空间又能保证满足CPU存取速度而且价格适中的整体。,工作过程:为了解决存储器系统的容量、存取速度及单位成本之间的矛盾,在主存和CPU之间设置高速缓冲存储器Cache,在主存和外存之间设置辅存。 把正在执行的指令代码单元附近的一部分指令代码或数据从主存装入Cache中,供CPU在一段时间内使用,在一定容量Cache的条件下,我们可以做到使CPU大部分取指令代码及进行数据读写的操作都只要通过访问Cache,而不是访问主存而实现。 其特点是整个存储器系统的容量及单位成本能够主存相当,而存取速度可以与Cache的读写速度相当,这就很好地解决了存储器系统的上述三个方面性能之间的矛盾。 主存-辅存结构解决了存储器的大容量要求和低成本之间的矛盾,从整体看,其速度接近于主存的速度,其容量则接近于辅存的容量,而每位平均价格也接近于廉价的慢速的辅存平均价格。这种系统不断发展和完善,就逐步形成了现在广泛使用的虚拟存储系统。,任何程序如果想要取得CPU控制权都必须要先被装入内存,也就是说,要运行一个程序,必须先将它装入内存。 向存储单元保存信息的操作称作“写”操作,向存储单元获取信息的操作称作“读”操作,“读”、“写”时一般都以字节为单位。“读”操作不会影响存储单元中的信息,“写”操作将新的信息取代存储单元中原有的信息。1. 内部存储器 是计算机系统的内部存储部件,用于存放被运行的程序、程序所使用的原始数据、中间结果和最终结果等各种信息,是计算机系统的存储中心。 内存( Memory )直接和运算器、控制器交换信息。 (1)超高速缓存Cache (2)随机存取存储器(RAM):SRAM、DRAM (3)只读存储器(ROM):掩膜ROM、PROM、EPROM、E2PROM。,2. 外部存储器磁存储器: 硬磁盘、软盘。 一般1.44MB软盘的磁道为双面、每面有80个磁道,每个磁道为18个扇区,每个扇区有512个字节,存储容量为: 2面80磁道/面 18扇区/磁道 512字节/扇区= 1.44MB 硬磁盘一般为80-300GB,7200转/分。典型的硬盘接口有:IDE(PC机系统接口)、SCSI(小型计算机系统接口)、ESDI(增强型小型外设接口)、IPI(智能外设接口)。光存储器:光盘,650MB。U盘:闪存,64MB、128MB、256MB、512MB、1GB。3. 存储器组织8086:16位,两个存储体,奇偶地址分开。80386/486:四个存储体,尾地址00、01、10、11地址分开。,4.存储器的性能指标存储容量:是存储器系统的首要性能指标,因为存储容量越大,则系统能够保存的信息量就越多,相应计算机系统的功能就越强;存储器的存取速度:直接决定了整个微机系统的运行速度,因此,存取速度也是存储器系统的重要的性能指标;存储器的成本:也是存储器系统的重要性能指标。 为了在存储器系统中兼顾以上三个方面的指标,目前在计算机系统中通常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而其成本则接近廉价慢速的辅存平均价格。,三、 输入/输出接口电路 输入/输出接口电路也称为I/O(Input /Output)电路,即通常所说的适配器、适配卡或接口卡。它是微型计算机外部设备交换信息的桥梁。主要用于CPU与外设之间的数据格式转换、数据传输、速度匹配、电平匹配等。 只有通过输入/输出接口,外部设备才能从总线接收数据或者向总线上发送数据,才能从总线上接收控制信号或者发送控制和状态信号。举例来说,显示器连接到总线上需要显卡,音箱连接到总线上需要声卡,键盘连接到总线上需要键盘接口(现在的键盘接口是固化到主板上了,因为其结构较简单)。 主要接口芯片有:锁存器(273、373),数据缓冲器(244、245),可编程中断控制器8259A,可编程定时器/计数器8253,可编程并行接口(8255、8155),可编程串行接口8251,DMA控制器8237A,数/模转换器(ADC0809、ICL7135),模数转换器(DAC0832)等。,四、总线,连接计算机系统中其他主要功能部件的桥梁,是计算机系统中信息输送的枢纽,只有通过总线,计算机系统的各部件才能实现相互通信。总线标准: 物理特性:根数、插头、插座的形状、引脚排列; 功能特性:每根线的功能; 电器特性:每根线上信号的传送方向及电平规定; 时间特性:时序,每根线上信号何时有效。,总线的分类:(1)内部总线:微处理器内部各个器件之间传送信息的通路。(2)元件级总线:连接计算机系统中连各主要部件的总线。可分为:数据总线DB(Data Bus):用于CPU与主存储器、CPU与I/O设备之间传送数据。地址总线AB(Address Bus):用于CPU访问主存储器和I/O设备时,传送相关的地址。控制总线CB(Control Bus):用于传送CPU对主存储器和I/O设备的控制信号。(3)系统总线:微处理机机箱内的底板总线。可分为: ISA、EISA、VESA局部总线、PCI局部总线等。(4)外部总线:微机系统与系统之间、系统与外设之间的总线。常用的有:USB、EIA RS-232、IEEE-488、1394、RS485等。,总线的结构:(1)单总线结构 系统的内部存储器和I/O接口均挂在单总线上。 P12 图1-7(2)面向CPU的双总线结构 在CPU和主存储器之间, CPU和I/O设备之间分别设置一组总线。 P13 图1-8(3)面向主存储器的双总线结构 所有的部件和设备均挂在总线上,可以通过总线交换信息;同时,又在CPU和主存储器之间增加了一组高速存储总线。使CPU与主存储器之间可直接高速交换信息。P13 图1-9,五、计算机的性能指标,计算机的主要技术性能指标有主频、字长、内存容量、存取周期、运算速度及其他指标。 1.位(Bit):这是计算机中所表示的最基本、最小的数据单元(1位二进制数)。 2.字长:是指计算机的运算部件能同时处理的二进制数据的位数。字长决定了计算机的运算精度。 3.字节(Byte):是计算机中通用的基本单元,由8个二进制位组成。 4.字:是计算机内部进行数据处理的基本单位。 5.主频(时钟频率):是指计算机中时钟脉冲发生器所产生的频率。单位MHz。微机的运行速度与主频有关。 6.访存空间:是微处理器构成的系统所能访问的存储单元数。 7.内存容量:是指内部存储器中能存储的信息总字节数。以字节(Byte)为单位。 8.指令数:构成微型计算机的操作命令数。,9.基本指令执行时间:计算机执行一条指令所用的时间。 10.存取周期:主存储器完成一次“读”或“写”操作所需的时间称为存储器的存取周期(或读/写时间)。单位为纳秒(ns,1ns=10-9 s )。存取周期越短,计算机的运行速度就越快。 11.运算速度:运算速度微机每秒所能执行的指令数。这是个综合性的指标,单位为MIPS(百万条指令/秒)。影响运算速度的因素,主要是主频和存取周期,字长和存储容量也有影响。 12.可靠性:指计算机在规定时间和条件下正常工作不发生故障的概率。 (平均无故障工作时间MTBF)。 13.兼容性:指计算机硬件设备和软件程序可用于其他多种系统的性能。 (包括数据和文件的兼容、程序兼容、系统兼容和设备兼容) 14.性能价格比:是衡量计算机产品性能优劣的综合性指标。 15.其他指标:机器允许配置的外部设备的最大数、目计算机系统的汉字处理能力、数据库管理系统及网络功能等。,1.3 计算机数据格式,一、 计算机中的二进制 计算机中采用二进制是由计算机电路所使用的元器件性质决定的。计算机中采用了具有两个稳态的二值电路,二值电路只能表示两个数码:0 和 1,用低电位表示数码“0”,高电位表示数码“1”。 二进制特点:在计算机中采用二进制,具有运算简单、电路实现方便、成本低廉等优点。二、 进位计数制 1. 进位计数制: 进位计数制是人们利用符号来计数的方法。一种进位计数制包含一组数码符号和两个基本因素。(1)数码:用不同的数字符号来表示一种数制的数值,这些数字符号称为“数码”。(2)基:数制所使用的数码个数称为“基”。(3)权:某数制每一位所具有的值称为“权”。,2.常用进位计数制(1)十进制数码:0、1、 8、9 基数:10 逢10进1 位权: 10i (i=-2,-1,0,1,2,)(2)二进制 数码:0、1基数:2 逢2 进1 位权: 2i (i=-2,-1,0,1,2,)(3)八进制数码:0、1、 6、7基数:8 逢8进1 位权: 8i (i=-2,-1,0,1,2,)(4)十六进制数码:0、1、 8、9、A、B、C、D、E、F基数:16 逢16进1 位权: 16i (i=-2,-1,0,1,2,),3.书写格式:二进制: 10110.011B 或(10110.011)2 八进制: 375.4O 或(375.4)8 十进制: 36.82或36.82D 或(36.82)10 十六进制: DA01H或(DA01)16三、 进制之间的转换1. 二进制数、八进制数、十六进制数转换为十进制数方法:按权展开法。 把一个任意R进制数 bn bn-1 .b1 b0 b-1 b-2.b-m 转换成十进制数,其转换后十进制数结果为每一位数字与其位权之积的和。 bnRn+bn-1Rn-1+b1R1+b0R0+b-1R-1+b-2R-2+b-mR-m,2.十进制转化成 R 进制 整数部分:除以 R取余数,直到商为0,得到的余数即为二进数各位的数码,余数从右到左排列(从下到上)。 小数部分:乘以 R取整数,得到的整数即为二进数各位的数码,整数从左到右排列(从上到下)。3. 八进制和十六进制转化成二进制 每一位八进制数转化为三位二进制数,逐位展开。不够位在前面补“0”。 每一位十六进制数转化为四位二进制数,逐位展开。不够位在前面补“0”。4. 八进制与十六进制之间的转化十六-二-八:将十六进制先转化为二进制数,再将二进制数从小数点开始分别整数向左、小数向右每三位组成一组,不足三位在前面补“0”。八-二-十六:将八进制先转化为二进制数,再将二进制数从小数点开始分别整数向左、小数向右向每四位组成一组,不足四位补零。,四、 进制数的运算 1.算术运算加法: 0+0=0, 0+1=1+0=1 ,1+1=0(有进位)减法: 0-0=1-1=0 ,1-0=1, 0-1=1(向高位借位)乘法: 00=10=01=0, 11=1除法: 01=0 ,11=1 2. 逻辑运算或: 00=0, 01= 10=11=1与: 00=01=10=0, 11=1非 : =1 =0异或 : 00=11=0 ,01=10=1,五、 数值在计算机中的表示-码制 1. 原码 符号位:在最高位 。“0”-正数,用“1”-负数。 数值部分:用二进制的绝对值表示。 8位(一个字节)二进制数表示的范围:-127+127。 如:+105原=01101001 ,-105原=11101001 , +0原=00000000, -0原=10000000 2. 反码 原则:正数的反码与其原码相同。而负数的反码等于原码符号位不变,其余各位(尾数)求反。 8位(一个字节)二进制数表示的范围:-127+127。 如:+105反=01101001 -105反=10010110 +0反=00000000 -0反=11111111 3. 补码 原则:正数的补码与其原码相同。负数的补码是把其原码除符号位外的各位先求其反,然后在最低位加1。X-YX(Y的补码)X(Y的反码1) 用8位(一个字节)二进制数表示的范围:-128+127。 如:+105补=01101001 -105补=10010111 0补=00000000 -1补=11111111,六、 数值在计算机中的表示-定点数和浮点数 1. 定点数 在计算机中一个数的小数点的位置是固定的。 纯小数表示法:符号位.数值部分 整数表示法:符号位数值部分 2. 浮点数 在计算机中一个数的小数点的位置是浮动的。一个浮点数的表示分为阶码和尾数两个部分: NM2e 其中e是一个二进制整数,M是二进制小数,这里称e为数N的阶码,M称为数N的尾数,M表示了数N的全部有效数字,阶码e指明了小数点的位置。七、非数值信息在计算机中的表示 1. ASCII码 ASCII码(American Standard Code for Information Interchange)是美国信息交换标准代码的简称。,ASCII码占一个字节,标准ASCII码为7位(最高位为0),扩充ASCII码为8位。7位二进制数给出了128个编码,表示了128个不同的字符。其中95个字符可以显示。包括大小写英文字母、数字、运算符号、标点符号等。另外的33个字符,是不可显示的,它们是控制码,编码值为031和127。见教材P508 。 例如:A的ASCII码为1000001,十六进制表示为41H。回车符(CR)的ASCII码为0DH。空格的ASCII码为20H 09 :30H39H AZ :41H5AH az: 61H7AH,2. BCD码(二进制编码的十进制) BCD码用四位二进制数表示一位十进制数。可分为: 压缩BCD码:每个字节存储2位BCD码。 非压缩BCD码:每个字节存储1位BCD码。高位用“0”填充。 如: 十进制 二进制 压缩BCD码 非压缩BCD码 13 1101 00010011 0000 0001 0000 0011 165 1010 0101 00000001 01100101 0000 0001 0000 0110 0000 0101 3. 汉字交换码(1)区位码:GB2312-80“信息交换用汉字编码字符集”,组成一个9494的矩阵。每一行称为一个“区”,每一列称为一个“位”。一个汉字的区号和位号合在一起构成“区位码”。,(2)汉字交换码(国标码): 区位码(十进制)的两个字节分别转换为十六进制后加20H。 4. 汉字机内码 汉字机内码是计算机系统中对汉字的一种运行代码,系统内部的存储、传输都是对机内码进行的。它也和汉字存在着一一对应的关系。机内码也占两个字节,且最高位为1。同一个汉字,在同一种汉字操作系统中,内码是相同的。 汉字机内码是汉字交换码两个字节的最高位分别加“1”,即汉字交换码的两个字节分别加80H;或区位码(十进制)的两个字节分别转换为十六进制后加A0H。 无符号数:若欲处理的数全是正数,此时在保留符号位就没有意义了,可以将在高位作为数值处理(不再用作符号位),这样的数成为无符号数。8位无符号数的范围:028 -1 (255)。,作业: P20 3 4 9(2)(4) 11(2)(4),