DW 8,8,12,12,13,13,12,0, 11,11,10,10,9,9,8,0 ;位置 DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BP,49 ;CI SHU LEA SI,TABLE
CONT: MOV BX,[SI] INC SI INC SI SHL BX,1
MOV DI,[FREQUECY+BX] CALL PLAY DEC BP JNZ CONT
EXIT: MOV AH,4CH INT 21H PLAY PROC MOV AL,10110110B OUT 43H,AL MOV DX,12H MOV AX,34DEH DIV DI
OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H MOV AH,AL OR AL,03H OUT 61H,AL
MOV CX,0FFFFH DELAY: MOV DX,1700H GOON: DEC DX JNZ GOON LOOP DELAY IN AL,61H MOV AH,AL AND AL,0FCH OUT 61H,AL MOV CX,0FFFFH DELAY1: MOV DX,100H GOON1: DEC DX JNZ GOON1
LOOP DELAY1
RET
PLAY ENDP CODE ENDS END START 第五章
1. 静态RAM 与动态RAM 有何区别?
答:(1)静态RAM 内存储的信息只要电源存在就能一直保持,而动态RAM 的信息需要定 时刷新才能保持
(2)静态RAM 的集成度比较低,运行速度快,而动态RAM 的集成度高,运行相对较
慢
(3)静态RAM 造价成本高,动态RAM 价格便宜
2. ROM、PROM、EPROM、EEPROM 在功能上各有何特点?
答:ROM 是只读存储器,根据写入方式的不同可以分为四类:掩膜型ROM、PROM、EPROM 和EEPROM。
掩膜型ROM 中信息是厂家根据用户给定的程序或数据,对芯片图形掩膜进行两次光刻 而写入的,用户对这类芯片无法进行任何修改。PROM 出厂时,里面没有信息,用户采用 一些设备可以将内容写入PROM,一旦写入,就不能再改变了,即只允许编程一次。 EPROM可编程固化程序,且在程序固化后可通过紫外光照擦除,以便重新固化新数据。 EEPROM可编程固化程序,并可利用电压来擦除芯片内容,以重新编程固化新数据。 3. DRAM 的CAS和RAS输入的用途是什么?
答:CAS为列地址选通信号,用于指示地址总线上的有效数据为列地址;RA 行地址选 通信号,用于指示地址总线上的有效数据为列地址。 S 为
4. 什么是Cache?作用是什么?它处在微处理机中的什么位置?
答:Cache 也称为高速缓存,是介于主存和CPU 之间的高速小容量存储器。
为了减少CPU 与内存之间的速度差异,提高系统性能,在慢速的DRAM 和快速CPU 之间插入一速度较快、容量较小的SRAM,起到缓冲作用,使CPU 既可以以较快速度存取 SRAM 中的数据,又不使系统成本上升过高,这就是Cache 的作用。 Cache 在微处理机中的位置如下图:
5. 直接映像Cache 和成组相联Cache 的组成结构有什么不同?
答:直接映象 Cache 是将主存储器中每一页大小分成和 Cache 存储器大小一致,Cache 中 每一块分配一个索引字段以确定字段,这样可以通过一次地址比较即可确定是否命中,但如 果频繁访问不同页号主存储器时需要做频繁的转换,降低系统性能;
成组相联Cache 内部有多组直接映象的 Cache,组间采用全关联结构,并行地起着高 速缓存的作用。访问时需要进行两次比较才能确定是否命中。
6. 为什么要保持Cache 内容与主存储器内容的一致性?为了保持Cache 与主存储器内容的 一致性应采取什么方法?
答:由于Cache 的内容只是主存部分内容的拷贝,故应当与主存内容保持一致。数据不一致 问题通常是由于更新了Cache 的数据而没有更新与其关联的存储器的数据,或更新了存储器 数据却没有更新Cache 的内容所引起的。
为了保持Cache 与主存储器内容的一致性,有两种写入策略: (1)通写法
在此方法中,当CPU 写入数据到Cache 中后,Cache 就立即将其写入主存中,使主存
始终保持Cache 中的最新内容。此方法简单,更新内容不会丢失,但每次对Cache 的修改同 时要写入主存储器,总线操作频繁,影响系统性能。 (2)回写法
此方法中,Cache 的作用好像缓冲区一样,当CPU 写入数据到Cache 中后,Cache 并不 立即将其回写到主存中,而是等到系统总线空闲时,才将Cache 中的内容回写到主存中,此 方法使得CPU 可以持续运行而不必等待主存的更新,性能比通写法要提高很多,但其Cache 控制器复杂,价格高。
7. 用1024×1 位的RAM 芯片组成16K×8 位的存储器,需要多少芯片?在地址线中有多少 位参与片内寻址?多少位组合成片选择信号?(设地址总线为16 位)
答:由于所用的芯片为1024×1 位,构成1024×8 位(即1K×8 位)的存储器需要8 片, 因此组成16K×8 位的存储器需要16×8=128 片。 片内有1024 个单元,需要10 根地址线。
16 组(每组8 片)存储器需要16 根片选信号,至少需要4 根地址线经译码器输出。 8. 现有一存储体芯片容量为512×4 位,若要用它组成4KB 的存储器,需要多少这样的芯 片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线? 答:4K×8 / 512×4=16 片
每块芯片内有512 个单元,故需要9 根地址线 整个存储系统最少需要12 根地址线 9. 利用1024×8 位的RAM 芯片组成4K×8 位的存储器系统,试用A15~A12 地址线用线性 选择法产生片选信号,存储器的地址分配有什么问题,并指明各芯片的地址分配。 答:组成4K×8 的存储器,那么需要4 片这样的芯片:将A15 取反后分配芯片1 的CS;将 A14 取反后分配给芯片2 的CS;将A13 取反后分配芯片3 的CS;将A12 取反后分配给芯片 4 的CS。
芯片1 的地址范围8000H~83FFH、8400H~87FFH、8800H~8BFFH、8C00H~8FFFH 芯片2 的地址范围4000H~43FFH、4400H~47FFH、4800H~4BFFH、4C00H~4FFFH 芯片3 的地址范围2000H~23FFH、2400H~27FFH、2800H~2BFFH、2C00H~2FFFH 芯片4 的地址范围1000H~13FFH、1400H~17FFH、1800H~1BFFH、1C00H~1FFFH 这样会造成地址的重叠。
10. 当从存储器偶地址单元读一个字节数据时,写出存储器的控制信号和它们的有效逻辑电 平信号。(8086 工作在最小模式) 答:8086 发出20 位地址信息和BHE =1,通过地址锁存信号锁存至8282,然后发出M/IO=1 和RD =0 等控制信号,20 位地址信号和BHE =1 送给存储器,经过译码,选中偶地址单元 一字节,将其数据读出,送至数据总线,经过由DEN =0 和DT/R =0 控制的数据收发器8286 传送至CPU。
11. 当要将一个字写入到存储器奇地址开始的单元中去,列出存储器的控制信号和它们的有 效逻辑电平信号。(8086 工作在最小模式) 答:此时要启动2 个写总线周期,第一个写周期将字的低8 位写入存储器奇地址单元,第二 个写周期将字的高8 位写入存储器奇地址单元下一个单元。 第一个写周期中,BHE =0,第二个写周期中,BHE =1。
其余信号M/IO=1,WR =0,DEN =0,DT/R =1 12. 设计一个64K×8 存储器系统,采用74LS138 和EPROM2764 器件,使其寻址存储器的 地址范围为40000H~4FFFFH。 答:因为EPROM2764 是8K×8 的ROM,所以要构成64K×8 的存储器系统,需要8 片
EPROM2764。其中CPU 的A12~A0 直接与8 片EPROM 的A12~A0 相连(没有考虑驱动能力
问题),A15、A14和A13与138 的A、B、C 三个端口相连,其他地址线(A19~A16)和M/IO 组合连到G1、G2A 和G2B 上,确保A19=0、A18=1、A17=0 和A16=0 即可。 13. 用8K×8 位的EPROM2764、8K×8 位的RAM6264 和译码器74LS138 构成一个16K 字 ROM、16K 字RAM 的存储器子系统。8086 工作在最小模式,系统带有地址锁存器8282, 数据收发器8286。画出存储器系统与CPU 的连接图,写出各块芯片的地址分配。 答: CE
D77~~D00 D1155~~D88 A1122~~A00 OE CE
A1133~~A11 RD 11## 22776644 CE
D77~~D00 D1155~~D88 A1122~~A00 OE CE
A1133~~A11 RD 22## 22776644 CE22 D77~~D00 D1155~~D88 A1122~~A00 WEE CE11 A1133~~A11 WR 33## 66226644 CE22 D77~~D00 D1155~~D88 A1122~~A00 WE CE11 A1133~~A11 WR 44## 66226644 CE22 CE22 A00
Y00 Y11 Y22
Y33 BHE M//IIO A1199 A1188 A1177 A1166 A1155 A1144 B
A C
G22BB G22AA G11
BHEE
Y22 Y33 A00 A00 C B A
A19 A18 A17 A16 A15 A14 A13~A0 1 0 0 0 0 0 Y0 有效80000~83FFFH
1 0 0 0 0 1 Y1 有效84000~87FFFH 1 0 0 0 1 0 Y2 有效88000~8BFFFH 1 0 0 0 1 1 Y3 有效8C000~8FFFFH
14. 上题中若从74LS138 的Y2 开始选择ROM 和RAM 芯片,写出各块芯片的地址分配。 答: C B A
A19 A18 A17 A16 A15 A14 A13~A0 1 0 0 0 1 0 Y2 有效88000~8BFFFH 1 0 0 0 1 1 Y3 有效8C000~8FFFFH 1 0 0 1 0 0 Y4 有效90000~93FFFH 1 0 0 1 0 1 Y5 有效94000~97FFFH
第六章
1. CPU 与外设交换数据时,为什么要通过I/O 接口进行?I/O 接口电路有哪些主要功能? 答:CPU 和外设之间的信息交换存在以下一些问题:速度不匹配;信号电平不匹配;信号 格式不匹配;时序不匹配。
I/O 接口电路是专门为解决CPU 与外设之间的不匹配、不能协调工作而设置的,处于 总线和外设之间,一般应具有以下基本功能: ⑴设置数据缓冲以解决两者速度差异所带来的不协调问题;
⑵设置信号电平转换电路,来实现电平转换。 ⑶设置信息转换逻辑,如模拟量必须经 A/D 变换成数字量后,才能送到计算机去处理, 而计算机送出的数字信号也必须经D/A 变成模拟信号后,才能驱动某些外设工作。 ⑷设置时序控制电路; ⑸提供地址译码电路。