微机原理与汇编语言授课班级,通信 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,平均指令执行时间为 20μs,数据总线宽度:
4位。 )
第二代微处理器,1973年 12月 Intel公司研制成功了 8080。
(集成度为,5000管 /片,时钟频率为,2----4MHz,平均指令执行时间为 1----2μs,数据总线宽度,8位。 )
第三代微处理器,1978年制造了 8086和 1979年研制了 8088,
1983年又制造了全 16位的 80286。(集成度为,2----6万管 /
片,时钟频率为,4----8MHz,平均指令执行时间为 0.5μs,
数据总线宽度,16位。 )
第四代微处理器,1985年 Intel公司制造出 32位字长的微处理器 80386。 (集成度为,27.5万管 /片,时钟频率为:
12.5----33MHz,平均指令执行时间为 0.1μs,数据总线宽度,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,也称微处理器)。软件可分为系统软件和应用软件两大类。
硬件微计算机外围设备微处理器内存储器
I/O接口电路系统总线外部设备过程 I/O通道硬件系统是由电子部件和机电装置所组成的计算机实体 。
硬件的基本功能是接受计算机程序,并在程序的控制下完成数据输入,数据处理和输出结果等任务 。
微型计算机的硬件结构如下图所示。
微处理器
CPU
存储器 RAM
接口电路时钟外存 I/O设备接口电路存储器 ROM
数据总线 DB( 双向 )
地址总线 AB( 单向 )
控制总线 CB
中央处理单元,中央处理单元 CPU( Control Processing Unit)
是微型计算机的核心部件,是包含有运算器 ALU,控制器,
寄存器组以及总线接口等部件的一块大规模集成电路芯片,
俗称微处理器 。
微型计算机的软件系统软件系统软件程序设计语言应用软件:软件包,数据库机器语言汇编语言高级语言监控程序操作系统编辑程序解释程序编译程序诊断程序软件系统是指为计算机运行工作服务的全部技术资料和各种程序 。 软件系统基本功能保证计算机硬件的功能得以充分发挥,并为用户提供一个宽松的工作环境 。
计算机的硬件和软件二者缺一不可,否则不能正常工作 。
二、存储器功能,存储程序和数据。
分类,超高速缓存、内部存储器(内存或主存)、外部存储器。
存储器体系,存储器体系结构就是把速度不同、容量不同、存储技术也可能不同的存储设备分为几层,通过硬件和管理软件组成一个极有足够大的空间又能保证满足 CPU存取速度而且价格适中的整体。
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 转换成十进制数,其转换后十进制数结果为每一位数字与其位权之积的和。
bn× Rn+bn-1× Rn-1+… +b1× R1+b0× R0+b-1× R-1+b-2× R-2+… +b-m× R-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(向高位借位)
乘法,0× 0=1× 0=0× 1=0,1× 1=1
除法,0÷ 1=0,1÷ 1=1
2,逻辑运算或 ∨,0∨ 0=0,0∨ 1= 1∨ 0=1∨ 1=1
与 ∧,0∧ 0=0∧ 1=1∧ 0=0,1∧ 1=1
非,=1 =0
异或 ⊕,0⊕ 0=1⊕ 1=0,0⊕ 1=1⊕ 0=1
0 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-Y= X+( Y的补码)= X+( Y的反码+ 1)
用 8位(一个字节)二进制数表示的范围,-128~ +127。
如,[+105]补 =01101001 [-105]补 =10010111 [0]补 =00000000 [-1]补 =11111111
六,数值在计算机中的表示 --定点数和浮点数
1,定点数在计算机中一个数的小数点的位置是固定的。
纯小数表示法,符号位,数值部分整数表示法,符号位数值部分
2,浮点数在计算机中一个数的小数点的位置是浮动的。一个浮点数的表示分为阶码和尾数两个部分:
N= M× 2e
其中 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个字符,是不可显示的,
它们是控制码,编码值为 0~ 31和 127。见教材 P508 。
例如,A的 ASCII码为 1000001,十六进制表示为 41H。回车符
( CR)的 ASCII码为 0DH。空格的 ASCII码为 20H
'0'~ '9',30H~ 39H
'A'~ 'Z',41H~ 5AH
'a'~ 'z?,61H~ 7AH
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“信息交换用汉字编码字符集”,组成一个 94× 94的矩阵。每一行称为一个“区”,每一列称为一个“位”。一个汉字的区号和位号合在一起构成“区位码”。
( 2)汉字交换码(国标码):
区位码(十进制)的两个字节分别转换为十六进制后加 20H。
4,汉字机内码汉字机内码是计算机系统中对汉字的一种运行代码,系统内部的存储、传输都是对机内码进行的。它也和汉字存在着一一对应的关系。机内码也占两个字节,且最高位为 1。同一个汉字,
在同一种汉字操作系统中,内码是相同的。
汉字机内码是汉字交换码两个字节的最高位分别加,1”,即汉字交换码的两个字节分别加 80H;或区位码(十进制)的两个字节分别转换为十六进制后加 A0H。
无符号数,若欲处理的数全是正数,此时在保留符号位就没有意义了,可以将在高位作为数值处理(不再用作符号位),这样的数成为无符号数。 8位无符号数的范围,0~ 28 -1 ( 255)。
作业:
P20 3
4
9( 2)( 4)
11( 2)( 4)