储元中管子的数目较少(1个),有利于集成,速度比SRAM慢,片容量大,功耗低,成本比SRAM低 。缺点是每隔一定时间需要刷新一次。适合于构成RAM容量较大或要求低功耗的存储器系统。在计算机中常用于内存。
8. 现有一存储体芯片容量为512×4位,若要用它组成4KB的存储器,需要多少这样的芯片?每块芯片需要多少寻址线?整个存储系统需要多少寻址线? 解:
(1)组成4KB的存储器需要存储体芯片的数量为: (8/4)×(4×1024/512)=16片 (2)因为512=29
所以每块芯片需要寻址线数目为:9根
(3)因为每块芯片需要寻址线数目为9根,整个存储系统需要8组存储体芯片(每组两片),用138译码器,则至少需要3根地址线。因此整个存储系统需要9+3=12根地址线。
13. 用8K×8位的EPROM2764,8K×8位的RAM6264和译码器74LS138构成一个16K字ROM,16K字RAM的存储器系统。8086工作在最小模式,系统带有地址锁存器8282,数据收发器8286。画出存储器系统与CPU的连接图,写出各芯片的地址分配。 解:
(1)用8086CPU组成16K字 ROM,16K字 RAM的存储器系统。
需要4片EPROM2764,4片RAM6264。电路原理图如下图所示。
1#、2#2764的地址范围为:00000~03FFFH (1#为偶数地址, 2#为奇数地址), 3#、4#2764的地址范围为:04000~07FFFH (3#为偶数地址, 4#为奇数地址), 1#、2#6264的地址范围为:08000~0BFFFH (5#为偶数地址,6#为奇数地址),
3#、4#6264的地址范围为:0C000~0FFFFH (7#为偶数地址,8#为奇数地址)。
(2)用8088CPU组成16KB ROM,16KB RAM的存储器系统。
需要2片EPROM2764,2片RAM6264。电路原理图如下图所示。
1#2764的地址范围为:00000~01FFFH 2#2764的地址范围为:02000~03FFFH 1#6264的地址范围为:04000~05FFFH
2#6264的地址范围为:06000~07FFFH
33
第6章作业 P230
2. 什么叫I/O端口?一般的接口电路中可以设置哪些端口?计算机对I/O端口寻址时可采用哪两种方法?在8086/8088CPU中一般采用那种编制方法? 答:
(1)端口:在接口电路中,存放数据、状态和控制信息的寄存器及其控制逻辑统称为I/O端口。 (2)一般的接口电路中可以设置数据端口、状态端口和命令端口(控制端口)等。
(3)计算机对I/O端口寻址时可采用I/O 统一编址(存储器映像寻址)和I/O 端口独立编址两种方法。 (4)在8086/8088CPU中对I/O端口寻址采用独立编址方法。
3. CPU与外设间传送数据主要有哪几种方式?
CPU与外设之间传输数据的控制方式通常有三种:程序控制方式、中断方式和DMA方式。 (1)程序控制方式:指用输入/输出指令来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。
无条件传送方式:CPU认为接口始终是处于“准备好”状态,能随时接收或发送数据,适用于那些能随时读写的设备。特点是接口简单,要求输入有缓冲,输出有锁存。应用的局限性较大,一般只适用于诸如开关控制、七段数码管的显示控制等场合。
条件传送方式:通过程序查询相应设备的状态,若状态不符合,则CPU不能进行输入/输出操作,需要等待;只有当状态信号符合要求时,CPU才能进行相应的输入/输出操作。特点是接口电路简单,CPU利用率低(程序循环等待),接口需向CPU提供查询状态。适用于CPU不太忙,传送速度要求不高的场合。要求各种外设不能同时工作,外设处于被动状态。
(2)中断传送方式:当外设准备好时,由外设通过接口电路向CPU发出中断请求信号,CPU在允许的情况下,暂停执行当前正在执行的程序,响应外设中断,转入执行相应的中断服务子程序,与外设进行一次数据传送,数据传送结束后,CPU返回继续执行原来被中断的程序。特点是CPU的利用率高,外设具有申请CPU中断的主动权,CPU和外设之间处于并行工作状态。但中断服务需要保护断点和恢复断点(占用存储空间,降低速度),CPU和外设之间需要中断控制器。适用于CPU的任务较忙、传送速度要求不高的场合,尤其适合实时控制中的紧急事件处理。
34
(3)DMA方式:外设利用专用的接口( DMA 控制器)直接与存储器、外设进行高速数据传送,并不经过CPU( CPU 不参与数据传送工作),总线控制权不在CPU处,而由DMA 控制器控制。特点是接口电路复杂,硬件开销大。大批量数据传送速度极快。适用于存储器与存储器之间、存储器与外设之间的大批量、高速数据传送的场合。
DMA传送的基本过程:
① 外设准备就绪时,向DMA控制器(DMAC)发DMA请求,DMAC接到此信号后,向CPU发DMA请求,CPU的HOLD有效 。
② CPU接到HOLD请求后,如果条件允许(一个总线操作结束),则发出HLDA信号作为响应,同时,释放对总线的控制权
③ DMAC取得总线控制权后, DMAC成为主设备, DMAC控制存储器与外设端口之间的数据传送(往地址总线发送地址信号,每传送1个字节,就会自动修改地址寄存器的内容,以指向下一个要传送的字节;每传送一个字节,字节计数器的值减1,当减到0时,DMA过程结束)
④ 传送结束,DMAC向CPU发结束信号,将总线控制权交回CPU。 ⑤ DMAC又回到从设备的状态。
6. 某一个微机系统中,有8块I/O接口芯片,每个接口芯片占8个端口地址,若起始地址为300H,8块接口芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每块芯片的端口地址范围。(CPU采用8088)
解:8088CPU,地址连续分布,则8片I/O接口芯片的地址应为:
300----307 H、308----30FH、310----317 H、318----31FH、320----327 H、328----32FH、330----337 H、
338----33FH。
A11A10A9A8 A7A6A5 A4 A3A2A1A0 十六进制地址
1#: 0011 0000 0000B 300H 0011 0000 0111B 307H
2#: 0011 0000 1000B 308H 0011 0000 1111B 30FH
3#: 0011 0001 0000B 310H 0001 0001 0111B 317H
4#: 0011 0001 1000B 318H 0011 0001 1111B 31FH
5#: 0011 0010 0000B 320H 0011 0010 0111B 327H
6#: 0011 0010 1000B 328H 0011 0010 1111B 32FH
7#: 0011 0011 0000B 330H 0011 0011 0111B 337H
8#: 0011 0011 1000B 338H 0011 0011 1111B 33FH
根据CPU外扩I/O接口的原理,从8片I/O接口的地址范围可以看出:A2~A0为每片I/O接口自己的范围,需要接CPU的低位地址线A2~A0;变化的地址为,用74LS138做译码器,则译码器输入为A5A4A3,A7A6=00(经或门后接74LS138译码器的G2A,本题中把未用的高位地址线或门后接74LS138译码器的
G2A),A9A8=11(经与门后接74LS138译码器的G),M/IO接74LS138译码器的G2B。1#~7#I/O接
口的片选接到74LS138译码器的输出Y0~Y7上。 电路原理图如下图所示。
35
各芯片地址范围如下: 1#芯片:300----307 H 2#芯片:308----30FH 3#芯片:310----317 H 4#芯片:318----31FH 5#芯片:320----327 H 6#芯片:328----32FH 7#芯片:330----337 H
8#芯片:338----33FH
注:8086系统要指出奇偶口地址(16个地址中)
1. CPU与外设交换数据时,为什么要通过I/O接口进行?I/O接口电路具有哪些主要功能? 答:
(1)由于输入/输出设备 (外设)比较复杂,性能的离散性比较大,不同的外设,其结构方式、输入/输出的信号类型、输入/输出信息的速率相差很大。而同一个外设与CPU之间所要传送的信息类型不同,方向不同,作用也不一样 。因此,CPU与外部设备之间的信息交换技术比较复杂。所以需要一个中间处理电路——接口电路来分别协调、处理、传送这些不同的信息。
(2)I/O接口电路具有寻址、输入/输出、数据缓冲、联络、数据转换、中断管理、时序控制、可编程、电器特征匹配、错误检测等主要功能。
8.什么叫总线?总线分哪几类?在微型计算机中采用总线结构有什么好处? 答:
(1)总线:总线是一组信号线的集合,是一种在各模块间传送信息的公共通路。 (2)总线的分类方法:
按相对于CPU与其他芯片的位置总线可分为:片内总线和片外总线; 按总线传送信息的类别,可把总线分为:地址总线、数据总线和控制总线; 按照总线传送信息的方向,可把总线分为:单向总线和双向总线;
按总线的层次结构总线可分为:片内总线、片级总线、系统总线和外部总线。
36