430 likes | 585 Views
第一章 微型计算机基础. 1.1 概述 1.2 计算机中的数制和编码 1.2.1 无符号数的表示及运算 1.2.2 带符号数的表示及运算 1.2.3 二进制编码 * 1.2.4 计算机的定点表示和浮点表示 1.3 微型计算机系统的组成、分类和配置 1.3.1 微型计算机系统的组成 1.3.2 微型计算机的分类. 第一章 微型计算机基础. 1.3.3 IBM PC 和 PC/XT 的配置 1.4 微处理器 1.4.1 Intel 8086/8088 *1.4.2 Intel 8087 协处理器
E N D
第一章 微型计算机基础 1.1 概述 1.2 计算机中的数制和编码 1.2.1 无符号数的表示及运算 1.2.2 带符号数的表示及运算 1.2.3 二进制编码 *1.2.4 计算机的定点表示和浮点表示 1.3 微型计算机系统的组成、分类和配置 1.3.1 微型计算机系统的组成 1.3.2 微型计算机的分类
第一章 微型计算机基础 1.3.3 IBM PC和PC/XT的配置 1.4 微处理器 1.4.1 Intel 8086/8088 *1.4.2 Intel 8087协处理器 *1.4.3 Intel 80286 *1.4.4 Intel 80386 *1.4.5 Intel 80486 *1.4.6 Pentium 系列微处理器
计算机的基本结构 • CPU(Central Processing Unit):即中央处理单元,是一台计算机的心脏,由运算器和控制器组成。 • 微处理器(Microprocessor):把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。(Pentium 芯片) • 微型计算机:以微处理器为核心,加上一定数量的存储器以及若干个外部设备,就构成了微型计算机。(PC机、单片机) • 微型计算机系统:以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。 • 微型计算机的三种形式:微处理器→微型计算机→微型计算机系统 1.1 概述
微处理器的发展史 1.第一代(1971~1973年)4位和低档8位微处理器 • 1971年:Intel 4004,是世界上第一片单片微处理器 4位微处理器,寻址空间为4096个半字节, 指令系统包括45条指令 • 1972年:Intel 8008,是世界上第一片8位微处理器。 8008采用了10m生产工艺,集成度为3500个晶体管,工作频率为200KHz。 1.1 概述
微处理器的发展史 • 第二代(1974~1978年)中高档8位微处理器 • 1974年:Intel 8080 采用了6m生产工艺,集成度为6000个晶体管,主频为2MHz。 • 1975年4月,MITS公司推出了以8080为CPU的世界上第一台个人计算机Altair 8800。 • 1976年:Intel公司生产的最后一种8位通用微处理器Intel 8085的工作频率提高到5MHz,指令系统的指令数上升到246条。 1.1 概述
微处理器的发展史 3.第三代(1978~1985年)16位微处理器 • 1978年—Intel 8086,采用了3m工艺,集成了29,000个晶体管,工作频率为4.77 MHz。它的寄存器和数据总线均为16位,地址总线为20位,从而使寻址空间达1MB。 • 1979年—Intel 8088,除了它的数据总线为8位以外,其余均与8086相同。8088采用8位数据总线是为了利用当时现有的8位设备控制芯片。由于8088内部支持16位运算,而与I/O之间传输为8位,故8088称为准16位微处理器。 • 1981年8月,IBM公司推出以8088为CPU的世界上第一台16位微型计算机IBM 5150 Personal Computer,即著名的IMB PC。 • 1985年IBM公司推出以80286为CPU的微型计算机IBM PC/AT,并制定了一个新的开放系统总线结构,这就是的工业标准结构(ISA)。 1.1 概述
微处理器的发展史 4.第四代(1985年以后)32位高档微处理器。 • 1985年—Intel 80386,第一个实用的32位微处理器。采用了1.5m工艺,集成了275,000个晶体管,工作频率达到16MHz。80386的内部寄存器、数据总线和地址总线都是32位的。通过32位的地址总线,80386的可寻址空间达到4GB。 • 1990年—Intel 80486,采用1m工艺,集成了120万个晶体管,工作频率为25MHz。 1.1 概述
微处理器的发展史 5.第五代(1993年以后)64位高档微处理器 • 1993年—Pentium(80586,P5)采用0.8m工艺技术,集成了310万个晶体管,工作频率为60MHz/66MHz。 • 1994年—Pentium MMX。 6.第六代(1995年以后)64位高档微处理器 • 1995年—Pentium Pro(80686,P6)、Pentium II、Pentium III、Pentium 4,采用0.6 m -0.18m工艺,集成度550万-750万晶体管,时钟频率166MHz-3.06GHz,采用二级高速缓存,2级超标量流水线结构,一个时钟周期可以执行3条指令。 • “Prescott”处理器-是英特尔首款采用0.09微米工艺生产的处理器,1兆的二级缓存,采用800MHz前端总线,集成经过改良的超线程技术(Hyper-Threading)。在其内部添加了13条新指令。时钟频率发布时为3.4GHz,之后,最高可达5GHz。 1.1 概述
数制 • 二进制数(以B结尾) • 十六进制数(以H结尾) • 十进制数(以D结尾) 注:数在机器中是用二进制表示的,但为了书写方便我们用十六进制表示,一个字节(8位二进制数)用两位十六进制数来表示。 例:10110011B=179D=B3H 自学:二进制的运算和数制之间的转换 1.2 计算机中的数制和编码
无符号数和带符号数 • 无符号数:无符号数的最高位不是符号位而是数值的一部分。 • 带符号数:把二进制数的最高一位定义为符号位,符号位为0表示正数,符号位为1表示负数。 • 符号位:如果是8位二进制数,则符号位是D7,如果是16位二进制数,则符号位是D15。 1.2 计算机中的数制和编码
带符号数的表示方法 • 除非特别声明,带符号数都默认由补码表示。 • 正数的补码和原码相同,负数的补码等于其对应正数的补码按位求反(包括符号位)再加1。 例: [-97]补=1001 1111 [-127]补=1000 0001 • 二进制补码表示的带符号数的真值的求法:正数的真值直接由补码求得;负数的真值须将负数的补码按位取反加1,得到真值的绝对值,然后再加上负号。 例:0111 1111=[+127]补 1000 0000=[-128]补 1.2 计算机中的数制和编码
带符号数和无符号数的关系 • 对于一个二进制数,到底是带符号数还是不带符号数,计算机是不知道的,完全由运算的人来确定,就是说,二进制数的含义是人为赋予的。由于采用了补码表示法,计算机在处理带符号数和不带符号数的运算时,处理方法完全一致,运算结果在其可以表示的范围内的总是正确。 1.2 计算机中的数制和编码
二进制编码 BCD码 • BCD有十个不同的数字符号,且是逢十进位的,但它的每一位是用四位二进制编码来表示的,因此称为二进制编码的十进制码。 • 注:BCD码和二进制码不能直接转换,而是要通过十进制码 例:(0111 0011)BCD=73D=0100 1001B 0111 0011B=115D=(0001 0001 0101) BCD 。 • 压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。例如:0111 0011 • 非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9。例如:0000 0011 1.2 计算机中的数制和编码
十进制数 8421BCD码 十进制数 8421BCD码 0 0000 8 1000 1 0001 9 1001 2 0010 10 0001 0000 3 0011 11 0001 0001 4 0100 12 0001 0010 5 0101 13 0001 0011 6 0110 14 0001 0100 7 0111 15 0001 0101 二进制编码 BCD编码表 1.2 计算机中的数制和编码
二进制编码 ASCII码 • 字母、数字、符号等各种字符都必须按照特定的规则用二进制编码才能在计算机中表示。ASCII码是一种全世界普遍采用的字符编码。 • ASCII码用7位二进制编码表示128种字符。 • 数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码相符。 • 英文字母A~Z的ASCII码从1000001(41H)开始顺序递增,字母a~z的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。 1.2 计算机中的数制和编码
二进制编码 附录1.1 ASCII(美国标准交换标准码)字符表(7位表) 1.2 计算机中的数制和编码
位、字、字节、双字和字长 • 位(bit)是计算机所能表示的最小最基本的数据单位,它指的是取值只能为0或1的一个二进制数值位。位作为单位时记作b • 字节(byte)由8个位二进制位组成,通常用作计算存储容量的单位。字节作为单位时记作B。 例如8086/8088有20位地址线,它的存储器寻址范围(容量)是220字节,记做1MB。 1K=1024=210;1M=1024K=220; 1G=1024M=230; 1T=1024G=240; 1KB=1K×8b • 字(word)是计算机内部进行数据传递的基本单位,它通常取决于微处理器内部通用寄存器的位数和数据总线的宽度。 1.2 计算机中的数制和编码
位、字、字节、双字和字长 • 字长是字所包含的二进制位数,即微处理器一次可以直接处理的二进制数码的位数。微处理器的字长有4位、8位、16位和32位等等。例如:8088称为准16位微处理器,而80386SX称为准32位微处理器。 • IBM PC/XT机规定: 字(W)=2字节=16位 双字(DW)=4字节=32位 四字(QW)=8字节=64位 1.2 计算机中的数制和编码
运算器 CPU 控制器 主机 存储器 寄存器 硬件 I/O接口 外部设备 微型计算机系统 系统软件 软件 应用软件 微型计算机的组成 图1.5 微型计算机的组成结构 1.3 微型计算机系统的组成、分类和配置
微型计算机硬件之一:CPU • 运算器(ALU):完成数据的算术和逻辑运算 • 控制器:一般由指令寄存器、指令译码器和控制电路组成。 • 寄存器:存放经常使用的数据,速度快。 1.3 微型计算机系统的组成、分类和配置
内容 地址 00000H 00001H …… 234FDH 1100 1111(CFH) …… FFFFFH 微型计算机硬件之二:存储器 • 用于存放数据和程序 • 内存单元的地址和内容: • 内存的操作:读和写 • 内存的分类:RAM和ROM 1.3 微型计算机系统的组成、分类和配置
微型计算机硬件之三和四:I/O接口及设备 • 输入设备:键盘、鼠标、扫描仪和A/D转换器等 • 输出设备:显示器、打印机和绘图仪等 磁盘、U盘等既是输入设备也是输出设备 • 输入设备和输出设备统称为外设 • 接口电路:I/O适配器 1.3 微型计算机系统的组成、分类和配置
地址总线 AB CPU I/O 接 口 输 出 设 备 I/O 接 口 存 储 器 输 入 设 备 数据总线 DB 控制总线 CB 微型计算机的外部结构 图1.7 微型计算机的外部结构框图 1.3 微型计算机系统的组成、分类和配置
总线 • 总线:连接微型计算机各个部件 • 地址总线 AB(Address Bus):地址总线的位数决定了直接寻址的地址空间的大小。地址空间的范围仅决定于地址线的位数,与数据总线的位数无关,在每一个内存单元中存放一个字节。例如32位地址线表示为A31-A0可以寻址的空间为232=4GB。单向总线,CPU 接口或存储器 • 数据总线DB(Data Bus):使得数据可以在CPU与I/O接口和CPU与存储器之间双向传输,双向总线CPU 接口或存储器 • 控制总线(Control Bus):用来传送各种控制信号,包括CPU送往存储器和输入输出设备的读、写、中断信号,还包括其它外设传送给CPU的时钟、中断请求和准备就绪信号。作为一个整体是双向的,每一根的方向是一定的单向的。 1.3 微型计算机系统的组成、分类和配置
地址总线 20位 AX AH AL 通 用 寄 存 器 BX BH BL ∑ 数据总线 8088:8位 8086:16位 CX CH CL DX DH DL 段寄存器 SP BP DI 总线 控制逻辑 SI 指令指针 外部 总线 ALU数据总线(16位) 运算寄存器 指令队列 Q总线 (8位) EU 控制系统 1 2 3 4 5 6 8088 执行单元EU 总线接口 单元BIU 8086 标志寄存器 ALU CS DS SS ES IP 内部暂存器 图1.9 Intel 8086/8088的功能结构 1.4 微处理器
图1.10 8086/8088的内部寄存器 1.4 微处理器
通用寄存器 • 数据寄存器AX,BX,CX,DX,AH,AL,BH,BL,CH,CL,DH,DL(16-8) 习惯:AX累加器Accumulator); BX基址寄存器; CX(Count)计数寄存器,循环-串操作; DX数据寄存器,I/O port, 双字除(H16); • 地址指针寄存器SP,BP: SP:Stack Pointer R, 堆栈指针寄存器 BP:Base PointerR,基址指针寄存器 • 变址寄存器SI,DI : SI:Source Index R,源变址寄存器 DI: Destination Index R,目的变址寄存器 1.4 微处理器
段寄存器和控制寄存器 • 段寄存器: CS:代码段寄存器 SS:堆栈段寄存器 DS:数据段寄存器 ES:附加数据段寄存器 • 控制寄存器IP:指令指针寄存器 FLAGS:标志寄存器 1.4 微处理器
标志寄存器FLAG 状态标志位:CF,PF,AF,ZF,SF,OF • CF进位标志位:当进行加法或减法运算时,若最高位发生进位或借位则CF=1,否则CF=0。 • PF奇偶标志位:当逻辑运算结果中“1”的个数为偶数时PF=1,为奇数时PF=0。 • AF辅助进位位:在8(l6)位加减法操作中,低4位向高4位有进位、借位发生 • ZF零标志位:当运算结果为零时ZF=1,否则ZF=0。 • SF符号标志位:当运算结果的最高位MSB为1时SF=1,否则SF= 0。 • OF溢出标志位:当算术运算的结果超出了带符号数的范围,即溢出时,OF= 1,否则OF=0。8位/16位带符号数范围 1.4 微处理器
进位标志位(CF)和溢出标志位(OF) • 进位和溢出是两个不同的概念,没用直接联系。 • 对于带符号数,如果8位运算的结果超出了范围(-128~+127),16位运算的结果超出了范围(-32768~+32767),则OF=1。 对于无符号数,如果8位运算的结果超出了范围(小于等于255),16位运算的结果超出了范围(小于等于65535),则CF=1。 • 当OF=0,表示机器计算的结果符合带符号数的计算结果。 当OF=1,表示机器计算的结果不符合带符号数的计算结果。 当CF=0,表示机器计算的结果符合无符号数的计算结果。 当CF=1,表示机器计算的结果不符合无符号数的计算结果。 • 机器进行运算时,并不知道是带符号数还是无符号数,会同时给出进位位和溢出位的值。 1.4 微处理器 1.4 微处理器
标志寄存器FLAG 控制标志位:TF,IF,DF • TF 跟踪标志位:TF= 1,使CPU处于单步执行指令的工作方式。这种方式便于进行程序的调试。每执行一条指令后,自动产生一次内部中断,从而使用户能逐条指令地检查程序。 • IF 中断允许标志位:IF= l使CPU可以响应可屏蔽中断请求。IF= 0使CPU禁止响应可屏蔽中断请求,IF的状态对不可屏蔽中断及内部中断没有影响。 • DF 方向标志位:DF= l 使串操作按减地址方式进行。也就是说,从高地址开始,每操作一次地址减小一次。DF=0使串操作按增地址方式进行。 1.4 微处理器
图1.12 8088的引脚 20根地址线A0~A19 8根数据线(D0~D7) 状态线( S3~S6) 剩余控制线 第六类 第四类 第三类 1.4 微处理器
8086/8088引脚分类 • 第一类 每个引脚只传送一种信息。32P---/RD。 • 第二类 每个引脚电平的高低代表不同的信号,例如IO/M#。 • 第三类 引脚在8086/8088的两种不同工作方式——最小模式和最大模式下有不同的名称和定义。例如:第29脚为/WR(/LOCK)。 • 第四类 每个引脚可以传送两种信息(分时复用)。这两种信息在时间上是可以分开的,因此可以用一个引脚在不同时刻传送不同的信息,一般称这类引脚为分时复用线。例如:AD7 ~AD。 • 第五类 引脚的输入和输出分别传送不同的信息,如RQ/GT0输入时传送总线请求,输出时传送总线请求允许。 • 第六类 电源/地Vcc/Vss(GND) 1.4 微处理器
8088的引脚 • AD7~AD0(输入/输出,三态) 低8位地址/数据复用线 • A15~A8 高8位地址输出线 • A19/S6、A18/S5、 A17/S4、 A16/S3 (输出,三态) 地址/状态复用线 • RD (输出,三态) 读选通信号 • READY (输入) 准备就绪信号 • INTR (输入) 可屏蔽中断请求信号 1.4 微处理器
8088的引脚 • TEST(输入) 检测输入信号 • NMI(输入) 非屏蔽中断输入信号 • RESET(输入) 复位输入信号 • CLK (输入) 时钟输入信号 • MN/MX 最小/最大模式输入信号 • VCC 电源引脚 • GND 接地信号 1.4 微处理器
8086/8088的工作状态 • 根据8086所连存储器或外设的规模,8086可分为最大组态和最小组态。在两种组态下,引脚24至31具有不同的名称和意义,由引脚MN/MX来规定处于哪种组态。 • MN/MX端接+5V,决定了8086工作在最小模式,如果接地,则工作在最大方式。 • 最小方式适用于由单微处理器组成的小系统。在这种系统中, 8086/8088CPU直接产生所有的总线控制信号,因而省去了总线控制逻辑。 1.4 微处理器
8086/8088的最小工作模式 锁存器: 74LS373 i8282/8283 (双向) 缓冲器 74LS245 i8286/8287 1.4 微处理器
最小组态时24~31引脚 最小组态时,24~31引脚的意义: • IO/M(输出,三态) 存储器访问还是I/O访问 • WR (输出,三态) 写选通信号 • INTA (输出) 中断响应信号 • ALE (输出) 地址锁存信号 • DT/R (输出,三态) 数据传送信号 • DEN (输出,三态) 数据允许信号 • HOLD (输入) 总线请求信号 • HLDA (输出) 总线请求响应信号 • SS0 (输出) 状态输出信号 1.4 微处理器
8086/8088的最大工作模式 1.4 微处理器
最大组态时24~31引脚 • S2、S1、S0(输出,三态) 状态线 • RQ/GT0、RQ/GT1 (输入,输出) 请求/允许CPU让出总线 • LOCK (输出,三态) 总线锁存信号 • QS1、QS0 (输出) 指令队列状态信息输出 1.4 微处理器
8086和8088引脚的区别 1.4 微处理器
存储器 FFFFFH 64KB 码段 段寄存器 CS SS DS ES 89250H 偏移地址 00000H 8086/8088的存储器管理 物理地址:89250H 段基址:8915H(段寄存器) 偏移地址:0100H 逻辑地址:8915H:0100H 8905H:0200H 堆栈段 数据段 附加段 1.4 微处理器
重点和难点 • 计算机中常见的数制及其转换 • 二进制编码(BCD码和ASCII码) • 带符号数的补码表示 • 标志寄存器 • 最大模式和最小模式 • 存储器管理