1 / 66

期末复习

期末复习. 一、考试题型 ( 1 )填空题 ( 2 分 / 空,共 40 分) ( 2 )单项选择题 (2 分 / 题,共 20 分 ) ( 3 )判断正误并改错 ( 2 分 / 题,共 14 分) ( 4 ) 简答题 ( 每小题 3 分,共 6 分 ) ( 5 )程序设计题 ( 10 分 / 题 共 20 分). 什么是 16 位字长的 CPU 呢?. 运算器一次最多可处理 16 位的数据 寄存器的最大宽度是 16 位 寄存器与运算器之间的通路(内部总线)为 16 位. 20 位地址总线. CPU. 16 位数据总线. 主存.

Download Presentation

期末复习

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 期末复习 一、考试题型 (1)填空题 (2分/空,共40分) (2)单项选择题 (2分/题,共20分) (3)判断正误并改错(2分/题,共14分) (4)简答题 ( 每小题 3 分,共 6分 ) (5)程序设计题 (10分/题 共20分)

  2. 什么是16位字长的CPU呢? • 运算器一次最多可处理16位的数据 • 寄存器的最大宽度是16位 • 寄存器与运算器之间的通路(内部总线)为16位

  3. 20位地址总线 CPU 16位数据总线 主存 控制总线 8086CPU与主存的三总线连接示意

  4. 8086微处理器及其系统一、8086的功能结构 • 总线接口单元 • 指令队列、指令指针(IP)、段寄存器(CS/DS/SS/ES)、地址加法器和总线控制逻辑 • 管理与系统总线的接口,负责对存储器和外设访问 • 执行单元 • ALU、通用寄存器、标志寄存器和控制电路 • 负责指令译码、数据运算和指令执行 • 指令预取 • EU单元译码执行指令,同时BIU单元读取后续指令 • 最简单的指令流水线技术

  5. 8086寄存器组

  6. OF DF IF TF SF ZF AF PF CF 全 零 标 志 单 步 标 志 符 号 标 志 辅 助 进 位 溢 出 标 志 方 向 标 志 中 断 标 志 奇 偶 校 验 进 位 标 志 IF=1 允许中断 IF=0 关闭中断 DF=1 地址指针自动减量DF=0 地址指针自动增量 PF=1 偶校验 PF=0 奇校验 • 状态标志寄存器FLAGS

  7. 例1:执行两个数的加法,分析对标志位的影响。例1:执行两个数的加法,分析对标志位的影响。 标志: 运算结果最高位为0 ∴SF=0; 运算结果本身≠0 ∴ZF=0 低8位中1的个数为奇数个 ∴PF=0; 最高位没有进位 ∴CF=0 第三位向第四位无进位 ∴AF=0; 次高位向最高位没有进位 ,最高位向前没有进位 ∴OF=0。

  8. 物理地址 8086CPU的地址线是20位的,这样最大可寻址空间应为220=1MB,其物理地址范围从00000H~FFFFFH。 而8086CPU寄存器都是16位的。可以处理的地址为0000H ~FFFFH 那么,这1MB空间如何用16位寄存器表达呢?

  9. 学校 体育馆 图书馆 0m 2000m 2826m 物理地址=2826m 逻辑地址=2000:826m 采用分段管理的方法解决 相关的段地址和偏移地址合起来称为逻辑地址。 逻辑地址=段基址:偏移地址 例:

  10. 1MB空间的址址编码情况 00000H、00001H、00002H、00003H、…、0000FH 00010H、00011H、00012H、00013H、…、0001FH 00020H、00021H、00022H、00023H、…、0002FH 00030H、 … FFFF0H、FFFF1H、FFFF2H、 … 、 …、 FFFFFH,由于每小节的起始低4位都是0,因此可以不表示出来,而高16位就可以完全放入段寄存器了。

  11. 把1M字节地址空间划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始地址(简称段首址)必须是16的倍数;二是逻辑段的最大长度为64K。把1M字节地址空间划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始地址(简称段首址)必须是16的倍数;二是逻辑段的最大长度为64K。 逻辑段与逻辑段可以相连,也可以不连,还可以重叠。 逻辑地址=段基址:偏移地址 物理地址=2826H 逻辑地址=2000H:826H

  12. 结论: • 存储器采用分段管理后,一个内存单元可用段的起始地址和段内地址(又称偏移地址)两个逻辑地址来描述,表示为段基址:偏移地址。 • 存储器采用分段管理后,其物理地址的计算方法为: 物理地址= 10H ×段基址 + 偏移地址 = 16 ×段基址 + 偏移地址 所以简便的方法是在段基址的最低位补以0H,再加上偏移量。 例: 逻辑地址=200H:826H 物理地址=2826H

  13. 4个16位的段寄存器分别称为: CS(Code Segment):代码段寄存器 DS (Data Segment):数据段寄存器 SS (Stack Segment):堆栈段寄存器 ES (Extra Segment):附加数据段寄存器

  14. 00000H 10550H CS=1055H 代码段 <=64KB IP 150A0H DS=150AH 数据段 <=64KB SI,DI,BX EFF00H SS=EFF0H 堆栈段 <=64KB SP,BP FFFFFH ① 段大小最大64KB ②每个段内的偏移地址是0000─FFFFH 物理地址=段基地址+段内地址

  15. 寻址方式 1. 立即数寻址 MOV AX,080AH 2. 寄存器寻址 MOV AX,BX 3. 直接寻址 MOV AX,[22A0H] 4. 寄存器间接寻址 MOV AX,[SI] MOV AX,[BP] 5.寄存器相对寻址 MOV AX,20H[BP] MOV AX,[SI+20H]

  16. 6. 基址变址寻址 MOV AX,[BX+SI] MOV AX,[BX][SI] 7.相对基址变址寻址 MOV AX,[BX+SI+250H] 8. I/O端口寻址 IN AL,21H MOV DX,3421H OUT DX,AL

  17. 填空题: 1.8086/8088CPU从基本构成上可分为、和 三部分;从功能结构上可分为和两部分。 2.若CS=A200H,指出当前代码段可寻址的最大存储空间是从物理地址H到H。 • 微处理器8086地址总线为 位,可直接寻址空间为 字节。 • 段的定义以“段名 ”表示开始,以“段名 ”表示结束。 答案:1.运算器;寄存器;控制器;EU;BIU 2.A2000H,B1FFFH 3. 20,1M 4. SEGMENT, ENDS

  18. 选择题: 1.物理地址的计算方法是()。 A.段地址+偏移地址 B. 段地址逻辑左移4位+偏移地址 C.段地址╳16H+偏移地址 D. 段地址╳16+偏移地址 2. 确定下一条指令的物理地址的表达式是( )。 A.CS╳16+IP B. DS╳16+SI C.SS╳16+SP 答案:1. B,D 2. A

  19. 数据段:在存储器中开辟的数据区,供存放初始数据,大小由DB,DW伪指令设定。数据定义伪指令用来定义程序中使用的数据在存储单元中位置。格式:[变量名] 助记符 操作数功能:为变量分配单元,并为其初始化或者只预留空间。

  20. 01 02 03 04 47 56 45 44 43 01 02 01 01 例:DATA1 SEGMENT TABLE DW 0101H,0102HCHAR DB‘CDEFG’CC DD 01020304HDATA1 ENDS 小结:DB定义字节,DW定义字(2个字节),DD定义双字(这4个字节) CC CHAR TABLE 注意:在数据段中使用的标号TABLE、CHAR、CC后面没有“:”,它们是同时描述内存地址和单元长度的标号。

  21. 堆栈的工作原理 FFFF:FFFF 堆栈是一种用来存储数据的逻辑数据结构,它按照先进后出的方式工作。在8086系统中,堆栈是用内存中的某一段连续的地址空间实现的。 在8086系统中,堆栈是在内存中倒挂生长的。 0:0

  22. 思考: 若SS的内容为2000H,SP=0140H,如果在堆栈中存入5个数据,SS和SP的内容各是多少? 如果从堆栈中取出2个数据,SS和SP的内容又是多少? SS=2000H SP=0136H SS=2000H SP=013AH

  23. 代码段(Code Segment) • 代码段用来存放程序的指令序列 • 代码段寄存器CS存放代码段的段地址 • 指令指针寄存器IP指示下条指令的偏移地址 • 处理器利用CS:IP取得下一条要执行的指令 • 标号和名字都是一个符号,标号后面有冒号(:),而名字后面无冒号。

  24. [例]先查看内存2000:1000内容,然后执行如下程序后(-G=0 10),AX,BX,CX中的内容是什么?

  25. 程序运行结果:AX=00BE BX=1000 CX=0606

  26. 例如 0~9的编码为: 高3位 低4位 字符 011 00000 011 00011 011 00102 011 00113 011 01004 011 01015 011 01106 011 01117 011 10008 011 10019

  27. 每一个字符有一个编码。 常用字符有128个,编码从0到127。 空格 20H 32 ‘0’~‘9’ 30H~39H 48~57 ‘A’~‘Z’ 41H~5AH 65~90 ‘a’~‘z’ 61H~7AH 97~122 控制字符:0~32,127;普通字符:94个。 每个字符占一个字节,用7位,最高位为0。

  28. 将datasg段中每个单词的头一个字母改写为大写字母。将datasg段中每个单词的头一个字母改写为大写字母。 assume cs:codesg, ds:datasg datasg segment db '1. file ' db '2. edit ' db '3. search ' db '4. view ' db '5. options ' db '6. help ' datasg ends

  29. codesg segment start: mov ax, datasg mov ds, ax mov bx, 0 ;mov bx,offset datasg mov cx, 6 ss1: mov al, [bx+3] and al, 11011111b ; sub al,20h mov [bx+3], al add bx, 16 loop ss1 mov ax, 4c00h int 21h codesg ends end start

  30. [例]数据段中有某字符串首址为BLOCK。如果其中出现字符‘u’, 将它的偏移地址推进栈中。试在下面程序段的空白处填上适当的指令或操作数以实现上述功能。 DATA SEGMENT BLOCK DB ‘Let ┉ $’ DATA ENDS STA SEGMENT STACK DW 50 DUP(?) STA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STA

  31. START:MOV AX, DATA MOV DS, AX MOV SI, offset BLOCK A1: MOV AL,[SI] CMP AL,’$’ JZ JIESU CMP AL, ‘u’ JNZ A2 PUSH SI A2: INC SI JMP A1

  32. JIESU: MOV AX,4C00H INT 21H CODE ENDS END START

  33. 两种工作模式: 最小方式(MN/MX=1): 适用于单处理机系统,即系统中只有一个8086/8088,所有总线控制信号都由其产生。 最大方式(MN/MX=0): 系统包含多个处理机,其中8086/8088为主处理机,还有协处理器8087、8089等。通常由专门的总线控制器(8288)产生总线控制信号。

  34. 最小模式的系统组成: 最小模式的典型配置

  35. 最大模式的系统配置

  36. 填空题: 在8086最大方式中, 8282(74LS373,74LS244)的作用是;8286(74LS245)的作用是;8288的作用是;8284的作用是 。 答案: 将分时复用信号线AD19~0上的地址信息锁存起来,形成20位地址总线; 增强数据总线的驱动能力; 对CPU的状态信息译码,形成系统控制总线 给CPU提供同步后的RESET、READY、CLK信号;

  37. 总线周期时序: • 定义:利用总线完成一个字长信息的传输时间;1个指令周期包含1个或多个总线周期。 • 1个总线周期正常情况下由4个时钟周期(T1―T4)组成;时钟周期由主频决定; • 空闲周期TI和等待周期TW; • 读、写、中断响应、总线保持与响应等的总线周期时序

  38. 总线操作的概念: 典型的总线周期

  39. 8086与存储器连接 D7-D0低8位数据总线 D15-D8高8位数据总线 00000H 00001H D8-D15 D7-D0 512k X 8位奇存储体 512k X 8位偶存储体 A19-A1 A19-A1 FFFFEH CS CS FFFFFH A19-A1 地址总线 BHE A0 A0=0访问偶地址存储体,A0=1表示访问奇地址存储体

  40. 硬件: 系统总线 +接口电路 +输入/出设备 (I/O设备、外设) I/O接口的基本概念: 将I/O设备与系统总线连接的部件 系统 总线 DMAC 中断控制电路 输入/出方式 USB 并行接口 RS-232串口

  41. 数 据 输 出 +5V U Y Y Y Y Y Y Y 5 6 0 1 2 3 4 cc 管 脚 图 74LS138 13 1 4 7 8 16 10 9 14 5 2 6 3 12 15 11 A C B G GND Y G G 7 2 B 2 A 1 输出 地 输入选择 允许(使能) 组件:3-8线译码器

  42. 译码器应用举例 • 每个输出端连接一盏灯,控制亮、灭 C B A 输出端 结果 0 0 0 Y0=0 选Y0 0 0 1 Y1=0 选Y1 … 1 1 1 Y7=0 选Y7 通过程序控制C、B、A 以便选择输出端Y0~Y7

  43. 与存储器地址译码在原理和方法上完全相同 • I/O地址不太强调连续,多采用部分译码

  44. 微机的输入输出方式有哪几种?各有什么特点?微机的输入输出方式有哪几种?各有什么特点? (1)无条件:需要外设处于就绪状态,硬件简单; (2)查询:CPU需要不断地查询外设是否就绪,浪费CPU时间,硬件较简单; (3)中断:外设准备好后,向CPU发中断请求,请求CPU完成数据传输,外设与CPU并行;硬件又比前两者复杂。 (4)DMA:CPU对DMAC初始化后,由DMAC控制总线完成数据传送;CPU与I/O并行。速度快,用于大量数据传输。DMAC占用总线时,CPU不能用。硬件更复杂。

  45. (1)无条件传送输出:锁存器 • 使用D触发器构成 • 输入端为D端,控制端为C端 • 两个相反的输出信号Q和Q • 直接复位R或直接置位S控制端 • 电平锁存:电平控制输出能跟随输入变化 • 边沿锁存:输出只能锁存输入的状态 • 74LS373:电平锁存的8位三态缓冲锁存器 • 74LS374:边沿锁存的8位三态缓冲锁存器

  46. D7 D6 : D0 微处 理器 …… 地 址 译 码 74LS373 OE G Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 驱动器 无条件传送方式——简单快捷的外部设备

  47. 无条件传送输入:三态缓冲器 • 三态缓冲器:加有控制端的同相器或反相器 • 控制端T有效时,控制输入A端输出到Y端 • 控制端T无效时,输出Y端呈现高阻状态 • 74LS244:双4位三态同相缓冲器 • 双向三态缓冲器:两个三态缓冲器构成 • 输出允许控制端OE:控制数据的输出 • 方向控制端DIR:控制数据驱动的方向 • 74LS245:8位双向三态缓冲器芯片

  48. +5V D0 D1 D7 1Y1 1A1 1Y2 1A2 74LS244 2Y4 2A4 1G 2G 74LS244构成简单输入端口: M/IO CS RD 开关

  49. (2)程序查询方式 • 查询传送有查询和传送两个环节 • 首先查询外设工作状态 • 检测、等待外设准备就绪 • 进行数据传输 • 设计实现查询功能的电路 • 连接外设的状态输入信号 • 保存在状态寄存器中 • 通过状态端口读取 • 实际中常引入超时判断 • 查询需大量时间,效率较低

More Related