(何小海版)微机原理与接口技术课程学习指导资料_第1页
(何小海版)微机原理与接口技术课程学习指导资料_第2页
(何小海版)微机原理与接口技术课程学习指导资料_第3页
(何小海版)微机原理与接口技术课程学习指导资料_第4页
(何小海版)微机原理与接口技术课程学习指导资料_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理与接口技术课程学习指导资料编写:刘新民四川大学电子信息学院二00三年十二月微机原理与接口技术何小海(微机原理部分)课程学习指导资料注意:本课程分“微机原理”和“接口技术”两部分,各学习一学期。15章为“微机原理”(不含8253);612章为“接口技术”编写:刘新民审稿(签字):审批(主管教学负责人签字): 本课程学习指导资料根据该课程教学大纲的要求,参照现行采用教材徽型计算机系统原理及应用(周明德主编,清华大学出版社,第三版 上册)以及课程学习光盘,并结合远程网络业余教育的教学特点和教学规律进行编写,适用于电子信息工程专业本科学生。第一部分 课程的学习目的及总体要求 一、 课程的学习目

2、的:本课程要求学生学习、了解并掌握微机原理的基本知识和方法,为今后使用微机或从事与微机有关开发工作以及为后续与微机相关的课程打下基础。二、 课程总体要求: 了解、掌握微机的体系结构及工作原理,尤其是8088/8086 CPU的内部结构,总线时序,数和字符在微机中的表示方法,8088/8086的指令系统,汇编语言程序设计的方法,半导体存储器的工作原理及与系统连接的方法。第二部分 课程学习的基本要求及重点难点内容分析第1章:概述1. 本章学习要求(1). 应熟悉的内容:微机中的数制及码制(数制:二进制、十进制、十六进制;特别是二进制中的原码、反码、补码的表示及变换方法。码制:BCD码、ASCII以

3、及汉字编码) ;微型计算机的基本结构、系统软件、应用软件。IBM PC的基本配置。 (2). 应掌握的内容:2、10、16进制数的表示方法、运算方法及相互主间的转换,10、16进制数与ASCII之间相互转换的方法。 (3). 应熟悉掌握的内容:8088/8086的特点及内部结构,特别是各寄存器的名称、作用,存储器的组织、逻辑地址、物理地址及相互之间关系。2. 本章重点难点分析:微机工作过程,8088/8086 CPU内部寄存器的作用较难,只要认真看书记住。第2章:8088 的指令系统1. 本章学习要求(1). 应掌握的内容:8088的各种寻址方式。(2). 应熟悉掌握的内容:8088 的标志寄

4、存器各标志位的作用,8088 各种指令的作用、使用方法以及涉及、影响标志位的情况。2. 本章重点难点分析:要记住并熟练掌握各条指令对初学者较难。办法是通过多看例题,学习和掌握书写格式、使用方法、应用场合。3. 本章典型例题分析:现将指令系统归纳如下以便学习掌握:1.数据传送通路示意图 1. 立即数不能作目标操作数 立 即 数 2. 立即数不能直接送段寄存器 通用寄存器 存 储 器 AX BX CX DX BP SP SI DI 存储器不能直接传存储器段 寄 存 器 段寄存器不能直接传段寄存器一、 数据传送类指令 (特点:除SAHF POPF外均不影响FR)1. 通用MOV dst,src堆栈:

5、PUSH POP交换:XCHG查表:XLAT2. 标志 LAHF SAHF PUSHF POPF3. 地址: LEA LDS LES4.输入 输出: IN OUT二、 算术运算类指令 (特点:除CBW CWD外均影响FR)1. 加法: ADD ADC2. 减法: SUB SBB CMP3. 加1 减1:INC DEC4. 求补: NEC5. 乘法: MUL (无符号数) IMUL (带符号数)6. 除法: DIV (无符号数) IDIV (带符号数)7. 扩展: CBW (BW) CWD (WDW)8. 十进制调整: 1)加法:DAA(组合) AAA(未组合) 2)减法:DAS (组合) AA

6、S(未组合) 3)乘法:AAM(未组合) 4)除法:AAD乘、除法指令注意事项:1. 无符号与带符号数所用指令不同;2. 八位乘法时,必有一个乘数在AL中,积在AX中;十六位乘法时,必有一个乘数在AX中,积在DX(高16位)与AX(低16位)中;3. 八位除法时,被除数在AX中(16位),商在AL,余数在AH;十六位除法时,被除数在DX(高16位)与AX(低16位)中,商在AX,余数在DX; 4. 十进制调整时,乘、除法均只能使用未组合BCD码,并且除法是先调整后运算。三、 逻辑运算类指令 (特点:均影响FR) 1. 与: AND 2. 或: OR 3. 异或: XOR 4. 非: NOT 5

7、. 测试: TEST 移位指令1. 逻辑移位: 左移 SHL 右移 SHR2. 算术移位: 左移 SAL 右移 SAR3. 循环移位: 1). 不带CF: 左移 ROL 右移 ROR 2). 带CF: 左移 RCL 右移 RCR四、 控制转移类指令: 一)、无条件转移 JMP1. 近转移 (段内) (NEAR PTR)1). 直接 (相对寻址): 短转移(SHORT) IP IP + disp (8位) 如:JMP n 长转移 IP IP + disp (16位) 如:JMP nn2). 间接: IP reg (16位) IP mem (16位) 如:JMP BX2. 远转移 (段间) (FA

8、R PTR) 1). 直接: CS = 指令中给出的段地址 IP = 指令中给出的EA 如:JMP 段:偏 2). 间接: CS = mem+2 (16位) IP = mem (16位) 如:JMP DWORD PTR BX 二)、 条件转移 Jcc1. 单测试条件指令 1 0 C JC / JNAE / JB JNC / JAE / JNB Z JZ / JE JNZ / JNE S JS JNS P JP / JPE JNP / JPO O JO JNO2. 复合测试条件指令 即 A B 无 符 号 数 带 符 号 数 = JZ JZ JNZ JNZ JC / JB / JNAE JL /

9、 JNGE JA / JNBE JG / JNLE JBE / JNA JLE / JNG JNC / JAE / JNB JGE / JNL三). 循环控制指令1. 循环转移指令 LOOP (相当于: DEC CXJNZ n )2. 相等(为零)循环转移指令 LOOPE/LOOPZ3. 不相等(不为零)循环转移指令 LOOPNE/LOOPNZ四). 过程调用与返回指令 1. 调用指令 CALL (与JMP一样分:段内直接、段内间接、段间直接、段间间接调用四种,但需保护断点) 2. 返回指令 1). RET (依段内、段间不同分别恢复相应断点) 2). RET n (除象RET恢复断点外还应根

10、据n值修设SP)五). 中断指令1. INT n (响应中断时,除象CALL保护断点外,还应保护FR)2. INTO3. IRET (返回时,除象RET恢复断点外,还应恢复FR)五、 串操作指令一). 串操作指令 1. 串传送 MOVS (字节串 MOVSB 字串MOVSW) 2. 串比较 CMPS (字节串 CMPSB 字串CMPSW) 3. 串搜索 SCAS (字节串 SCASB 字串SCASW) 4. 取串 LODS (字节串 LODSB 字串LODSW) 5. 存串 STOS (字节串 STOSB 字串STOSW)二). 重复前缀指令 1. 无条件重复 REP 2. 相等 / 为零重复

11、 REPE / REPZ 3. 不相等 / 不为零重复 REPNE / REPNZ串操作指令特点:1. 可用前缀使其重复操作;2. 每操作一次自动修改SI和DI内容,当DF=0时为增量,DF=1为减量;3. 所有源操作数地址放在SI中,在DS段,串长 64K; 所有目标操作数地址放在DI中,在ES段,串长 64K;4. 用重复前缀时,如果条件满足且CX 0 时重复,每重复一次CX CX1,否则结束重复;5. 重复操作时IP不变,中断返回后继续操作。 重复前缀重复与结束重复的条件:重 复 前 缀 重 复 条 件 结 束 条 件 REP (无条件重复) CX 0 CX = 0REPE / REPZ

12、(相等/为零重复)CX 0 且 ZF=1CX = 0 或 ZF=0REPNE / REPNZ(不相等/不为零重复)CX 0 且 ZF=0CX = 0 或 ZF=1使用串操作指令时注意:1. SI 源串首(末)址DI 目标串首(末)址;2. CX 串长度;3. 设DF 值;4. 选重复前缀;5. 使用条件重复前缀时,判断结束条件(即 是CX=0 还是ZF=0/1结束)六、 处理器控制指令1. 标志位操作1). 清CF CLC (CF=0)2). 置CF STC (CF=1)3). CF取反 CMC 4). 清DF CLD (DF=0)5). 置DF STD (DF=1)6). 清IF CLI (

13、CF=0 关中断)7). 置IF STI (CF=1 开中断)2. 同步控制指令1). ESC 2). WAIT 3). LOCK3. 空操作指令 NOP4. 暂停指令 HLT指令执行时间:计算机中的计时单位:(1). 指令周期:执行一条指令所花的时间;(2). 总线周期:CPU 每访问一次内存或I/O端口所花的时间;(3). 时钟周期(T周期):计算机主频的倒数,用T表示, 即 T=1 / F 4. 本章作业:(带答案)1、 试分别说明下列指令中源操作数和目的操作数采用的寻址方式: 答案: 目的操作数 源操作数(1)MOVAX,0FFFFH 寄存器 立即(2)MOVES,AX 寄存器 寄存器

14、(3)XORCL,100H 寄存器 直接(4)ADDSI,DX 寄存器间 寄存器(5)MOVES:2000H,CL 直接 寄存器(6)SUBBX+SI,1 基+变 立即(7)ADCAX,BX+SI+10H 寄存器 相对基+变(8)PUSHDS 隐含 寄存器(9) CLD 隐含(10) CMPBP+DI,CL 基+变 寄存器2、 若(BX)=1123H,(SI)=1968H,位移量=0313H,(DS)=1971H,试确定由这些寄存器和下列寻址方式产生的有效地址和物理地址: 答案: EA 物址(1) 直接寻址; 0313H 19A23H(2) 用BX的寄存器间接寻址; 1123H 1A833H(

15、3) 用BX的寄存器相对寻址; 1436H 1AB46H(4) 用BX和SI的基址变址寻址; 2A8BH 1C19BH(5) 用BX和SI的相对基址加变址寻址。 2D9EH 1C4AEH3、 连续执行以下指令,并在空格中填写执行指令的结果。 答案:MOVAX,2060HAL=60H AH=20H CF=MOVDS,AXDS=2060H AH=20H CF= ADDAL,AHAL=80H AH=20H CF=0 INCAXAL=81H AH=20H CF=0 MOVDX,512DL=00H DH=02H CF=0 SUBAX,DXAL=81H AH=1EH CF=0 4、编写程序实现下述功能:

16、答案:(1)将BX寄存器的低8位清零,其余位不变。 AND BX , 0FF00H(2)将DL寄存器的最高位置1,其余位不变。 OR DL , 80H(3)将CL寄存器的高4位保持不变,低4位取反。 XOR CL , 0FH(4)测试CX中的最低位,当最低位为0时将AL置1,否则AL置0。答案:TESTCX ,01HJZL1MOVAL ,0HLTL1:MOVAL , 1HLT(5)测试SI,如果SI为奇数将AL置1,否则AL置0。答案:TESTSI ,01HJNZL1MOVAL ,0HLTL1:MOVAL , 1HLT第3章:汇编语言程序设计 1. 本章学习要求 (1). 应熟悉的内容:汇编语

17、言的格式、语句行的构成。(2). 应掌握的内容: 指示性语句、指令性语句及相互区别、作用。(3). 应熟悉掌握的内容:各种结构的汇编语言程序设计的方法,特别是分支结构和循环结构程序的特点和设计。2. 本章重点难点分析:伪指令、程序设计、子程序中参数通过堆栈传递较难。通过看例题、做作业和上机实习解决。如:汇编程序是将由助记符号所编写的汇编语言源程序转换为计算机能直接执行的目标程序的软件,即:汇编程序连接程序目标程序可执行文件 汇编语言源程序 .ASM MASM .OBJ LINK .EXE 上图可看出汇编语言源程序(扩展名为 .ASM)经过“汇编程序”汇编后生成二进制编码的目标程序(.OBJ),

18、再经过“连接程序”生成可执行文件(.EXE)便可以上机执行或使用DEBUG程序进行调试。 而指示性语句(伪指令)是告诉汇编程序如何将汇编语言源程序转换为目标程序的语句,在可执行的目标程序生成后的软件中,伪指令是看不见的。如:SEGMENT是表示一个段的开始,ENDS表示段结束;而ASSUME告诉汇编程序,将某一个段寄存器设置为存放某一个逻辑段的段址,即明确指出源程序中的逻辑段与物理段之间的关系。当汇编程序汇编一个逻辑段时,即可利用相应的段寄存器寻址该逻辑段中的指令或数据。也就是说ASSUME是建立一个段寄存器与段名的对照表,汇编时使汇编程序能找到本段属于哪个段寄存器,在此对照表中所出现的存储器

19、操作数,寻址时只需给出偏移地址,否则还应给出段地址。 关键字NOTHING表示取消前面用ASSUME伪操作对这个段寄存器的设置。使用ASSUME语句,仅仅告诉汇编程序关于段寄存器与定义段之间的对应关系。但它并不意味着汇编后这些段地址已装入了相应的段寄存器中,这些段地址的真正装入,仍需要用程序来完成,且这 4个段寄存器的装入略有不同。 3. 本章典型例题分析:【例1】若从0200H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数都取补后送回。DATA SEGMENT ORG 0200HSTRING DB 4 DUP (-55,5 DUP(6,-10,-8,9),2 DUP(-4,0

20、)DATA ENDSSTACK SEGMENT PARA STACK 'STACK' DB 100 DUP (?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART PROC FARBEGIN: PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV ES, AX MOV CX, 100 LEA SI, STRINGAGAIN: MOV AL, SI AND AL, AL JNS OVER;AL0,跳至OVER NEG AL;AL0,对AL求补

21、OVER: MOV SI, AL INC SI LOOP AGAIN INT 3 RETSTART ENDPCODE ENDS END BEG【例2】数据块间的搬移程序。程序要求把内存中一数据块(称为源数据块)传送到另一存储区(称为目的数据块)。图4-11给出源数据块和目的数据块在存储器中可能的3种情况:两块分离和有部分重叠。对于两个数据块分离的情况,如图4-11(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分部分会因“搬移”而遭破坏,从图4-11(b)和(c)可以得出以下结论:当源数据块首址目的块首址时,从数据块末地址开始传

22、送数据。当源数据块首址目的块首址时,从数据块首地址开始传送数据。流程图如图4-12所示, 00000H 00000H 00000H 源数 据块 源数 目的 据块 数据块 目的 源数 目的 数据块 据块 数据块FFFFFH FFFFFH FFFFFH (a) (b) (c)图4-11 数据块之间的三种情况开 始SI源数据块首址DI目的数据块首址CX搬家字节数(SI)(DI)?NYSI(SI)+(CX)-1DI(DI)+(CX)-1(DI)(SI)SI(SI)+1DI(DI)+1SI(SI)-1DI(DI)-1DI(SI)DI(SI)DI(SI)(CX)=0?(CX)=0?结 束NNYY图 4-1

23、2程序如下:STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKSTART:MOVCX,0010H;取搬家字节数(16个字节)MOVSI,3100H;取源块首址MOVDI,3200H;取目的块首址CMPSI,DI;从首址开始?JAA2;是,转移ADDSI,CX;否,以末地址开始搬家ADDDI,CXDECSIDECDIA1: MOVAL,SI;从末址开始搬家MOVDI,ALDECSIDECDIDECCXJNEA1JMPA3A2:MOVAL,SI;从首址开始搬家MOVDI,ALINCSIINCDIDECCXJNE

24、A2A3:MOVAH,4CHINT21HCODEENDSENDSTART4. 本章作业(带答案):1、计算下列程序分别执行后AX寄存器的内容。(1)MOVAX,0MOVBX,3456HTESTBX,1000HJZNEXT 答案:INCAX NEXT:HLT (AX) = 1 (2)MOVAX,0XORBX,BXAGAIN:INCBXADDAX,BXCMPBX,5JBAGAINHLT (AX) =( 0+1) + 2 ) + 3 ) + 4 ) + 5 ) = 15(3)MOVAL,0FFHCBWINCAXINCAXXCHGAH,ALSHRAH,1RCRAL,1HLT (AX) = 0080H(

25、4)MOVAX,0MOVBX,1234HMOVCX,16AGAIN:SHLBX,1JNCNEXTINCAXNEXT:LOOPAGAINHLT 检测1的个数 (AX) = 52、若在自2000H单元开始有一个1000个字节的数据块,要把它传送到自2200H开始的存储区中去,用以下三中方法,分别编制程序:(1) 不用串操作指令。(2) 用单个传送的串操作数据传送指令。(3) 用带重复前缀的串操作数据传送指令。程序如下:DATASEGMENTORG2000HN1DBn1,n2,n1000N2EQU2000H+10001CONEQU1000DATAENDSSTACKSEGMENTSTACKSTACKD

26、W100DUP(?)STACKENDSCODESEGMENTORG1000HASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKMAINPROCSTART:MOVAX,DATAMOVDS,AXMOVES,AXLEASI,N1+10001 ; (2) ; (3)MOVDI,N2MOVCX,CON;STDL1:MOVAL,SI;MOVSB ;REP MOVSB MOVDI,ALDECSIDECDILOOPL1;LOOP L1MOVAH,4CHINT21HMAINENDPCODEENDSENDSTART3、若在存储器中有数a、b、c、d(它们连续存放),编写一个程序实现:(a

27、 * 10 + b)*10+c)*10+d (假设和小于65535)程序如下:DATASEGMENTBCMDWa,b,c,dDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABCD1PROCFARSTART:MOVAX,DATAMOVDS,AXLEASI,BCMMOVCX,3MOVAX,SIL1:INCSISHLAX,1;(AX)(AX)×2MOVBX,AX;(BX)(AX)×2SHLAX,1;(AX)(AX)×4SHLAX,1;(AX)(AX)×8ADDAX,BX;(AX)(AX)×10ADDAX,SILOOPL

28、1INCSIMOVSI,AX MOVAH,4CHINT21HBCD1ENDPCODEENDSENDSTART4、已知数组A包含10个互不相等的整数,数组B包含15个互不相等的整数。试编写一程序,将既在A中出现又在B中出现的偶数存放在数组C中。程序如下:DATA SEGMENT ORG 0500H DATAA DW A1,A2, A10 DATAB DW B1,B2, B15 COUNTA EQU 10 COUNTB EQU 15 DATAC DW 10 DUP(?) DATA ENDS STACK SEGMENT STACK 'STACK' DB 100 DUP(?) STAC

29、K ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START PROC FAR BEGIN: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV ES,AX MOV DS,AX LEA BX,DATAC;(BX)=数组C首址 CLD LEA SI,DATAA;(SI)= 数组A首址 MOV DX,COUNTA;(DX)= 数组A元素个数 LP1: LODSW;取数组A元素到AX LEA DI,DATAB;(DI)= 数组B首址 MOV CX,COUNTB;(CX)= 数组B元素个数 REPNE

30、SCASW ;(AX)= 数组B元素?不同重复 JNZ NEXT;B中无此A元素转NEXT TEST AX,01H JNZ NEXT MOV BX,AX;有A元素且是偶数存入C中 INC BX INC BX NEXT: DEC DX JNZ LP1 INT 3 START ENDP CODE ENDS END BEGIN5、若自STRING开始有一个字符串(以$号作为字符串的结束标志),请编程查找此字符串中有无字符#,有多少个#,并将个数存放在NUMBER字单元中,且把每一个#字符所存放的偏移地址放到自POINTER开始的连续存储字单元中。程序如下:DATA SEGMENTORG 0100HS

31、TRING DB '593#6707#84BK47#68H#8K8#497$'NUMBER DB ?POINTER DW50 DUP (?)DATA ENDSSTACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART PROC FARBEGIN: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV ES,AX MOV DS,AX LEA SI,STRING LEA D

32、I,POINTER XOR BL,BL ;BL清0AGAIN: MOV AL,SI CMP AL,$ ;与$比较 JZ STOP CMP AL,# JNZ NEXT MOV DX,SI MOV DI,DX INC DI INC DI INC BLNEXT: INC SI JMP AGAINSTOP: LEA DI,NUMBER MOV DI,BL INT 3START ENDPCODE ENDS END BEGIN第4章:8088的总线操作和时序(除第六节 8253)1. 本章学习要求(1). 应熟悉的内容:指令周期、总线周期、时钟(T)周期,8088的时序特别是存储器读、写周期,I/O周期以

33、及中断响应周期 ,8088在最小和最大组态时的硬件连接图。(2). 应掌握的内容:8282、8284、8286、8288在系统中的作用(3). 应熟悉掌握的内容:8088的地址总线、数据总线、控制总线(特别是:、 、 、 INTR、NMI、HOLD、HLDA引线的含义及作用)2. 本章重点难点分析:8088的时序特别是存储器读、写周期,I/O周期以及中断响应周期 ,8088在最小和最大组态时的硬件连接图。、 、 、 INTR、NMI、HOLD、HLDA引线的含义及作用。通过看例题、做作业和上机实习解决。3. 本章典型例题分析:8088CPU控制总线:(最小模式)与I/O连接 与存储器连接 与其

34、他芯片连接NMIALE (8282)INTRREADY (8284)INTARESET (8284)HOLDCLK (8284)HLDADEN (8286)RDDT/ R (8286) WRS2S0 (8288) IO/MTEST注意:是要求记住一、8282 (地址锁存器)的作用:在T1时锁存地址信息。二、 8284(时钟发生器)的作用:1. 提供系统时钟CLK2. 同步RESET3. 同步READY4. 提供其他系统时钟三、8286(总线缓冲器)的作用:1. 数据缓冲2. 增强总线负载能力3. 控制数据传送方向四、8288(总线控制器)的作用: 在8088/8086 工作在最大模式时,根据S

35、2S0的信号,输出系统各种控制信号第5章: 1. 本章学习要求 (1). 应熟悉的内容:半导体存储器的种类及各自的特点;。(2). 应掌握的内容:IBM PC/XT存储空间分配。(3). 应熟悉掌握的内容:如何用74LS138将2114、2716等存储器芯片连成系统(采用全译码方式安排到指定空间) 。 2.本章重点难点分析:本章的重点也是难点,即微机中的存储器连接。3. 本章典型例题分析:存储器地址译码存储器系统设计是将所选芯片与所确定的地址空间联系起来,即将存储单元与实际地址一一对应,这样才能通过寻址对存储单元进行读写。每一个存储器芯片都有一定数量的地址输入端,用来接收CPU的地址输出信号。

36、CPU的地址输出信号,原则上每次只能寻址到一个存储单元,到底一个地址信号能够寻址到哪个芯片(或几个芯片共同组成一个8位的单元)上的哪一个单元,这就要由地址译码电路来确定。地址译码电路将CPU的地址信号按一定的规则译码成某些芯片的片选信号和地址输入信号,被选中的芯片即CPU寻址的芯片。译码电路在CPU寻址时所起的作用十分重要,根据实际情况,可采用简单的逻辑电路或专用的译码器电路来实现。而74LS138便是经常采用的一种译码器芯片。它是一个3-8译码器,即3个地址信号输入,可被译码产生07共8个译码信号输出。图7-21给出了74LS138的逻辑符号,表7-3是它的译码真值表。从表中可见,当输入端A

37、,B,C为某一种输入状态时,输出端07中只有一个是有效电平(低电平L)输出,其它输出端均为无效电平(高电平H)。表7-3 74LS138译码器真值表 (L-低电平 H-高电平)地址输入允许输入输 出CBA12 G301234567LLLLHHHHLLHHLLHHLHLHLHLHLLLLLLLLLLLLLLLLHHHHHHHHLHHHHHHHHLHHHHHHHHLHHHHHHHHLHHHHHHHHLHHHHHHHHLHHHHHHHHLHHHHHHHHL 存储器与微处理器的连接 存储器芯片的外部引脚按功能可分为三组:数据线(DB)、地址线(AB)和控制线(CB)。在微型计算机中,CPU对存储器进行

38、读写操作,首先要由地址总线给出地址信号,然后发出读写控制信号,最后才能在数据总线上进行数据的读写。所以,CPU与存储器连接时,其地址线、数据线和控制线都必须和CPU建立正确的连接,才能进行正确的读写操作。在连接时应注意以下问题:1CPU总线的带负载能力CPU在设计时,一般输出线的带负载能力为1个TTL。现在存储器为MOS管,直流负载很小,主要是电容负载,故在小型系统中,CPU总线的负载能力是可以驱动存储器系统的,CPU可直接与存储器相连。而在较大系统中,当CPU和大容量的标准ROM、RAM一起使用或扩展成一个多插件系统时,就必须用接入缓冲器或总线驱动器等方法增加 CPU总线的驱动能力。地址总线

39、只需接入单向的驱动器,例如 74LS244、74LS373等,而数据总线则需要接入双向驱动器,例如 74LS245等。2CPU时序与存储器存取速度之间的配合CPU的取指周期和对存储器读写都有固定的时序,由此决定了对存储器存取时序和速度的要求。所以,在选择存储器芯片时,就应考虑与CPU速度的匹配问题。具体地说,CPU对存储器进行读操作时,CPU发出地址和读命令后,存储器必须在限定时间内给出有效数据。而当CPU对存储器进行写操作时,存储器必须在写脉冲规定的时间内将数据写入指定存储单元,否则就无法保证迅速准确地传送数据,当所选存储器速度跟不上CPU时序时,设计系统时应注意插入Tw 。不过,随着大规模

40、集成电路的迅速发展,目前存储器芯片与CPU的速度匹配已不成大问题。3数据线的连接在微机中,无论字长是多少,一般每个存储体(8位机为单存储体,16位机为双体,32位机为4体)都是以一个字节为基本单位来划分存储单元的,即每8位为一个存储单元,并对应一个存储地址。但由于存储芯片的内部结构不同,有的芯片一个地址对应8个存储位,有8条数据引线,如2716、27128;而有的芯片一个地址对应4个存储位,数据引线只有4条,如2114;还有的芯片只有一个存储位,只有一根数据输入、输出线,如2118。当用这些存储字长不是8位的芯片构成内存时,必须用多片合在一起,并行构成具有8位字长的存储单元。比如2114,需同时用两片;而2118,则需同时用8片。在用多片构成存储单元时,应将它们的地址线、控制线完全是并联在一起的,数据线则分别接在数据总线的不同线上。4存储器片选控制方法一般说来,一个微机系统的内存储器不可能仅由一个存储器芯片组成,而是由几片甚至几十片组成。因此,内存储器的构成原理实质上就是用多个存储器芯片构成存储器系统,并使之与CPU总线正确接口的原理。为了简化存储器地址译码电路设计,应尽量选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论