400 likes | 544 Views
微机原理及应用. 主讲 :. 王爱国. 微机原理及应用 - 课程介绍. 微机 : IBM PC 系列机. 原理 : 8088 汇编语言程序设计. 应用 : 半导体存储器及其接口 I/O 接口电路及其与外设连接. 硬件--接口电路原理 软件--接口编程方法. 微机原理及应用 - 参考文献. 钱晓捷 陈涛,微型计算机原理及接口技术, 北京:机械工业出版社, 1999.1 钱晓捷,汇编语言程序设计(第 2 版), 北京:电子工业出版社, 2003.6 扬季文等, 80X86 汇编语言程序设计教程, 北京:清华大学出版社, 1998.6
E N D
微机原理及应用 主讲: 王爱国
微机原理及应用-课程介绍 微机:IBM PC系列机 原理:8088汇编语言程序设计 应用:半导体存储器及其接口 I/O接口电路及其与外设连接 硬件--接口电路原理 软件--接口编程方法
微机原理及应用-参考文献 • 钱晓捷 陈涛,微型计算机原理及接口技术, 北京:机械工业出版社,1999.1 • 钱晓捷,汇编语言程序设计(第2版), 北京:电子工业出版社,2003.6 • 扬季文等,80X86汇编语言程序设计教程, 北京:清华大学出版社,1998.6 • 戴梅萼,微型计算机技术及应用, 北京:清华大学出版社,1991 • 扬素行,微型计算机系统原理及应用, 北京:清华大学出版社,1995 • Barry B.Brey著 陈谊等译, Intel系列微处理器结构、编程和接口技术大全 ——80X86、Pentium和Pentium Pro, 北京:机械工业出版社,1998.1
微机原理及应用-课程内容 章节目录 计划学时 第1章 微型计算机系统概述 6 第2章 微处理器指令系统 12 第3章 汇编语言程序设计 16 第4章 微处理器外部特性 6 第5章 半导体存储器及其接口 4 第6章 基本输入输出接口 6 第7章 中断控制接口 6 第8章 定时计数控制接口 6 第10章 并行接口 6
微机原理及应用-课程特点 专业技术基础课 硬件系列课程之一 • 计算机组成原理 • 微机原理及接口技术 • 计算机体系结构 特色 • 以技术为主 • 面向应用 • 软硬件相结合 课 程 特 点 区别
微机原理及应用-先修课程 数字逻辑 • 提供硬件基础 计算机组成原理 • 确立计算机部件功能 • 掌握计算机工作原理 高级语言程序设计 • 熟悉DOS环境程序设计的方法 • 掌握基本程序设计思想 先 修 课 程
第1章:微型计算机系统概述 教学重点 • 微型计算机的发展 • IBM PC系列机的主机板
第1章:1.1 微型计算机的发展和应用 • 1946年,世界上出现第一台数字式电子计算机ENIAC(电子数据和计算器) • 发展到以大规模集成电路为主要部件的第四代,产生了微型计算机 • 1971年,Intel公司设计了世界上第一个微处理器芯片Intel4004,开创了一个全新的计算机时代 • 微机发展的几项关键技术 以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心所构造出的计算机系统
第1章:1.1.1 微型计算机的发展 • 第1代:4位和低档8位微机 • 4004→4040→8008 • 第2代:中高档8位微机 • Z80、I8085、M6800,Apple-II微机 • 第3代:16位微机 • 8086→8088→80286,IBM PC系列机 • 第4代:32位微机 • 80386→80486→Pentium→Pentium II / III / 4 • 32位PC机、Macintosh机、PS/2机 • 第5代:64位微机 • Itanium、64位RISC微处理器芯片 • 微机服务器、工程工作站、图形工作站
第1章:1.1.2 微型计算机的应用 • 计算机应用通常分成如下各个领域 • 科学计算,数据处理,实时控制 • 计算机辅助设计,人工智能,…… • 由于微型计算机具有如下特点 • 体积小、价格低 • 工作可靠、使用方便、通用性强…… • 所以,可以分为两个主要应用方向
第1章:微型计算机应用的两个方向 • 用于数值计算、数据处理及信息管理方向 • 通用微机,例如:PC微机 • 功能越强越好、使用越方便越好 • 用于过程控制及智能化仪器仪表方向 • 专用微机,例如:工控机、单片机 • 可靠性高、实时性强 • 程序相对简单、处理数据量小 将CPU以及其他主要部件(如ROM、RAM、I/O接口)都集成在一个微处理器芯片中 例如:常用的MCS-51、MCS-96
微型计算机系统 微处理器 微型计算机 运算器控制器 寄存器组 内存储器 总线 输入输出输出 接口电路 外部设备 软件 第1章:1.2 微型计算机的系统组成 区别3个概念
第1章:1.3 IBM PC系列机系统 16位IBM PC系列机是32位微机的基础 8088CPU IBM PC机 IBM PC/XT机 IBM PC/AT机
第1章:1.3.1 硬件基本组成 16位PC机 32位PC机的基本部件相同
8259 中断控制器 只读存储器ROM 随机存储器 RAM 地址总线 I/O 通 道 地址锁存器 8087 协 处 理 器 8088 微 处 理 器 数据总线 数据收发器 控制总线 8288 总线控制器 8237 DMA控制器 8253 定时控制器 8255 并行接口 8284 时钟发生器 系统配置开关 键盘 接口 扬声器 接口 第1章:1.3.2 主机板组成 • 微处理器子系统 • 8088CPU:16位内部结构、8位数据总线、20 位地址总线、4.77MHz主频 • 存储器 • ROM-BIOS(基本输入输出系统)、主体为RAM • I/O接口控制电路 • 8259A、8253、8237A、8255等 • I/O通道 • 62线的IBM PC总线
000000H 系统RAM 640KB 0A0000H 显示RAM 128KB 0C0000H 常规内存 1MB 扩展ROM 128KB 0E0000H 保留ROM 64KB 0F0000H 基本ROM 64KB 100000H 扩展RAM ≈15MB 扩展内存 15MB FE0000H 保留ROM 64KB 基本ROM 64KB FFFFFFH 第1章:1.3.3 存储空间的分配 • 常规内存:1MB • 基本RAM区:640KB • 保留RAM区:128KB • 扩展ROM区:128KB • 基本ROM区:64KB • 扩展内存:用作RAM区
系 统 板 000-01F 020-03F 040-05F 060-07F 080-09F 0A0-0BF 0C0-0DF 0E0-0FF DMA控制器1 中断控制器1 定时计数器 并行接口电路 DMA页面寄存器 中断控制器2 DMA控制器2 协处理器 I/O 通 道 1F0-1F8 200-207 278-27F 2F8-2FF 378-37F 380-38F 3A0-3AF 3B0-3BF 3D0-3DF 3F0-3F7 3F8-3FF 硬盘适配器 游戏接口 并行打印机接口LPT2 串行通信接口COM2 并行打印机接口LPT1 SDLC通信接口 BSC通信接口 单色显示/打印机适配器 彩色图形适配器CGA 软盘适配器 串行通信接口COM1 第1章:1.3.4 I/O空间的分配 80x86访问外设时,只使用低16位A0~A15,寻址64K个8位I/O端口 PC机仅使用低10位A0~A9,寻址1024个8位I/O端口
第1章:1.4 计算机中的数据表示 请 大 家 复 习 掌 握 本 小 节 内 容 • 存储容量的表达 • 比特b(二进制1位) • 字节B (二进制8位) • 1KB=210B=1024B • 1MB=220B、1GB=230B • 进制的表示 • 二进制数用B或b结尾 • 十进制数可不用结尾字母, 也可用D或d结尾 • 十六进制数用H或h结尾
微机原理及应用-第0章教学要求 1.了解微机发展概况、熟悉典型微处理器和微机系统 2.明确微机两个应用方向、区别通用微机(PC机)和控制专用微机(单片机) 3.了解PC系列机的主机板、存储空间分配和I/O空间分配
第1章 微型计算机中的数据类型
数据类型 教学重点 • 数据在内存储器中的存储方式 • 整数
常用数据类型 • 80x86系列微机中,常用数据类型包括: • 带符号整数、无符号整数、BCD数、字符串、位、浮点数 • 数据在内存储器中的存储方式 • 内存的作用 • 用来存储参加运算的操作数、运算的中间结果和最后结果。 • 数据在内存中的存储 • 常以字节Byte为单位进行存储 • 两个相邻字节组成一个字Word,4个相邻字节为双字DWord
地址 数据1234 地址 数据3C5D7E9F M+2 xx M+4 xx 12 3C M+1 M+3 34 5D M M+2 xx 7E M-1 M+1 9F M 常用数据类型 • 多字节数据的存储采用高位字节在地址高的存储单元中,低位字节在地址号低的存储单元中的规则 • 举例:
常用数据类型 • 数的进位制表示约定 • 进位计数制 • 常用进位制有二进制、十六进制、十进制、八进制 • 不同进制的数常用后缀字母区别。H/h表示十六进制,B/b表示二进制,没有或D/d表示十进制,Q/q表示八进制。如1011B=(1011)2,A8H =(A8)16,61Q=(61)8 • 基数 • 某种进位计数制中所包含的数码个数就是该数的基数,如二进制为2,N进制为N。 • 基数体现了该数制中进位和借位的原则:当在某一位数上计够一个基数时需要向上进1,反之,从上位借1在下位当一个整基数来使用
常用数据类型 • 权 • 表示进位计数制中各个数位上的单位值。 • 权一般以基数幂的形式来表示,如:十进制数1111.11D,其中的各个1有不同的权重,从左到右分别为:103、102、101、100、10-1、10-2。 • 整数 • 整数分带符号数和无符号数两种 • 无符号数 • 指字节、字、双字的二进制位都用来表示数值本身,没有用来表示符号的位,因而为正整数。 • 其中0位为最低有效位,7、15、31分别为最高有效位。
MSB 7 0 字节 MSB 15 8 7 0 字 MSB 31 24 23 16 15 8 7 0 双字 m+3 m+2 地址 m+1 m 常用数据类型 • 无符号整数图示 128 10000000 32768 1000000000000000 1000000000000000 0000000000000000 2147483648
常用数据类型 • 带符号整数 • 带符号整数表示法有4种:原码、反码、补码及移码 • 原码 • 最高位表示数的符号位,常以0表示正数,1表示负数,其余各位表示数值本身,则称为原码表示法。 • 例如X=+1011100,Y=-1011100,则 [X]原=01011100, [Y]原=11011100。 • 是符号数值化的数,可在计算机中使用,称为机器数。原来的带符号数称为相应机器数的真值。 • 原码与真值之间的关系:
常用数据类型 • 正数的原码表示 • 设X=+Xn-2Xn-3…X1X0,[X]原=0 Xn-2Xn-3…X1X0 • 负数的原码表示 • 设X=-Xn-2Xn-3…X1X0,[X]原=1 Xn-2Xn-3…X1X0 = 2n-1+ Xn-2Xn-3…X1X0 =2n-1-( -Xn-2Xn-3…X1X0)= 2n-1-X • 零的原码表示 • 在二进制数原码表示中有正零和负零之分,即 • [+0]原=000…000, [-0]原=100…000 • 综上所述,有如下公式:
常用数据类型 • 补码和反码 • 补码:一个二进制数,若以2n为模,他的补码叫做2补码,简称补码,即 • 反码:一个二进制数,若以2n -1为模,他的补码叫做1补码,也称反码。即 • 补码和反码之间的关系 • X为正数时,[X]补=[X]反=[X]原=X • X为负数时,[X]反是将[X]原的符号位保持不变,其余各位变反; [X]补是将[X]原的符号位保持不变,其余各位变反加1。或采用带借位0减。 • 例如:
常用数据类型 若=+1010011B, X2=-1010011B,则 [X1]补= [X1]反= [X1]原=01010011B; [X2]原=11010011B,[X2]反=10101100B , [X2]补=10101101B 当X为+0时,则 [+0]补=2n+00…00=0 [+0]反= [+0]原= 00…00=0 当X为-0时,则 [-0]补=2n-00…00=0 [+0]反= 111…11
移码 • 移码是在数的真值上加一个偏移量形成的,他的定义为:[X]移=2n-1-1+X 2n-1≥X>-2n-1 • 其中X表示二进制数真值,n表示包括符号位和数值部分在内的二进制数位数,2n-1-1为偏移量。 • 例如:若X=+10010B=+18, Y=-10010B=-18,则[X]移=110001B,[Y]移=001101B。 • 100000 • 1 • 011111 • +10010 • 110001 • 100000 • 1 • 011111 • - 10010 • 001101 运算过程:
举例 • 假设数的原码、反码、补码表示形式均为10000010B,计算它们所对应的真值分别是多少? 其为原码表示时是:-2 其为反码表示时是:-125 其为补码表示时是:-126。即:减1变反
带符号数的运算 • 原码运算 • 与笔算过程相同,直观,但计算机实现复杂。浮点数的有效数字常用原码表示,二进制除法运算时,也多用原码表示。 • 补码运算 • 一方面可使符号位与数一起参加运算,另一方面可以将二数相减变为减数变补与被减数相加来实现。即:[X±Y]补=[X]补+[±Y]补其中 [-Y]补= [Y]变补 缺点:不符合人们的习惯。 [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补-[Y]补 [X-Y]补=[X]补+[-Y]补 [-Y]补=[Y]补+1(连同符号位取反加1)
带符号数的运算 • 反码运算 • 由于运算很不方便,已很少用在算数运算中,仅在求反逻辑运算时用。 • 移码运算 • 克服了补码表示与人们习惯表示法不一致的缺点,使最小的负数变为0,最大正数变为111…11。因而,采用移码表示数时可以很方便地判断其真值大小。常用在A/D、D/A转换器的双极性编码,也可用在浮点数的阶码中。 • 带符号整数格式见书5页表1.2
带符号数的运算举例 (1)87-73=? (2)87+(-73)=? 01010111 [+87]补01010111 [+87]补 - 01001001 [+73]补+10110111 [-73]补 00001110 [+14]补100001110 [+14]补 (3)87-(-73)=? (4)-87+(+73)=? 01010111 [+87]补10101001 [-87]补 - 10110111 [-73]补+ 01001001 [+73]补 -110100000 [-96]补11110010 [-14]补 (5)(-87)-73=? (6)(-87)-(-73)=? 10101001 [+87]补10101001 [-87]补 - 01001001 [+73]补- 10110111 [-73]补 -101100000 [+96]补11110010 [-14]补
无符号数运算 • 无符号数运算公式 • [X]补+[±Y]补=[X±Y]补 • 加法运算时,只要两数和的绝对值不超过整个字长,就不溢出,和为正数的补码形式,等于和的原码。 • 减法运算时,有如下两点: • 若X>=Y,则二者相减无借位,差值为正,X+[Y]变补的和必大于2n,最高位有进位,得到的和为正数[X-Y]的补码。等于[X-Y]原。 • 若X<Y,则二者相减有借位,差值为负,X+[Y]变补的和必小于2n,最高位无进位,得到的和为负数[X-Y]的补码。 • 判断结果是正还是负,需看相加后有无进位。有进位为正,否则为负数。
无符号数运算举例 例1 用补码进行下列运算:129-79;79-129。 X=129=10000001B,Y=79=01001111B [-Y]补=[Y]变补=10110001B 10000001 X +10110001 [-Y]补 100110010 [X-Y]补=[X-Y]原=50 (有进位,为正数) Y=129=10000001B,X=79=01001111B [-Y]补=[Y]变补=01111111B 01001111 X +01111111 [-Y]补 011001110 [X-Y]补=-50 (无进位,为负数)
小结 • 计算机对带符号与不带符号数处理方法一样。加法时,直接将二数相加即可。减法时,用减数变补与被减数相加实现。 • 结果的正负判别不同: • 若为带符号数,结果的正负以最高位来判别,为0是正数,为1是负数(不溢出)。 • 若为无符号数,加法的结果必为正数(不溢出);减法是以结果的最高位有无进位来判断,有进位为正数,无进位为负数。
课堂练习 设机器字长为8位,最高位是符号位,试对下列各算式进行 二进制补码运算,并判断结果的正负。 (1)(+62)+(+78) (2)(-53)+(-80) (3)(+72)-(-88) (4)(-93)-(+40) 答案: (1)-116 (2)123 (3)-96 (4)123 作业:P17 2、5(2)(4)(6)(8)