微机原理与接口技术课后习题答案_第1页
微机原理与接口技术课后习题答案_第2页
微机原理与接口技术课后习题答案_第3页
微机原理与接口技术课后习题答案_第4页
微机原理与接口技术课后习题答案_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章1.1 解:五代,详细见书1.2 解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件 控制器和运算器的微处理器为核心,所构造出的计算机系统。PC机:PC( Person al Computer )机就是面向个人单独使用的一类微机。单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM RAM定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。数字信号处理器DSP主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用1.3 解:微机主要有存储器、I/O设

2、备和I/O接口、CPU系统总线、操作系统和应用软件组 成,各部分功能如下:CPU统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口: I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源1.4 解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交 换。好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线。其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一 个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。1.5 解:(1)用于数值计算、数据处理及信息

3、管理方向。采用通用微机,要求有较快的工作 速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友 好的操作界面和简便快捷的维护、扩充手段。(2)用于过程控制及嵌人应用方向。采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作, 要求其实时性要好、强调其体积要小、便携式应用强调其省电。1.6 解:1.7 解:I/O 通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。由10根信号线组成(A9-A0)。1.8 解:BIOS:基本输入输出系统。主要功能:用来驱动和管理诸如键盘、显示器、

4、打印机、磁盘、时钟、串行通信接 口等基本的输入输出设备1.9 解:基本RAM区:640KB 保留RAM区:128KB 扩展 ROME: 128KB 基本 ROME: 128KB1.10 解:(1) 、数一用来直接表征量的大小,包括:定点数、浮点数。(2) 、码一用来指代某个事物或事物的某种状态属性,包括:二进制、八进制、十 进制、十六进制。区别:使用场合不同,详见P16.1.11 解:(1)(174.66) w (10101110.101012(174.66) !。(AE.A8)16(2)(100011101011.010112(2283.34375。(100011101011.010112

5、(8EB.58)16(3)(F18A6.6)16(11110001100010100110.0110)(F18A6.6)16(989350.37501.12 解:原码反码补码+37 00100101/25H 00100101/25H00100101/25H-37 10100101/A5H 11011010/DAH11011011/DBH1.13 解:+37-3716位32位16位32 位00 25H00 00 00 25HFF 5BHFF FF FF 5BH1.14 解:无符号数:70D补码有符号数:70DBCD码:46DASCII:F1.15 解:1)、相加后若出现和大于 9,则将和减去10

6、后再向高位进12) 、若出现组间进位,则将低位加61.16 解:详见课本16页。1.17 解:C3 40 20 001.18 解:5050H十进制值5080进制丨六进制进制|丨六进制0011 0010B32H0101 0000B50H1.19 解:D: 44H d : 64HCR 0DHLF: 0AH 0: 30H SP: 20HNUL:OOH1.20 解:国标码:36 50H 机内码:B6 B0H第3章3.2 解:(1)完整的汇编语言源程序由段组成(2)个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与 段之间的顺序可随意排列(3)需独立运行的程序必须包含一个代码段,并指示程

7、序执行的起始点,一个程序 只有一个起始点(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任 一段内(5)通常,程序还需要一个堆栈段3.3 解:存储模式特点TINYCOM类型程序,只有一个小于64KB的逻辑段(MASM 6.x支持)SMALL小应用程序,只有一个代码段和一个数据段(含堆栈段),每段不大于64KBCOMPACT代码少、数据多的程序,只有一个代码段,但有多个数据段MEDIUM代码多、数据少的程序,可有多个代码段,只有一个数据段LARGE大应用程序,可有多个代码段和多个数据段(静态数据小于64KB)HUGE更大应用程序,可有多个代码段和多个数据段(对静态数据没有

8、限制)FLAT32位应用程序,运行在 32位80x86CPU和 Windows 9x或NT环境3.4 解:开始位置:用标号指明返回DOS利用DOS功能调用的4CH子功能来实现 汇编停止:执行到一条END伪指令时,停止汇编3.5 解:段定位、段组合和段类型。3.6 解:stack segme nt stackdb 1024(0)stack endsdata segme ntstring db Hello,Assembly! , 0dH, 0aH, $data endscode segme nt codeassume cs:code,ds:data,ss:stackstart: mov dx,of

9、fset stri ngmov ah,9 int 21hcode endsend start3.7 解:(1) . EXE 程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序(2) . COM 程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM吉构的可执行程序(MASM 6.x需要采用TINY模式)3.8 解:符号定义伪指令有“等价EQU和“等号=”:符号名EQU数值表达式符号名EQU 字符串符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。例如:X= 7;等效于:X equ 7X= X+5;“X

10、EQU X+5 是错误的3.9解:(1)al=67h(2)ax=133h,dx=4h(3)ax=0230h(4)al=41h(4)ax=7654h3.10解:(1)41441145h46h-1?444-1?444-1?444h2300hhh(2)10h00h0fbh0ffh?3.11 解:.datamylb db Pers onal Computermy2b db 20my3b db 14hmy4b db 00010100b my5w dw 20 dupmy6c = 100my7c = vPers onal Computer3.12 解:利用定位伪指令控制,如org,eve n,alig n3

11、.13 解:包括逻辑地址和类型两种属性。3.14 解:;数据段org100hvarwdw1234h55678hvarbdb3,4varddd12345678hbuffdd10 dupmessdbHello;代码段mov ax5offsetvarb+offsetmessmov ax5typebuff+typemess+ typevardmov ax5sizeofvarw+ sizeofbuff+ sizeof messmov axlen gthofvarw+ len gthofvard3.15 解:(1) 1000超过一个字节所能表达的最大整数(2) SI应为偶数(3) 两个内存单元不能直接运算

12、(4) 应改为al+1(5) 条件转移指令后面应接标号,而不是变量mov ah,1 int 21h sub al,20h mov dl,al mov ah,2 int 21h;只允许输入小写字母;转换为大写字母3.16 解:3.17解:mov bx,offset LEDtablemov al,led numxlat3.18解:mov ax, bufX cmp ax, bufY jae done mov ax, bufYdone:mov bufZ, ax3.19解:.model small.stack.databufXdw -7sig nXdb ?.code.startupcmp bufX,0;

13、test bufX,80hjl next;jnz n extmov sig nX,0jmp donen ext:mov sig nX,-1done:.exit 0 end;显示mov dl, 2nextl:mov ax,bufX cmp ax,bufY je n ext1 dec dlcmp ax,bufZn ext2:je n ext2 dec dl mov ah,23.21 解:int 21h;代码段mov al, nu mbermov bx,0;BX-记录为1的位数resta 比cmp al,0;AL = 0结束aga in:jz do ne shr al,1;最低位右移进入 CFjc

14、n ext;为1,转移inc bx;不为1,继续n ext:jmp aga in push axpush bx shl bx,1;位数乘以2 (偏移地址要用jmp addrsbx;间接转移:IP - table +;以下是各个处理程序段fun 0:mov dl,0fun 1:jmp disp mov dl,1fun 2:jmp disp mov dl,2fun 3:jmp disp mov dl,3fun 4:jmp disp mov dl,4fun5:jmp disp mov dl,5fun 6:jmp disp mov dl,6fun7:jmp disp mov dl,7jmp disp3

15、.20 解:2个字节单元)BXmov ah,2 int 21h pop bx pop ax jmp restart don e:disp:;显示一个字符编制程序完成 12H、45H 0F3H 6AH 20H 0FEH 90H、0C8H 57H 和 34H 等 10 SUM中 (不考虑溢出和进位)。3.22个字节数据之和,并将结果存入字节变量;wjxt322.asmb datanumsumagain:.model small.stack .data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h equ 10 db ?.code .startup xo

16、r si, si xor al, al mov cx, num add al, b_datasi inc si loop aga in mov sum, al .exit 0 end;原始数据3.23;wjxt323.asm求主存0040h: 0开始的一个start:again:n ext:.model small.codemov ax,0040h mov ds, axmov si, 0:mov cx, si:xor ax, ax:cmp byte ptr si, 20h jne n ext:inc ax:inc si:loop aga in.exit 0数据个数 预留结果单元位移量清零 取第

17、一个数 累加次数;累加指向下一个数 如未完,继续累加 完了,存结果64KB物理段中共有多少个空格 ?送段地址偏移地址 计数(循环次数) 空格计数器清零;与空格的 ASCII码比较 不是空格,转 是空格,空格数加 1 修改地址指针cx = cx 1,女口 cx = 0退出循环end start3.24 编写计算100个16位正整数之和的程序。如果和不超过16位字的范围(65535),则保存其和到答:wordsum,如超过则显示 overflow 。;数据段cou nt parray wordsum msgequ 100dw count dup;假设有100个数据dw 0db overflow ,

18、 $;代码段mov cx,co untmov ax,0mov bx,ofset parrayaga in:add ax,bxjnc nextmov dx,offset msgmov ah,9int 21h;显示溢出信息jmp done;然后,跳出循环体n ext:add bx,2 loop aga inmov wordsum,axdon e:3.25编程把一个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数。转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000 ,得到“千位”;依次用余数除以100、10和I,得到“百位”、“十位”和“个位”;wjxt32

19、5.asm.model small.stack 256.dataarray dbcddw ?;源字数据db 5 dup;五位bcd结果,高对高低对低.code.startupmov dx, array;取源数据(余数)mov bx, 10000;除数mov cx, 10;除数系数mov si, 4;目的数据咼位位移量aga in:mov ax, dx; dx.ax 中存放被除数mov dx, 0div bx;除于bx,商ax,余数dxmov dbcdsi, al;商 10,存结果push dx;暂存余数mov ax, bx;除数除于10mov dx,0div cx;dx.ax除于cx,商ax、

20、余数0存在dxmov bx, axbx是除数pop dxdec si;目的数据位移量减 1jnz aga inmov dbcd, dl;存个位数( 10).exit 0end3.26 解:(1) 汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下:过程名 PROC NEAR|FAR;过程体过程名 ENDP(2) 保护用到的寄存器内容,以便子程序返回时进行相应的恢复。(3) 改错:crazy procpishbxpushcxxor ax,axxor dx,dxaga in: adda,bxadc dx,0inc bxinc bxloopaga inpop cxpop bx3.2

21、7 解(不需调用HTOAS(子程序):aga in:mov ah,1int 21hcmp al,1bh; ESC的 ASCII 码是 1bhje do nemov dl,almov ah,2int 21h;是大写字母则转换为小写字母jmp aga indon e:3.28 解答:asctobprocpush cx and dh,0fh;先转换十位数shl dh,1;十位数乘以10 (采用移位指令)mov ch,dh shl dh,1 shl dh,1 add dh,ch and dl,0fh;转换个位数add dh,dl;十位数加个位数mov al,dh;设置出口参数asctobpop cx

22、ret en dp3.29 解:DIPASCproc;入口参数:AL要显示的一个16进制数push cx push dx push ax mov cl,4;转换高位shr al,cl call HTOASC mov dl,al;显示mov ah,2int 21h pop ax;转换低位call HTOASC mov dl,al;显示mov ah,2int 21h mov dl, H;显示一个字母“ HDIPASCmov ah,2 int 21h pop dx pop cx ret en dpHTOASCproc;将AL低4位表达的一位16进制数转换为 ASCII码and al,0fh cmp

23、al,9 jbe htoasc1 add al,37h;是OAH- 0FH,力口 37H转换为 ASCII码ret;子程序返回htoascl:HTOASCadd al,30h ret en dp;是09,力口 30H转换为ASCII码;子程序返回3.30 解: lucaseproccaseO:push bxmov bx,offset stri ng cmp al,0je case0cmp al,1jz case1cmp al,2jz case2jmp donecmp byte ptr bx,0je do ne cmp byte ptr bx,Ajb n ext0 cmp byte ptr bx

24、,Zn extO:ja n ext0add byte ptr bx,20h inc bxcasel:jmp case0 cmp byte ptr bx,0je do ne cmp byte ptr bx,ajb next1 cmp byte ptr bx,znext1:ja n ext1sub byte ptr bx,20h inc bxcase2:jmp case1 cmp byte ptr bx,0je do ne cmp byte ptr bx,Ajb next2 cmp byte ptr bx,Znext20:ja next20add byte ptr bx,20h jmp n ext

25、2cmp byte ptr bx,ajb next2 cmp byte ptr bx,zja n ext2sub byte ptr bx,20hn ext2:inc bxdone:jmp case2pop bxlucaseret en dp3.31 解:(1)用寄存器传递参数:最简单和常用的参数传递方法是通过寄存器,只要把参数存于约定的寄存器中就可以 了由于通用寄存器个数有限,这种方法对少量数据可以直接传递数值,而对大量数据只 能传递地址采用寄存器传递参数,注意带有出口参数的寄存器不能保护和恢复,带有入口参数的 寄存器可以保护、也可以不保护,但最好能够保持一致(2)用共享变量传递参数子程序和主

26、程序使用同一个变量名存取数据就是利用共享变量(全局变量)进行参数 传递如果变量定义和使用不在同一个源程序中,需要利用PUBLIC、EXTREt声明如果主程序还要利用原来的变量值,则需要保护和恢复利用共享变量传递参数,子程序的通用性较差,但特别适合在多个程序段间、尤其在 不同的程序模块间传递数据(3)用堆栈传递参数参数传递还可以通过堆栈这个临时存储区。主程序将入口参数压入堆栈,子程序从堆 栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们采用堆栈传递参数是程式化的,它是编译程序处理参数传递、以及汇编语言与高级语 言混合编程时的常规方法3.32 解:方法:主程序将入口参数压入堆栈,子程

27、序从堆栈中取出参数;子程序将出口参数 压入堆栈,主程序弹出堆栈取得它们注意:压栈与弹栈必须要一一对应。3.33 解: 方法1 : neg32proc;入口参数:DX.AX- 32位有符号数neg ax;实现0 DX.AX功能neg dxsbb dx,0;这条指令也可以用 dec dx代替retneg32方法2:en dp;出口参数:DX.AX- 32位有符号数的补码neg32proc;入口参数:DX.AX- 32位有符号数not axnot dx;实现DX.AX求反加1add ax,1adc dx,0retneg32 endp;出口参数: DX.AX= 32 位有符号数的补码3.34 解:ar

28、ray cou nt resultchecksumsum:checksum;数据段db 12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90h equ $-array;数组元素个数db ?;校验和;代码段mov bx,offset array;BX J数组的偏移地址mov cx,cou nt;CX J数组的元素个数call checksum;调用求和过程mov result,al;处理出口参数mov ax,4c00hint 21h;计算字节校验和的通用过程;入口参数:DS:BX=数组的段地址:偏移地址,;出口参数:AL=校验和;说明:除AX/BX/CX外,不影响其他

29、寄存器procxor al,al;累加器清0add al,bx;求和inc bx;指向下一个字节loop sumreten dpend;数组3.35 解:.model small .stack.datawdatadw 34abh.code.startup mov ax,wdata call dispa .exit 0dispaproc push ex push dx mov el,4 mov dl,ah shr dl,el call dldisp mov dl,ah and dl,0fh call dldisp mov dl,al shr dl,el call dldisp mov dl,al

30、 and dl,0fh call dldisp pop dx pop cx retdispaen dpdldisp5proc push ax or dl,30h cmp dl,39h jbe dldisp1 add dl,7dldispl:mov ah,2 int 21h pop ax retdldispen dp end.model small.stack.datawdata wordtempdw 34abh dw ?.code.startup mov ax,wdata mov wordtemp,ax call dispa.exit 0dispaproc push ex push dx mo

31、v el,4mov dl,byte ptr wordtemp+1 shr dl,clcall dldispmov dl,byte ptr wordtemp+1 and dl,0fh call dldispmov dl,byte ptr wordtemp shr dl,cl call dldispmov dl,byte ptr wordtemp and dl,0fh call dldisp pop dxpop cxretdispaen dpdldisp5proc push ax or dl,30h cmp dl,39h jbe dldisp1 add dl,7dldispl:mov ah,2 i

32、nt 21h pop ax retdldispen dp end.model small.stack.datawdatadw 34abh .code .startup push wdata call dispapop ax;add sp,2.exit 0dispa5proc push bp mov bp,sp push ax push ex push dx mov ax,bp+4 mov el,4 mov dl,ah shr dl,el call dldisp mov dl,ah and dl,0fh call dldisp mov dl,al shr dl,el call dldisp mo

33、v dl,al and dl,0fh call dldisp pop dx pop cx pop ax pop bp retdispaen dpdldisp5proc push ax or dl,30h cmp dl,39h jbe dldispl add dl,7dldispl:mov ah,2 int 21h pop ax retdldispen dp end3.36 解:如果利用共享变量传递函数,且变量定义和使用不在同一个源程序中,需要利用PUBLIC、EXTERN明。3.37 解:(1宏定义由一对宏汇编伪指令 MACR和ENDM来完成,格式如下:宏名MACRO形参表;宏定义体ENDM宏

34、定义之后就可以使用它,即宏调用:宏名实参表(2) 宏调用的格式同一般指令一样:在使用宏指令的位置写下宏名,后跟实体参数; 如果有多个参数,应按形参顺序填入实参,也用逗号分隔(3) 宏展开:在汇编时,宏指令被汇编程序用对应的代码序列替代,这就是宏展开宏展开的具体过程是:当汇编程序扫描源程序遇到已有定义的宏调用时,即用相应的 宏定义体完全替代源程序的宏指令,同时用位置匹配的实参对形参进行取代3.38 解:宏调用的参数通过形参、实参结合实现传递,简捷直观、灵活多变。宏汇编的一大特 色是它的参数。宏定义时既可以无参数,也可以有一个或多个参数;宏调用时实参的形式 也非常灵活,可以是常数、变量、存储单元、

35、指令(操作码)或它们的一部分,也可以是 表达式;只要宏展开后符合汇编语言的语法规则即可。3.39 解:宏:仅是源程序级的简化:宏调用在汇编时进行程序语句的展开,不需要返回;不减 小目标程序,执行速度没有改变 通过形参、实参结合实现参数传递,简捷直观、灵活多变子程序:还是目标程序级的简化:子程序调用在执行时由 CALL指令转向、RET指令返回;形成的目标代码较短,执行速度减慢 需要利用寄存器、存储单元或堆栈等传递参数选择:宏与子程序具有各自的特点,程序员应该根据具体问题选择使用那种方法。通 常,当程序段较短或要求较快执行时,应选用宏;当程序段较长或为减小目标代码时,要 选用子程序3.40 编写一

36、个宏指令 move doprnd,soprnd ,它实现任意寻址方式的字量源操作数 soprnd送到目的操作数doprnd,包括存储单元到存储单元的传送功能。答: movemacro dopr nd,sopr ndmov ax,sopr nd mov dopr nd,ax endm3.41 定义一个宏logical ,用它代表4条逻辑运算指令:and/or/xor/test。注意需要利用3个形式参数,并给出一个宏调用以及对应宏展开的例子。答: logicalmacro lcode,dopd,sopdIcode dopd,sopd endm例如,如果使用“ and ax,bx ” logical

37、 an d,ax,bx指令,可以利用该宏定义,写出宏指令如下3.42解:utolmacrolocal n extcmp al, A:小于“ A”不转换jb n extcmp al, Z:大于“ A”不转换ja n extadd al,20h:是大写字母则转换为小写字母n ext:endm3.43定义一个宏 movestr strn,dstr,sstr ,它将strn 个字符从一个字符区sstr 传送到另一个字符区dstr解:(假设它们都在数据段)movestrmacro strn,dstr,sstrmov cx,dsmov es,cxmov cx,strnmov di,offset dstrm

38、ov si,offset sstrcldrep movsb;重复传送 ES:DI DS:SIendm第五章5.1 解:主存的作用:保存正在使用的、处于活动状态的程序和数据。辅存的作用:长期保存程序文件和数据文件,在需要时将这些文件调入RAM内存并激活使用。cache的作用:提高对存储器的访问速度。虚拟存储:由容量较小的主存和容量较大的辅存构成,其目标是扩大程序员眼中的 王存容量。区别:通过存储器访问指令用户可对主存进行随机访问;用户利用操作系统提供的 用户命令和功能调用对辅存进行访问。5.2 在半导体存储器中,RAM指的是随机存取存储器 ,他可读可写,但断电后信息一 般会丢失:而ROM指的是只

39、读存储器,正常工作时只能从中读取信息,但断电后信息不会丢失。以EPROM芯片2764为例,其存储容量为 8KX 8位,共有_8_条数据线和13条地址线。用它组成 64KB的ROM存储区共需8片2764芯片。5.3 解:双译码方式使得地址译码器的输出线的数目大为减少,使得芯片设计得时候复杂度就低了。地址线A9A4根数据线I/O 4- I/O i片选CS*读写WE*5.4 解:假想的RAM有 12根地址线、4根数据线片选端CS*或CE*:有效时,可以对该芯片进行读写操作,通过对系统高位地址线的译码来选中各个存储芯片输出0E*:控制读操作。有效时,芯片内数据输出,该控制端对应系统的读控制线MEMR*

40、(MRDC*)写WE*控制写操作。有效时,数据进入芯片中,该控制端对应系统的写控制线MEMW*(MWTC*)5.5 解:位片结构:每个存储单元具有一个唯一的地址,可存储1位。(4116)字片结构:每个存储单元具有一个唯一的地址,可存储多位。(2114)5.6 解:组成单元速度集成度应用SRAM触发器快低小容量系统DRAM极间电容慢高大容量系统NVRAM带微型电池慢低小容量非易失掩膜ROM信息制作在芯片中,不可更改PROM允许一次编程,此后不可更改EPRO M用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程EEPROIM E2PROM :采用加电方法在线进行擦除和编程,也可多次擦写Flash

41、 Memory (闪存):能够快速擦写的EEPROM但只能按块(Block )擦除5.7 解:位扩充一一存储器芯片数据位数小于主机数据线数时,利用多个存储器芯片在数据 “位”方向的扩充;地址扩充(字扩充)一一当一个存储器芯片不能满足系统存储容量时,利用多个存 储器芯片在“地址”方向的扩充组成32KB存储空间,用 SRAM 2114( 1KX 4)需要64个芯片;组成32KB存储空间,用 DRAM 4116( 16KX 1)需要16个芯片;它们都需要进行位扩充和地址扩充5.8 解:片选信号说明该存储器芯片是否被选中正常工作,设置它可以比较方便地实现多个 存储器芯片组成大容量的存储空间存储器片选信

42、号通常与 CPU地址总线的高位地址线相关联,可以采用“全译码”、 “部分译码”、“线选译码”方式采用全译码方式可以避免地址重复采用部分或线选译码可以节省译码硬件5.9 解:24 = 165.10 解:一牛可用地址重境地址右)Y1*626420003FFFH42000- i3FFFB82000-83FFFH2000C3FFFH5.11 解:贏1915 地址12OLOO010QoooOOl全0全1 全0 j全14OOOOH-41KFFH42000H -43PFPH5.12 解:5.13 解:B 138习题5.11图0EWF OF+ JVHENWUtmTRy A月地耻1till全1全1FR000H-

43、F9FFFH21111101主Of全1FAOOOHFfiFFFH31111no全Of IFCMOH-FDFFFH41111111全 0 1FEOOOM -FFFFPHA恂氏4A_K2Eliri:NRB I15SCECE习题5.13图CI:CE271 (1)(27&4(2)P 7S1(312T4 1OEoiT015.14 解:动态随机存取存储器 (DRAM)的存储单元电路 动态存储单元是由 MOS管的栅极电 容C和门控管组成的。数据以电荷的形式存储在栅极电容上,电容上的电压高表示存 储数据1 ;电容没有储存电荷, 电压为0 ,表明存储数据0。因存在漏电,使电容 存 储的信息不能长久保持,为防止信

44、息丢失,就必须定时地给电容补充电荷,这种操作称为“刷新”由于要不断地刷新,所以称为动态存储。 方法:采用“仅行地址有效”方法刷新; 刷新周期:15 s刷新次数:1285.15 解:4256KBA19-A1645.16 解:访问的局部性原理:在一个较短的时间间隔内,由程序产生的地址往往集中在存储 器逻辑地址空间的很小范围内。指令地址的分布本来就是连续的,再加上循环程序段和 子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时间上集中分布的倾 向。数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选 择都可以使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对

45、此范围 以外的地址则访问甚少的现象,就称为程序访问的局部性。cache的作用:提高对存储器的访问速度。虚拟存储:其目标是扩大程序员眼中的主存容量。第七章7.1 解:总线:指可以由多个信息处理单元所共享的信息通道。 使用特点:在某一时刻,只能由一个主设备控制总线,其他主设备此时可作为从设备出现 在某一时刻,只能有一个设备向总线上发送数据,但可以有多个设备从总线上接 收数据7.2在各种微机总线中,根据总线连接对象的不同可将它们分为以下几类,它们是:_内总线、 芯片总线、 板级总线、 设备总线和互连总线_。例如,ISA总线属于板级总线, USB总线属于设备总线,l2C总线属于芯片总、线。总线中除电源

46、和地线外的信号线,也可 按传输信息的不同分为以下3类,即:数据总线 、地址总线、控制总线。7.3 解:分时复用就是一个引脚在不同的时刻具有两个甚至多个作用总线复用的目的是为了减少对外引脚个数在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或 I/O端口的低8位地址A7 A0 ,其他时间用于传送 8位数据D7 DO7.4 解:并行总线:多维数据通过多根信号线同时进行传递。 并行同步传输、并行异步传输见P174。7.5 解:见 P174.7.6 解:总线的性能指标包括:总线宽度、标准传输、时钟同步/异步、总线复用、信号线数、总线控制方式总线宽度:它是指数据总线的根数,用bit

47、 (位)表示,如8位、16位、32位、64位。7.9 解:DOD7: 8位双向数据总线A0A19: 20位输出地址总线ALE:地址锁存允许,每个 CPU总线周期有效IOR* : I/O读,输出IOW*: I/O写,输出IO CH RDY: I/O 通道准备好,输入第九章9.1 解:软件延时、不可编程的硬件定时、可编程的硬件定时9.2 解:CLK时钟输入信号一一在计数过程中,此引脚上每输入一个时钟信号(下降沿),计 数器的计数值减1GAT日1控输入信号一一控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号一一当一次计数过程结束(计数值减为0), OUT引脚上将产生一个输出信号9.3 解:8253每个通道有6_种工作方式可供选择。 若设定某通道为方式 0后,其输出引脚为 基电平;当写入计数初值(并进入减1计数器)后通道开始计数,CLK信号端每来一个脉冲 减1计数器 就减1;当 计数器减为0,则输出引脚输出高 电平,表示计数结束。8253的CLK0接1.5MHz的时钟,欲使OUTC产生频率为 300KHz的方波信号,贝U 8253 的计数值应为 5 (= 1.5MHz* 300KHZ),应选用的工作方式是 39.4 解:(1) mov al,50h mov dx,207h out d

温馨提示

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

评论

0/150

提交评论