首页 微机原理要点

微机原理要点

举报
开通vip

微机原理要点 第一章、微型计算机基础概论 知识点 1:(掌握)数制及数制之间的转换。 常用计数制——十进制数 ①具有 10 个数字符号 0,1,2,3,· · ·,9; ②由低位向高位进位是按“逢 10 进 1”的规则进行的; ③基数为 10,第 i 位的权为 10i。其中 i=n,n-1,· · ·,2,1,0,-1,- 2,· · · 规定整数最低位的位序 号 i=0。  例:(6543.21)10 =6543.21D =6×10 3 + 5×102 + 4×101 + 3×100...

微机原理要点
第一章、微型计算机基础概论 知识点 1:(掌握)数制及数制之间的转换。 常用计数制——十进制数 ①具有 10 个数字符号 0,1,2,3,· · ·,9; ②由低位向高位进位是按“逢 10 进 1”的规则进行的; ③基数为 10,第 i 位的权为 10i。其中 i=n,n-1,· · ·,2,1,0,-1,- 2,· · · 规定整数最低位的位序 号 i=0。  例:(6543.21)10 =6543.21D =6×10 3 + 5×102 + 4×101 + 3×100 + 2×10-1 + 1×10-2 常用计数制——二进制数 ①具有 2 个数字符号 0,1; ②由低位向高位进位是按“逢 2 进 1”的规则进行的; ③基数为 2,第 i 位的权为 2i。其中 i=n,n-1,· · ·,2,1,0,-1,-2,· · · 规定整数最低位的位序号 i=0。  例:(1010.101)2 =1010.101B=1×2 3+0 ×22 + 1×21 + 0×20 + 1×2-1 + 0×2-2 + 1×2-3 常用计数制—十六进制数 ①具有 16 个数字符号 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F; ②由低位向高位进位是按“逢 16 进 1”的规则进行的; ③基数为 16,第 i 位的权为(16)i。其中 i=n,n-1,· · ·,2,1,0,-1,-2,· · · 规定整数最低位的 位序号 i=0 。  例:(19BF.ABE)16 =19BF.ABEH=1×16 3+ 9× 162+ 11×161+ 15×160+ 10×16-1+ 11×16-2+ 14×16-3 数制之间的转换 二进制、十六进制转换为十进制,按权展开求和。 ① 10101.101B = 1 ×24 + 1×22 + 1×20 + 1×2-1 + 1×2-3 ② 19B.ABH = 1×162+ 9× 161+ 11×161+ 10×16-1+ 11×16-2 十进制转换为二进制,整数部分——除 2 取余法,小数部分——乘 2 取整法。 23 .625D = 11101. 101B 整数部分除 2 取余法 余数 低 23÷2 = 11 „„ 1 11÷2 = 5 „„ 1 5÷2 = 2 „„ 1 2÷2 = 1 „„ 0 1÷2 = 0 „„ 1 高 所以我们可以得到:23D = 10111B 小数部分乘 2 取整法 整数 高 0.625×2 = 1.250 „„ 1 0.25×2 = 0.5 „„ 0 0.5×2 = 1.0 „„ 1 低 所以我们可以得到:0.625D = 0.101B 十进制转换为十六进制,先将十进制转换为二进制,再将二进制转换为十六进制。 0001 1101 1010 1100 . 1010 1000 1 D A C . A 8 知识点 2:(掌握)原码、反码、补码及运算法则。 无符号数:如果把全部有效位都用来表示数的大小,即没有符号位,这种方法表示的数,叫无符号数。 有符号数:用 0 表示正数,用 1 表示负数,这种表示数的方法,称为有符号数。 把符号位值化了的数称为机器数,如 00010101 和 10010101,而把原来的数值称为机器数的真值,如 +00101010 和-0010101。 原码:机器数最高位是符号位,数值部分为真值的绝对值。 反码:正数的反码同原码,负数反码符号位不变,数值部分为真值绝对值按位取反。 补码:正数的补码同原码,负数补码为其反码加 1。[X]补=[X]反+1。 真值 +0 -0 +42 -42 +127 -127 原码[X]原 00000000 10000000 00101010 10101010 01111111 11111111 反码[X]反 00000000 11111111 00101010 11010101 01111111 10000000 补码[X]补 00000000 00101010 11010110 01111111 10000001 由反码和补码求原码:[ [X]反]反=[X]原 ,[ [X]补]补=[X]原 。 由于没有数的补码为 10000000,即在补码中 10000000 空出来没有定义,故我们将 10000000定义为-128, 这也是为什么补码的表示范围要比原码和反码多出一个数。 8 位 16 位 原码[X]原 -127~+127 -32767~+32767 反码[X]反 -127~+127 -32767~+32767 补码[X]补 -128~+127 -32768~+32767 课后练习: 1、 微型计算机由哪四部分组成? 2、 系统总线由哪三部分总线组成? 3、 一个字节能表示的无符号数范围?一个字节能表示的有符号数的范围? 4、 为什么引入补码概念? (1)符号位能和有效数值部分一起参加运算。 (2)使减法运算转化为加法运算。 5、 在计算机中是如何进行加/减法和乘/除法运算的? 6、 举例说明什么情况下会发生溢出? P35 页的 3、4、7、8 题 第二章、微型计算机基础 知识点 1:8088/8086 CPU 的构成。 8086/8088 微处理器 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 成两个独立的功能部件: (1)执行部件 EU;(2)总线接口部件 BIU。 EU 和 BIU 能相互独立地工作,能使大部分的取指令和执行指令重叠进行。 EU 完成操作: 1)算术运算和逻辑运算; 2)按指令的寻址方式计算出 16 位的偏移地址,并将它送到 BIU 中形成 20 位的实际地址。 BIU 完成操作: 1)取指令时,从存储器指定地址取出指令送入指令队列排队; 2)执行指令时,根据 EU 命令对指定存储单元或 I/O 端口存取数据。 知识点 2: 14 个 16 位寄存器 通 用 寄 存 器 组 数 据 寄 存 器 AX AH AL 累加器 乘法/除法指令,作累加器;I/O 操作时, 作数据寄存器 用于存放数据和 地址。可以拆分成 AH、AL、BH、BL、 CH、CL、DH、DL 来存放 8 位数据, 可以独立寻址,独 立使用。 BX BH BL 基址寄存器 间接寻址中作为基址寄存器和变址寄存 器 CX CH CL 计数寄存器 循环程序中,作循环次数计数器 DX DH DL 数据寄存器 I/O 指令间接寻址时,作为地址寄存器; 乘法指令中作为辅助累加器 地址指 针及变 址寄存 器 SP 堆栈指针 堆栈操作中,作为堆栈指针 可以存放数据,通 常用来存放逻辑 地址的偏移量,是 形成 20 位物理地 址的其中一部分。 BP 基址指针 间接寻址中,作为基址寄存器 SI 源变址指针 间接寻址时,作为地址寄存器或变址寄存 器;串操作指令中作为源变址寄存器 DI 目的变址指针 间接寻址时,作为地址寄存器或变址寄存 器;串操作指令中作为目的变址寄存器 知识点 3:标志寄存器。 状 态 标 志 OF 溢出位 (Overflow) 当运算过程产生溢出时,OF=1 时。算术溢出是指算术运算的结果超出了机器 所能表达的数的范围。 OF=1 的情况: 加法:次高位向最高(符号)位进位,最高位向前无进位;次高位向最高(符号) 位无进位,最高位向前进位; 减法:最高(符号)位向前借位,次高位向最高位无借位;最高(符号)位向前无 借位,次高位向最高位借位。 即最高位和次高位不同时进位或者借位时,OF 就等于 1。 SF 符号标志位 (Sign) 它的值与运算结果的最高位相同。SF=1 表示运算结果为负数;SF=0 表示运算 结果为正数。 ZF 零标志位 (Zero) ZF=1 表示运算结果为零;ZF=0 表示运算结果不为零。 AF 辅助进位 (Auxiliary Carry ) 对于 8 位的运算而言,AF=1 表示在低位数的 D3 向 D4产生了一个进位或借位 信号;AF=0 时表示此位上无进位或借位产生。通常用于对 BCD 码算术运算结 果的调整。 PF 奇偶位 (Parity) PF=1:指令执行的结果低字节含偶数个 1;PF=0:运算结果低字节含奇数个 1。 这个标志位可用来检查在数据传送过程中是否发生错误。 CF 进位标志位 (Carry Flag) CF=1 时,表明指令执行后的结果在最高位(字节操作时的 D7 位,字操作时的 D15 位)向前产生了一个进位或借位;CF=0 时,则无进位或借位产生。该标志 主要用于多字节数的加减法运算。 控 制 标 志 DF 方向标志位 DF=1 时,CPU 将以数据串递减的顺序(即地址由高向低)对数据串中的数据进 行处理;若 DF=0,则将以递加(即地址由低向高)的顺序对数据进行处理。 IF 中断允许标志 若将 IF=1,则处理器允许接受外部可屏蔽中断发来的中断请求; IF=0 时,CPU 不能接受外部可屏蔽中断发来的请求. TF 跟踪标志位 将 TF 置成 1 时,处理器处于单步工作方式; 当 TF=0 时,8086CPU 将正常地执行程序。 快速记忆:oszapc,位置 4 位一记。 快速记忆:dit。 知识点 4:8086/8088 存储器组织。 CPU 内部所有寄存器和 ALU 都是 16 位的,寻址范围最多为 64KB,不能直接寻址 1M 内存空间。那么 16 位字长的机器里用什么办法提供 20 位地址? 控制寄存器 组 IP 指令指针 总是自动指向下一次所要取出的指令的地址偏移量。 CPU 会自动修改其中的值,程序不能直接对它进行修改。 FLAG 标志寄存器 9 个标志位:6 个状态标志位,3 个控制标志位。 由 EU 设置,反映 ALU 算术或逻辑运算结果的某些特征 段寄存器组 CS 代码段寄存器 指向当前的代码段,指令由此段 中取出 8086/8088 把可直接寻址 的 1M 字节的内存空间, 分成称为“段”的逻辑区 域,每个“段”的物理长 度为 64K,而段的起始地 址由 4 个“段寄存器”决 定。 DS 数据段寄存器 指向当前的数据段 SS 堆栈段寄存器 存放当前的堆栈段的段基址 ES 附加段寄存器 存放附加数据段的段基址,在进 行字符串操作时,作为目的地址 使用 采用存储器地址分段的办法解决。 我们编程时可把存储器划分成段,每段最大可寻址 64KB,这样段内地址可用 16 位表示。8086/8088 把 1M 存储空间分成若干逻辑段,每段最多为 64KB,各逻辑段的起始地址叫基址;段内任意一个存储单元的 地址,可用相对于基址的偏移量来表示,称为段内偏移地址。 在 1MB 的存储器中,每一个存储单元都有一个唯一的 20 位地址,称为该存储单元的物理地址(又叫 实际地址)。逻辑地址,由两部分组成:段基址和偏移量。 程序中不能使用 20 位的物理地址,而使用 16 位逻辑地址。20 位物理地址由 16 位段地址和 16 位偏移 地址形成。 物理地址= 段基址×10H(左移 4 位并补 0)+偏移地址。 物理地址是唯一的,但同一个物理地址可以有多个逻辑地址。 前面提到的四个段寄存器 CS、DS、SS 和 ES,有各自的用途:  取指令码时用 CS:IP  堆栈操作时用 SS:SP 知识点 5:8086/8088CPU 的引脚及功能 8086/8088CPU 有两种工作方式:最大模式与最小模式,分别对应:单机系统与多机系统。最小模式下, 单机系统控制信号由 CPU 提供。最大模式下,系统控制信号由专用芯片(常用 8288 总线控制器)提供。 以下是 8086 和 8088CPU 的外部引脚。 8086/8088CPU 在最小模式中引脚定义。 1. AD0~AD15 地址/数据(Address Data Bus)双向,三态,分时复用,传送地址时三态输出;传送数据时 双向三态输入/输出。在一个总线周期的第一个时钟周期里,它们表示低 16 位地址线。 2. A19/S6~A16/S3 地址/状态(Status)输出,三态,分时复用,在总线周期 T1 内,它们是用来输出要访问 的存储器地址的高 4 位 A19~A16;在总线周期的其他时间内,这 4 条线作为输出 CPU 的状态信息。 S6=1 则使 8086/8088 总线浮空,让另外的总线主模块可以取得系统总线的控制权。S6=0 表示这片 8086/8088 连在总线上。 S5 表示状态标志寄存器中的中断允许标志位(IF)的状态. S4 和 S3 组合值用来指示当前正在使用哪个段寄存器。 S4 S3 0 0 附加分段 ES 0 1 堆栈分段 SS 1 0 代码分段 CS 或无分段 1 1 数据分段 DS HappySS 高亮 HappySS 文本框 三态性防止总线冲突 HappySS 高亮 3. BHE/S7 高 8 位数据允许/状态信号(Bus High Enable/Status)输出,三态,BHE 保持低电平,这时数据 在总线的高 8 位上传送。该信号与 AD0 一起,产生存储器的选择逻辑信号。 BHE AD0 总线有效数据 0 0 16 位数据进行字传送 0 1 高 8 位数据总线上字节传送 1 0 低 8 位数据总线上字节传送 1 1 无效 4. MN/MX 最大最小工作模式选择(Minimun/Maximun)输入,当 MN/MX 引脚为高电平时,CPU 工作于 最小模式,单机系统控制信号由 CPU 提供。当 MN/MX 引脚为低电平时,CPU 工作于最大模式,可构成多 机系统,系统控制信号由专用芯片(常用 8288 总线控制器)提供。 5. RD 读选通信号(Read),三态,输出,低电平有效,表示 CPU 正在读存储器或 I/O 端口输入 6. WR 写选通信号(Write),三态,输出,低电平有效,表示 CPU 正在执行存储器或 I/O 的写操作 7. M/IO 存储器/IO 端口控制信号(Memory/Input and Output) 存储器/IO 控制信号,高电平表示访问 I/O, 低电平表示访问存储器。 8. DT/R 数据收发信号(Data Transmit/Receive)输出,用其控制数据的传送方向。此引脚为高电平,则 CPU 发送数据,完成写操作;反之,CPU 从外部接收数据,完成读操作。 9. DEN 数据允许信号(Data Enable)输出,表示 CPU 准备好接受和发送数据。 10. ALE 地址锁存允许信号(Address Latch Enable)输出,低电平有效,CPU 在每个总线周期 T1 发出的, 高电平表示当前地址/数据复用线上输出的是地址信息。 11. INTA 中断响应信号(Interrupt Acknowledge)输出,是 CPU 对外设的中断请求的回答信号。 12. TEST 测试信号(Test)输入,当 CPU 执行 WAIT 指令时,每隔 5 个时钟周期对次引脚测试一次,是高电 平时,CPU 继续等待,直到出现低电平,CPU 才开始执行下一条指令。 13. READY 准备就绪信号(Ready)输入,是由所访问的存储器或 I/O 设备发来的响应信号,高电平表示数 据已经准备就绪,马上可以进行一次数据传送。CPU 在总线周期 T3,对 READY 进行采样。 14. RESET 复位信号(Reset)输入,高电平持续 4 个时钟周期以上有效。复位后,FR、IP、DS、SS、ES 和 指令队列清零,CS=FFFFH、IP=0000H 。 15. NMI 非屏蔽中断请求(Non-Maskable Interrupt Request)输入,上升沿触发,当该引脚输入一个由低电 平变高电平的信号时,CPU 会在执行完当前指令后,响应中断请求。不受 IF 影响,不能用指令加以屏蔽。 16. INTR 可屏蔽中断请求信号 (Interrupt Request)输入,当此引脚为高电平时,表示外设提出中断请求。 CPU 在每一条指令的最后一个时钟周期对 INTR 进行测试。 17. HOLD 总线保持请求信号(Hold Request)输入,系统中其他总线主控部件向 CPU 发出的请求占用总线 的申请信号。 18. HLDA 总线保持响应信号(Hold Acknowledge)输出,CPU 对请求占用总线使用权的响应信号。 8086/8088CPU 在最大模式中引脚定义。8086/8088CPU 的最大最小模式下,有 8 个引脚具有不同的功能。 1. QS1和 QS0指令队列状态信号(Instruction Queue Status)输出,这两个信号组合起来提供了 8086 内部 指令队列的状态,以便外部对其动作进行跟踪。 QS1 QS0 队列操作 0 0 空操作 0 1 取走指令的一个字节 1 0 队列空 1 1 取出的字节是指令的后续字节 2. S2、S1、S0总线周期状态信号(Bus Cycle Status)这三个状态信号组成的编码表示了当前总线周期是何 种操作周期。 S2 S1 S0 总线周期 0 0 0 发中断响应信号 0 0 1 读 I/O 端口 0 1 0 写 I/O 端口 HappySS 高亮 HappySS 铅笔 HappySS 铅笔 0 1 1 暂停 1 0 0 取指令 1 0 1 读存储器 1 1 0 写存储器 1 1 1 无源状态 3. RQ/GT1 和 RQ/GT0总线请求信号(Request/Grant)输入时指其他主控者向本 CPU 请求使用总线,输出 时表示本 CPU 对总线请求的响应信号。请求输入和响应输出在同一引脚上传递,两个引脚可以同时与两个 主控者相连。其中 RQ/GT0 的优先级高于 RQ/GT1 。 4. LOCK 总线封锁信号(Lock)输出,三态,低电平有效。当此信号有效时,CPU 不允许其它主部件占有总 线。可通过指令实现总线锁定。另外,在 8086 的两个中断响应脉冲之间(INTA),LOCK 信号自动变为有效 电平,以使在中断响应过程不被间断。 知识点 6: 8088 与 8086CPU 的不同之处 8086 和 8088 的内部数据总线宽度均为 16 位,8086 外部数据总线宽度为 16 位,而 8088 外部数据总线 宽度为 8 位。8088CPU 的内部结构及外部引脚功能与 8086CPU 大部分相同。二者的主要不同处如下: (1)8088 的指令队列长度是 4 个字节,8086 的指令队列长度是 6 个字节。 (2)8088 外部数据总线只有 8 条,所以分时复用的地址/数据总线为 AD7~AD0;而 AD15~AD8 成为仅传递 地址信息的 A15~A8。 (3)8088 中用 IO/M 信号代替 M/IO 信号。 (4)8088 中,只能进行 8 位数据传输,BHE 信号不需要了,改为 SS0,与 DT/R 和 IO/M 一起决定最小模 式中的总线周期操作。 IO/M DT/R SS0 含义 0 0 0 取指令 0 0 1 读存储器 0 1 0 写存储器 0 1 1 无源状态 1 0 0 发出中断响应信号 1 0 1 读 I/O 端口 1 1 0 写 I/O 端口 1 1 1 暂停 知识点 7:8086 存储器的分体结构 BHE A0 读/写的字节 0 0 高低两个字节 0 1 奇数地址的高位字节 1 0 偶数地址的低位字节 1 1 不传送 8086 系统中,1MB 的存储器空间分成两个存储体:偶地址存储体和奇地址存储体,各为 512KB。分体 结构设计的原因在于:8086 既可以对字节,也可对字进行存取。由 BHE 和 A0一起决定读/写的字节。 8086CPU 访问存储器时,都是以字为单位进行,并总是从偶地址开始,即使是访问一个字节也是先读 取一个字再选择高位字节或低位字节; 一个字或字节的保存可以从偶地址开始,也可从奇地址开始。在执行传输指令时,若被存取的字从偶 地址开始保存,则 BIU 只要执行一个总线周期就可完成存取。若被存取的字从奇地址开始保存,则要执行 两个总线周期 ,第一个总线周期存取低位字节,第二个周期存取高位字节。 HappySS 高亮 HappySS 高亮 HappySS 高亮 HappySS 高亮 HappySS 铅笔 HappySS 铅笔 HappySS 铅笔 HappySS 铅笔 HappySS 铅笔 知识点 8:8086/8088 系统配置 最大模式与最小模式,分别对应:多机系统与单机系统。最小模式下,单机系统控制信号由 CPU 提供。 最大模式下,系统控制信号由专用芯片(常用 8288 总线控制器)提供。 1. 最小模式下系统的典型配置 在最小模式系统中,除了 8088CPU,存储器及 I/O 接口芯片外,还要加入:  1 片 8284A,作为时钟发生器。  3 片 8282/8283 或 74LS373,作为地址锁存器。  1 片 8286/8287 或 74LS245,作为双向数据总线收发器。由于 8086CPU 外部数据宽度为 16 位,故 需要 2 片 8286/8287 或 74LS245 作为双向数据总线收发器。 8088 地址和数据复用一组总线 AD7~AD0,在与存储器或 I/O 交换数据时,8088 在总线上先送出地址, 经过两个时钟周期后在相同总线上进行数据传送。由于总线在传送数据时,仍需保持地址信号,因此要加 入地址锁存器,将总线上的地址信息锁存。8088CPU 驱动数据的负载能力有限,当挂在数据总线上的部件 增加时,可以利用双向数据总线收发器来增加驱动能力。总线驱动器既有双向的,也有单向的。8088 与内 存和 I/O 接口之间的数据传送是双向的,所以要求总线驱动器是双向的,能在两个方向上进行数据传送。 这种总线驱动器有时也称为总线收发器。 2. 最大模式下系统的典型配置 在最大模式系统中,地址总线和数据总线与最小模式系统相同,增添一个 8288 总线控制器使 CPU 能支持系统总线上的多个处理器。由总线控制器提供所有的总线控制信号和命令信号。此外 CPU 的部分引 脚也进行了重新定义以支持多处理机工作方式。8288 总线控制器利用 CPU 输出的 S2、S1、S0 状态信号来产 生总线周期所需的全部控制和命令信号。 HappySS 高亮 知识点 9:8086/8088CPU 的工作时序 1. 时钟周期:CPU 时钟频率的倒数,也称 T 状态。显然时钟周期越短,CPU 执行的速度就越快。 2. 总线周期:CPU 通过总线对存储器或 I/O 端口进行一次访问(读/写操作)所需的时间称为一个总线 周期;一个总线周期至少包括 4 个时钟周期,即 T1、T2、T3、T4。 3. 指令周期:指计算机完成一条指令的执行所需要的时间,它包含一个或多个总线周期。 最小模式下读操作总线周期的时序描述(以从存储器读数据为例): 1) T1 周期。IO/M 变低,CPU 将对内存进行操作(若 IO/M 变高,CPU 将对 I/O 口进行操作)。AD0~AD7、 A8~A15、A19/S6~A16/S3 上出现地址信号。ALE 上出现正脉冲信号,控制锁存器将地址信号锁存。 DT/R 变低,表明数据收发器处于接受状态。 2) T2 周期。A19/S6~A16/S3 上出现状态信号。AD0~AD7 变高阻态,为读取数据做准备。RD 变低,发 给内存, 表明 CPU 将进行读操作。DEN 变低,允许数据收发器进行数据传送。 3) T3 周期。数据由指定内存单元送出,AD0~AD7 上出现数据信号。 4) T4 周期。RD 变高,CPU 从数据线上读数据。DEN 变高,数据收发器与总线断开。AD0~AD7 变成高 阻态。 最小模式下写操作总线周期的时序描述(以把数据写入 I/O 口为例): 1) T1 周期。IO/变高,CPU 将对 I/O 端口进行操作。若端口地址为 8 位 AD0~AD7 上出现地址信号,若 端口地址为 16 位 AD0~AD7、A8~A15 上出现地址信号。ALE 上出现正脉冲信号,控制锁存器将地址 信号锁存。DT/R 变高,表明数据收发器处于发送状态。 2) T2 周期。A19/S6~A16/S3 上出现状态信号。AD0~AD7 上出现数据信号。WR 变低,发给 I/O 端口, 表明 CPU 将进行写操作。DEN 变低,允许数据收发器进行数据传送。 3) T3 周期。继续提供状态信号 S6~S3,数据信号 D7~D0,并维持有关控制信号不变。 4) T4 周期。WR 变高,将数据线上的数据发送到指定 I/O 端口中。DEN 变高,数据收发器与总线断开。 AD0~AD7 变成高阻态。 课后练习: 1、8086CPU有多少根数据线?多少根地址线?能寻址的存储器空间是多少?能寻址的 I/O空间是多少? 2、8086CPU 内部有多少个寄存器?哪几个段寄存器?哪几个地址寄存器?哪几个数据寄存器?哪些寄 存器程序员可以使用?哪些寄存器程序员可以使用但无法修改其内容? 3、假如 CS=2400H,IP=2l00H,其物理地址是多少?逻辑地址 2400H:2l00H 所在段的起始地址是多少? 末地址是多少? 4、一个内存单元可以存放几个字节的数据?一个字在内存中是如何存放的? 5、8086CPU 从功能上分为几部分?各部分由什么组成?各部分的功能是什么? 6、什么是物理地址?物理地址与逻辑地址的关系?假如 CS=2400H,IP=2l00H,其物理地址是多少? 作业题:P92 页的 2、5、8、10、11 题 HappySS 高亮 HappySS 矩形 HappySS 文本框 非重点,了解 HappySS 矩形 第五章、存储器系统 知识点 1:存储器分类 存储器可分为内部存储器和外部存储器。  内存/主存——存放当前运行的程序和数据。  特点:存取速度快、容量小、随机存取、CPU 可直接访问。  材料:通常由半导体存储器构成。  分类:RAM、ROM。  外存/辅存——存放非当前使用的程序和数据。  特点:存取速度慢、容量大、顺序存取/块存取、需调入内存后 CPU 才能访问。  材料:通常由磁、光存储器构成,也可以由半导体存储器构成。  分类:磁盘、磁带、CD-ROM、DVD-ROM、固态盘、U 盘。 半导体存储器分类: (1)随机存取存储器(RAM)——存取速度高,集成度低,功耗大,成本高。用于速度较高的场合。CPU 既可读出其数据也可写入数据,但其保存的信息断电后丢失。常用于存放中间结果或用户应用程序。  静态 RAM(SRAM):只要电源存在,数据可长期保留。价格高,容量小。  动态 RAM(DRAM):存储记忆单元由电容实现,电容电荷易泄漏,须定时刷新(补充泄漏 的电荷)。价格便宜,容量大。  DRAM 与 SRAM 比较,集成度高,功耗小,但要增加刷新操作,使用较复杂。小系统时多 使用 SRAM;大系统则多使用 DRAM。 (2)只读存储器(ROM)——CPU 只能读出其数据不能写入新数据,或可以写入但写入速度很慢(相对于 读出)。其保存的信息断电后不丢失。常用于存放固定的程序或参数表,如微机开机的引导程序等。  掩模 ROM:生产时写入内容,用户只能读但不能改变。  可编程的只读存储器 PROM:由用户编程写入(只能一次)。  可擦除的 EPROM:紫外线擦除后可再写。  电可擦除的 EEPROM:电写入及电擦除。  闪存 Flash Memory:在线快速擦除重写。 知识点 2:存储器的主要性能指标  存储容量(S):一个存储器中可以容纳的存储单元总数(存储单元总数×存储字长),存储容量的单 位有 B/K/M/G/T 等。存储容量反映了存储空间的大小。  存取时间(T):又称存储器访问时间,是指从启动一次存储器操作到完成该操作所经历的时间,单 位为 ns(纳秒)。与系统命中率有关。  单位容量价格(C) 知识点 3:存储器的地址译码方式 CPU 访问内存时,首先要选择存储芯片,即片选。然后再从该芯片中依地址码选择出相应的存储单元, 以进行数据存取,即字选。其中片选由地址译码方式来完成,方法有三种:线性译码方式,全译码方式, 部分译码方式。 无论 ROM或 RAM芯片,芯片引脚都包括地址线、数据线、读/写控制线和片选 CS线,只有片选信号 CS有效时,才能对该芯片进行操作。 1. 线性译码方式:高位地址线不经过译码,直接(或经反相器)分别接各存储器芯片的片选端来区别 各芯片的地址。它的优点是电路最简单,节省译码电路 但缺点是地址分配重叠,且地址空间不连续。适用 于在存储容量较小且不要求扩充的系统中。 2. 全译码方式:片内寻址未用的全部高位地址线都参加译码,译码输出作为片选信号。全译码的优点 是每个芯片的地址范围是唯一确定,而且各片之间是连续的,便于内存扩充。缺点是译码电路比较复杂。 3. 部分译码方式:将高位地址的一部分经过译码产生片选信号,它是前两种方式的混合。部分译码的 HappySS 高亮 HappySS 高亮 HappySS 高亮 HappySS 高亮 HappySS 高亮 HappySS 文本框 随时读写 HappySS 高亮 HappySS 矩形 HappySS 文本框 随时读,有条件的时候写 HappySS 矩形 HappySS 下划线 HappySS 下划线 HappySS 下划线 HappySS 下划线 HappySS 下划线 HappySS 下划线 HappySS 下划线 HappySS 下划线 HappySS 下划线 HappySS 下划线 HappySS 波浪线 HappySS 文本框 (即二进制位数) HappySS 文本框 P205 HappySS 文本框 会设计会看图 可寻址空间比线性译码方式可选择范围大,比全译码方式的地址空间小。部分译码方式的译码电路较全译 码简单,但地址扩展受到一定的限制,并且存在地址重叠区。 知识点 4:存储容量的扩展 由于单片存储器芯片的存储容量有限,故微机中的内存储器由若干芯片组成。 CPU 的地址总线和数据 总线与各种不同的存储器芯片的连接方法有:字扩展,位扩展。 字扩展 ——扩展存储单元的个数(扩展长度) 位扩展 ——扩展每个存储单元的位数 (扩展宽度) 字位扩展——两者的综合(扩展宽度和长度) 字扩展是指增加存储单元的数量,如图由 2 片 EPROM 芯片 2716(2K*8bit)组成 4K*8bit 的存储器,即 存储器的容量增加到原来的两倍是一种字扩展方式。 位扩展是指增加存储器的字长即通过增加存储芯片的方法来实现其与宽数据位数 CPU 的连接。如图由 4 片 2716 可构成 4K*16 的存储器。 字位扩展根据内存容量及芯片容量确定所需存储芯片数;进行位扩展以满足字长要求;进行字扩展以 满足容量要求。上图即是将 4 片 2716(2K*8bit)组成 4K*16 的存储器。其中为了扩展字长,需要 2 片 2716 组成 2K*16 的存储器,为了扩展容量,需要两组 2K*16 的存储器组成 4K*16 的存储器,即共需要 4 片 2716。 课后练习: 1 微型计算机中常用的存储器有哪些?它们各有什么特点?分别适用于哪些场合? 2 什么是存储器的位扩展和字扩展?它们分别用在什么场合?利用 1024×4 的 RAM 芯片构成 4KB 的存 储器:需要多少片该芯片?需要分成多少组? 3 存储器的地址译码有几种方式?各自的特点是什么? 4 试说明存储器系统的主要性能指标。 5 存储器的哪一部分用来存储程序指令及像常数和查找表一类的固定不变的信息?哪一部分用来存储 经常改变的数据? 6 “ ROM 是只读存储器”这种说法正确吗?正确的说法应该怎样? 7 试画出容量为 2K*8Bit 的 RAM 连接图(CPU 用 8088,RAM 用 2114,RAM 地址区为 0800H~0FFFH)。 8 分析课件“地址范围分析举例(例 1、例 2)”的地址范围。 作业题:P229 页的 2、6、12 题 第三章、8086/8088 指令系统 知识点 1:指令 指令:控制计算机完成某种操作的命令。 指令格式:操作码 [目的操作数],[源操作数] 指令中的操作数类型: 1.立即数操作数:立即数是指具有固定数值的操作数,即常数。在指令中,立即数只能作为源操作数。 例:MOV AX,1234H。 2.寄存器操作数:参加运算的数存放在指令给出的寄存器中。即可以作为源操作数也可以作为目的操作 数。例:MOV AX,BX。 3.存储器操作数:参加运算的数据存放在内存中。即可以作为源操作数也可以作为目的操作数。例: MOV AX,[1200H]。 知识点 2:8 种寻址方式 数据和指令在存储器中存放的位置称为地址。存放操作数的地址称为操作数地址。寻址方式是指令中 说明操作数所在地址的方法。 操作数的偏移地址称为有效地址 EA(Effective Address),即从段的首地址到操作数所在地址的距离。 有效地址可以由三种成分组成: (1)偏(位)移量(displacement)是存放在指令中的一个 8 位、16 位数,但它不是立即数,而是一个地址。 (2)基址(base)是存放在基址寄存器(BX 和 BP)中的内容。它是有效地址中的基址部分,通常用来指向数据 段中数组或字符串的首地址。 (3)变址(index)是存放在变址寄存器(SI 和 DI)中的内容。它通常用来访问数组中的某个元素或字符串中的 某个字符。 例:假设 BX = 1000H,SI = 2000H,以下指令的有效地址为多少? MOV AX,[2500] EA=2500H MOV AX,[BX] EA=基址寄存器 BX 中的值 1000H MOV AX,[SI] EA=变址寄存器 SI 中的值 2000H MOV AX,100H[BX][SI] EA=100H+[BX]+[SI]= 3100H 基址寄存器(BX 和 BP)和变址寄存器(SI 和 DI)简称为间址寄存器。 8 种寻址方式如下: 立即寻址 MOV AL,80H 只针对源操作数 直接寻址 MOV AX,[2000H] 数据的存放地址由指令直接给出 寄存器寻址 MOV AX,BX 寄存器间接寻址 MOV AX,[BX] 这两条方式中的寄存器只允许为间址寄存器。选择 SI,DI,BX 作间址寄存器时,段基地址由 DS 决定;选择 BP 作间址寄存器时,段基地址由 SS 决定。 寄存器相对寻址 MOV AX,20H[BX] 基址变址寻址 MOV AX,[BX][SI] 这两种方式由一个基址寄存器和一个变址寄存器相加。 若用 BX 作基址寄存器,段基地址由 DS 决定;若用 BP 作 基址寄存器,段基地址由 SS 决定。不允许将两个基址寄 存器或两个变址寄存器组合在一起寻址。 基址变址相对寻址 MOV AX,20H[BX][SI] 隐含寻址 MUL BL 将一个操作数隐含在指令码中的寻址方式就称为隐含寻 址。 HappySS 高亮 知识点 3:指令系统 数据传送指令 传送指令 MOV DST,SRC 指令指针 IP 及代码段寄 存器 CS 不通过 MOV 修 改,即不能作为目标操 作数。标志寄存器 FLAG 整体不作为操作数。 堆栈操作指令 PUSH SRC POP DST 入 栈 SP-2→SP SRC 低 8 位→(SP) SRC 高 8 位→(SP+1) 堆栈操作总是按字进行。 PUSH 指令的源操作数为:16 位通用寄存器、段寄存器或存 储器中的数据字,但不能是立即数。 POP 指令的目的操作数为:16 位通用寄存器、段寄存器或存 储单元,但 CS 不能作为目的操作数。 出 栈 (SP)→DST 低 8 位 (SP+1)→DST 高 8 位 SP+2→SP 交换指令 XCHG OPR1,OPR2 OPR1 与 OPR2 的内容互 换。操作数长度必须相 同。 在通用寄存器之间或者在通用寄存器和存储器之间交换信 息,不允许使用段寄存器。即该指令的两个操作数中必有一 个在通用寄存器中,不能同时为存储器。 I/O 指令 直 接 寻址 IN AL,N IN AX,N OUT N,AL OUT N,AX 只限于使用累加器 AX 或 AL 传送信息。传送指令均不影响标 志位。端口号可以用八位立即数 N 直接给出,也可以将端口 号事先安排在 DX 寄存器中,间接寻址 16 位端口。直接寻址, 可寻址 0~255 个端口;间接寻址,可寻址 64K 个端口。 间 接 寻址 IN AL,DX IN AX,DX OUT DX,AL OUT DX,AX 取偏移地址指令 LEA DST,SRC 将存储器操作数的 16 位偏移地址送到指定寄存器。 源操作数 SRC 必须必须为存储器操作数,目标操作数必须为 16 通用寄存器。因该 寄存器通常用来作为地址指针,故最好选用四个间址寄存器之一。 入栈和出栈操作示意图: 乘法运算举例:若 AL=96H,BL=12H; ① MUL BL; ② IMUL BL。 分析: ①无符号数 AL=96H,BL=12H; 96H × 12H= 0A8CH ②有符号数 AL=96H, 由[ [X]补]补=[X]原可知 AL 的真值为[96H]补=-6AH BL=12H,BL 的真值为+12H 计算(-6AH) ×(+12H)=-774H 最后结果用补码表示,即 AX=[-774H]补=[1000 0111 0111 0100B]补=1111 1000 1000 1100B=F88CH 除法运算举例:①若 AX=9FF0H,BL=F7H; 执行 DIV BL; ②若 AX=D99FH,BL=9FH ; 执行 IDIV BL。 分析: ①无符号数 AL=9FF0H,BL= F7H; 9FF0H÷F7H = BDA5H ②有符号数 AL= D99FH, 由[ [X]补]补=[X]原可知 AL 的真值为[D99FH]补=-2661H BL= 9FH,BL 的真值为-61H; 计算(-2661H)÷(-61H)=65H„„(-1CH),由余数符号总是与被除数符号相同故余数为-1CH 最后结果用补码表示,即 AL=[65H]补=65H,AH=[-1CH]补=E4H AX=E465H 存 储 器 立即数 通 用 寄 存 器 段寄存器 HappySS 高亮 算术运算指令 加 法 加法指令 ADD DST,SRC SRC+DST→DST 将源操作数与目标操作数相加,结 果保留在目标中,对 6 个状态标 志位都会产生影响。 源操作数可以是通用寄存器、存储器操作数或立即 数;目标操作数不能是立即数,且不允许两个操作数 同时为存储器操作数。 带进位加法指令 ADC DST,SRC SRC+DST+CF→DST 主要用于多字节运算。 与 ADD 指令在功能、格式及对标志位的影响上基本 相同,只是 CF 也要参加运算。 加 1 指令 INC OPR OPR+1→OPR 将目标操作数当作无符号数完成 加 1 操作,结果保留在目标中。 影响 AF,OF,PF,SF,ZF,不影响 CF。 目标操作数可以使用通用寄存器或存储器,但不允许 是立即数。 减 法 减法指令 SUB DST,SRC DST-SRC→DST 将目标操作数减去源操作数,结果 保留在目标中。 对操作数的要求和对标志位的影响与ADD指令相同。 带借位减法指令 SBB DST,SRC DST-SRC-CF→DST 与 SUB 指令在功能、格式及对标志位的影响上基本 相同,只是 CF 也要参加运算。 减 1 指令 DEC OPR OPR-1→OPR 对操作数的要求和对标志位的影响与 INC 指令相同。 求补指令 NEG OPR 0-OPR→OPR 用于对操作数取补。对一个负数取 补码就相当于用零减去该数。对 6 个状态标志位都会产生影响。 OPR=0,CF=0;否则 CF=1。 OPR=80H(-128)或 8000H(-32768), OF=1;否则 OF=0。 目标操作数可以是通用寄存器和存储器,但不允许是 立即数。 因为用零减去某个操作数,自然会产生借位,故执行 指令后,一般情况下都会使 CF=1。除非操作数为零 才不会产生借位,则 CF=0。 如果操作数的值为 80H 或 8000H,则执行求补指令 后,结果不变,因此令 OF=1,其他情况下 OF=0。 比较指令 CMP DST,SRC DST-SRC 与 SUB 指令一样执行减法操作, 但它并不保存结果。 CMP 指令后往往跟着一条条件转 移指令,根据比较结果产生不同的 程序分支。 对操作数的要求和对标志位的影响与 SUB 指令相同。 两数是否相等用 ZF 判断。ZF=1 时,DST = SRC。 无符号数比较用 CF 判断。 CF=0 且 ZF=0 时,DST > SRC。 有符号数则用 SF、OF 结合判断。 OF=SF 且 ZF=0 时,DST > SRC。 乘 法 无符号乘法指令 MUL SRC SRC*AL→AX(SRC 是字节数据) SRC*AX→(DX,AX)(SRC 是字数据) 字运算的结果存放在 DX,AX 中,其 中 DX 存放高位字,AX 存放低位 字。指令中的源操作数可以使用除 立即数方式以外的任一种寻址方 式。影响 CF 和 OF 标志。 如果结果的高半部分(字节操作 AH、字操作 DX)不为 零,表明其内容是结果的有效位,则 CF 和 OF 均为 1; 否则 CF 和 OF 均为 0。 带符号乘法指令 IMUL SRC 结果的高一半是低一半的符号扩展则 CF 和 OF 为 0, 否则为 1。计算机中带符号数均表示为补码,故先将 操作数求补取得其真值后再进行运算,结果用带符号 数补码表示。 除 法 无符号除法指令 DIV SRC AX÷SRC→AL(商),AH(余数) (SRC 是字节数据) (DX,AX) ÷SRC→AX(商),DX(余数) (SRC 是字数据) 指令中的源操作数可以使用除立即数方式以外的任 一种寻址方式。对 6 个状态标志位无产生影响。 16 位操作时,若送回 AL 的商大于 FFH,或 32 位操作 时,送回 AX 的商大于 FFFFH,产生类型 0 中断。 带符号除法指令 IDIV SRC 对操作数的要求和对标志位的影 响与 DIV 指令相同,只是操作数、 商及余数均当成有符号数,且余数 符号总是与被除数符号相同。 16 位操作时,商的范围为-127(81H)补码至+127(7FH)补码, 32 位操作时,商的范围为-32767(8001H)补码 至+32767 (7FFFH)补码。若相除后,商超过上述值范围,则产生 类型 0 中断。 HappySS 高亮 逻辑指令 逻 辑 运 算 指 令 非运算指令 NOT OPR OPR→OPR 操作数按位取反操作,然后送回原 操作数。对标志位无影响。 对操作数的要求和对标志位的影响与 INC 指令 相同。对于存储器操作数,要说明其类型是字 节还是字。 与运算指令 AND DST,SRC SRC∧DST→DST 对操作数的要求 与 MOV 指令相 同。指令执行后, 均使 CF=OF=0, AF 值不定,并对 PF,SF 和 ZF 产生 影响。 与 0 相与,可屏蔽数值。与 1 相与,可保持不 变。与自身相与,影响标志位,使 CF=OF=0。 或运算指令 OR DST,
本文档为【微机原理要点】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_500756
暂无简介~
格式:pdf
大小:2MB
软件:PDF阅读器
页数:32
分类:
上传时间:2013-01-17
浏览量:214