




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章解:五代,详细见书解:微型运算机:以大规模、超大规模集成电路为要紧部件,以集成了运算机要紧部件一操纵器和运算器的微处置器为核心,所构造出的运算机系统。PC机:PC(PersonalComputer)机确实是面向个人单独利用的一类微机。单片机:用于操纵的微处置器芯片,内部除CPU外还集成了运算机的其他一些要紧部件汝口:ROM、RAM、按时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。数字信号处置器DSP:要紧面向大流量数字信号的实时处置,在宿主系统中充当数据处置中心,在网络通信、多媒体应用等领域正取得愈来愈多的应用解:微机要紧有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部份功能如下:CPU:统一和谐和操纵系统中的各个部件系统总线:传送信息存储器:寄存程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:治理系统所有的软硬件资源解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息互换。益处:组态灵活、扩展方便三组信号线:数据总线、地址总线和操纵总线。其利用特点是:在某一时刻,只能由一个总线主控设备来操纵系统总线,只能有一个发送者向总线发送信号;但能够有多个设备从总线上同时取得信号。解:(1)用于数值计算、数据处置及信息治理方向。采纳通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的保护、扩充手腕。(2)用于进程操纵及嵌人应用方向。采纳操纵类微机,要求能抗击各类干扰、适应现场的恶劣环境、确保长时刻稳固地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。解:
解:I/O通道:位于CPU和设备操纵器之间,其目的是承担一些原先由CPU处置的I/O任务,从而把CPU从繁杂的I/O任务中摆脱出来。由10根信号线组成(A9-A0)。解:BIOS:大体输入输出系统。要紧功能:用来驱动和治理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等大体的输入输出设备解:大体RAM区:640KB保留RAM区:128KB扩展ROM区:128KB大体ROM区:128KB解:(1)、数一用来直接表征量的大小,包括:定点数、浮点数。(2)、码一用来指代某个事物或事物的某种状态属性,包括:二进制、八进制、十进制、十六进制。区别:利用处合不同,详见P16.解:(1)(174.66)=(10101110.10101)TOC\o"1-5"\h\z10 2(174.66)=(AE.A8)10 16(100011101011.01011)=(2283.34375)2 10(100011101011.01011)=(8EB.58)2 16(F18A6.6)=(11110001100010100110.0110)162(F18A6.6)=(989350.375)16 10解:原码 反码 补码+37 00100101/25H 00100101/25H 00100101/25H-37/A5H/DAH/DBH解:+37-3716位32位16位32位0025H00000025HFF5BHFFFFFF5BH解:无符号数:70D补码有符号数:70DBCD码:46DASCII:F解:1)、相加后假设显现和大于9,那么将和减去10后再向高位进12)、假设显现组间进位,那么将低位加6解:详见讲义16页。解:C3402000解:5050H十进制值5080二进制十六进制二进制十六进制00110010B32H01010000B50H解:D:44Hd:64HCR:0DHLF:0AH0:30HSP:20HNUL:00H解:国标码:3650H机内码:B6B0H第3章解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序能够包括假设干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列(3)需独立运行的程序必需包括一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)所有的可执行性语句必需位于某一个代码段内,说明性语句可依照需要位于任一段内(5)通常,程序还需要一个堆栈段解:存储模式特点TINYCOM类型程序,只有一个小于64KB的逻辑段(MASM支持)SMALL小应用程序,只有一个代码段和一个数据段(含堆栈段),每段不大于64KBCOMPACT代码少、数据多的程序,只有一个代码段,但有多个数据段MEDIUM代码多、数据少的程序,可有多个代码段,只有一个数据段LARGE大应用程序,可有多个代码段和多个数据段(静态数据小于64KB)HUGE更大应用程序,可有多个代码段和多个数据段(对静态数据没有限制)FLAT32位应用程序,运行在32位80x86CPU和Windows9x或NT环境解:开始位置:用标号指明返回DOS:利用DOS功能挪用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编解:段定位、段组合和段类型。解:stacksegmentstackdb1024(0)stackendsdatasegmentstringdb'Hello,Assembly!',0dH,0aH,‘$’dataendscodesegment'code'assumecs:code,ds:data,ss:stackstart:movdx,offsetstringmovah,9int21hcodeendsendstart解:.EXE程序程序能够有多个代码段和多个数据段,程序长度能够超过64KB通常生成EXE结构的可执行程序.COM程序只有一个逻辑段,程序长度不超过64KB需要知足必然条件才能生成COM结构的可执行程序(MASM需要采纳TINY模式)解:符号概念伪指令有“等价EQU”和“等号=”:符号名EQU数值表达式符号名EQU<字符串>符号名=数值表达式EQU用于数值等价时不能重复概念符号名,但“=”许诺有重复赋值。例如:X=7 ;等效于:Xequ7X=X+5;“XEQUX+5”是错误的
解:al=67hax=133h,dx=4hax=0230hal=41h(4)ax=7654h解:(1)41hh404454464-1?444-1?444-1?444(2)1040040fb40ff4??????解:.datamy1bdb'PersonalComputer'my2bdb20144my3bdbmy4bdb00010100bmy5wdw20dup(?)my6c=100my7c=<'PersonalComputer'>解:利用定位伪指令操纵,如org,even,align解:包括逻辑地址和类型两种属性。解:;数据段org100hvarwdw12344, 56784varbdb3,44vardddbuffdd10dup(?)messdb'Hello';代码段movax,offsetvarb+offsetmessmovax,typebuff+typemess+typevardmovax,sizeofvarw+sizeofbuff+sizeofmess
movax,lengthofvarw+lengthofvard解:(1)1000超过一个字节所能表达的最大整数(2)SI应为偶数(3)两个内存单元不能直接运算(4)应改成[al+1](5)条件转移指令后面应接标号,而不是变量解:movah,1 ;只允许输入小写字母int21hsubal,20h ;转换为大写字母movdl,almovah,2int21h ;显示解:movbx,offsetLEDtablemoval,lednumxlat解:movax,bufXcmpax,bufYjaedonemovax,bufYdone:movbufZ,ax解:.modelsmall.stack.databufXsignXdw-7db?.code.startupcmpbufX,0 ;testbufX,80hjlnext ;jnznextmovsignX,0jmpdonenext:movsignX,-1done:.exit0end解:movdl,’2’movax,bufXcmpax,bufYjenext1decdlnext1: cmpax,bufZjenext2decdlnext2: movah,2int21h解:;代码段moval,numbermovbx,0;BXT记录为1的位数restart:cmpal,0jzdone;AL=0结束again:shral,1;最低位右移进入CFjcnext;为1,转移incbxjmpagain;不为1,继续next:pushaxpushbxshlbx,1;位数乘以2(偏移地址要用2个字节单元)jmpaddrs[bx];间接转移:IP-[table+BX];以下是各个处置程序段fun0:movdl,'0'jmpdispfun1:movdl,'1'jmpdispfun2:movdl,'2'jmpdispfun3:movdl,'3'jmpdispfun4:movdl,'4'jmpdispfun5:movdl,'5'jmpdispfun6:movdl,'6'jmpdispfun7:movdl,'7'jmpdisp
Jdisp:movah,2int21h;显示个字符popbxpopaxjmprestartdone:…编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。;.modelsmall.stack.datab_datadb12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h;原始数据numequ10;数据个数sumdb?;预留结果单元.code.startupxorsi,si;位移量清零xoral,al;取第一个数movcx,num;累加次数again:addal,b_data[si];累加incsi;指向下一个数loopagain;如未完,继续累加movsum,al;完了,存结果.exit0end求主存0040h:0开始的一个64KB物理段中共有多少个空格?.modelsmall.codestart:movax,0040hmovds,ax;送段地址movsi,0;偏移地址movcx,si;计数(循环次数)xorax,ax;空格计数器清零again:cmpbyteptr[si],20h;与空格的ASCII码比较jnenext;不是空格,转incax;是空格,空格数加1next:incsi;修改地址指针loopagain.exit0;CX=CX—1,如cx=0退出循环
endstart编写计算100个16位正整数之和的程序。若是和不超过16位字的范围(65535),那么保留其和到wordsum,如超过那么显示‘overflow'。答:;数据段countparraywordsummsgequ100dwcountdup(?);假设有100个数据dw0db‘overflow’,’$’;代码段movcx,countmovax,0movbx,offsetparrayagain:addax,[bx]jncnextmovdx,offsetmsgmovah,9int21h ;显示溢出信息jmpdone ;然后,跳出循环体next:addbx,2loopagainmovwordsum,axdone:…编程把一个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数。转换算法能够是:用二进制数除以10000,商为“万位”,再用余数除以1000,取得“千位”;依次用余数除以l00、10和l,取得“百位”、“十位”和“个位”。.modelsmall.stack256.dataarraydw? ;源字数据dbcddb5dup(?) ;五位bcd结果,高对高低对低.code.startupmovdx,array;取源数据(余数)movbx,10000 ;除数movcx,10 ;除数系数movsi,4 ;目的数据高位位移量again:movax,dx ;中存放被除数movdx,0divbx ;除于bx,商ax,余数dxmovdbcd[si],al;商<10,存结果pushdx;暂存余数movax,bxmovdx,0;除数除于10divcx;除于。*,商a*、余数0存在dxmovbx,axpopdx;bx是除数decsijnzagain;目的数据位移量减1movdbcd,dl.exit0end;存个位数(<10)解:(1)汇编语言中,子程序要用一对进程伪指令PROC和ENDP声明,格式如下:进程名PROC[NEAR|FAR]…… ;进程体进程名ENDP(2)爱惜用到的寄放器内容,以便子程序返回时进行相应的恢复。(3)改错:crazyprocpishbxpushcxxorax,axxordx,dxagain:adda,[bx]adcdx,0incbxincbxloopagainpopcxpopbx解(不需挪用HTOASC子程序):again: movah,1int21hcmpal,1bh;ESC的ASCII码是1bhjedonemovdl,almovah,2int21h ;是大写字母则转换为小写字母jmpagaindone: …解答:
asctobprocpushcxanddh,0fhshldh,1;先转换十位数;十位数乘以10(采用移位指令)movch,dhshldh,1shldh,1adddh,chanddl,0fh;转换个位数adddh,dl;十位数加个位数moval,dhpopcxret;设置出口参数asctobendp解:DIPASCproc;入口参数:AL=要显示的一个16进制数pushcxpushdxpushaxmovcl,4shral,clcallHTOASC;转换高位movdl,almovah,2int21h;显示popax;转换低位callHTOASCmovdl,almovah,2;显示int21hmovdl,’H’movah,2int21hpopdxpopcxret;显示一个字母“H”DIPASCendpHTOASCproc;将AL低4位表达的一位16进制数转换为ASCII码andal,0fhcmpal,9jbehtoasc1addal,37h;是0AH〜0FH,加37H转换为ASCII码ret;子程序返回htoasc1:addal,30h ;是0〜9,加30H转换为ASCII码ret ;子程序返回HTOASCendp解:lucaseprocpushbxmovbx,offsetstringcmpal,0jecase0cmpal,1jzcase1cmpal,2jzcase2jmpdonecase0:cmpbyteptr[bx],0jedonecmpbyteptr[bx],’A’jbnext0cmpbyteptr[bx],’Z’janext0addbyteptr[bx],20hnext0:incbxjmpcase0case1:cmpbyteptr[bx],0jedonecmpbyteptr[bx],’a’jbnext1cmpbyteptr[bx],’z’janext1subbyteptr[bx],20hnext1:incbxjmpcase1case2:cmpbyteptr[bx],0jedonecmpbyteptr[bx],’A’jbnext2cmpbyteptr[bx],’Z’janext20addbyteptr[bx],20hjmpnext2next20:cmpbyteptr[bx],’a’jbnext2cmpbyteptr[bx],’z’janext2subbyteptr[bx],20hnext2: incbxjmpcase2done: popbxretlucase endp解:(1)用寄放器传递参数:最简单和经常使用的参数传递方式是通过寄放器,只要把参数存于约定的寄放器中就能够够了由于通用寄放器个数有限,这种方式对少量数据能够直接传递数值,而对大量数据只能传递地址采纳寄放器传递参数,注意带有出口参数的寄放器不能爱惜和恢复,带有入口参数的寄放器能够爱惜、也能够不爱惜,但最好能够维持一致(2)用共享变量传递参数子程序和主程序利用同一个变量名存取数据确实是利用共享变量(全局变量)进行参数传递若是变量概念和利用不在同一个源程序中,需要利用PUBLIC、EXTREN声明若是主程序还要利用原先的变量值,那么需要爱惜和恢复利用共享变量传递参数,子程序的通用性较差,但专门适合在多个程序段间、尤其在不同的程序模块间传递数据(3)用堆栈传递参数参数传递还能够通过堆栈那个临时存储区。主程序将入口参数压入堆栈,子程序从堆栈中掏出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们采纳堆栈传递参数是程式化的,它是编译程序处置参数传递、和汇编语言与高级语言混合编程时的常规方式解:方式:主程序将入口参数压入堆栈,子程序从堆栈中掏出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们注意:压栈与弹栈必需要一一对应。解:方式1:neg32procnegaxnegdxsbbdx,0ret;入口参数:=32位有符号数;实现0-功能;这条指令也可以用dec,dx代替neg32endp;出口参数:=32位有符号数的补码方式2:neg32proc;入口参数:=32位有符号数notax ;实现求反加1notdxaddax,1adcdx,0retneg32endp ;出口参数:=32位有符号数的补码解:;数据段array db12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90h;数组count equ$-array ;数组元素个数result db? ;校验和;代码段movbx,offsetarray ;BX一数组的偏移地址movcx,count ;CX-数组的元素个数callchecksum ;挪用求和进程movresult,al ;处置出口参数movax,4c00hint21h;计算字节校验和的通用进程;入口参数:DS:BX=数组的段地址:偏移地址,CX=元素个数;出口参数:AL=校验和;说明:除AX/BX/CX外,不阻碍其他寄放器checksumprocxoral,al;累加器清0sum:addal,[bx];求和incbx;指向下一个字节loopsumretchecksumendpend解:⑴.modelsmall.stack.datawdata dw34abh.code.startupmovax,wdatacalldispa.exit0
dispaprocpushcxpushdxmovcl,4movdl,ahshrdl,clcalldldispmovdl,ahanddl,0fhcalldldispmovdl,alshrdl,clcalldldispmovdl,alanddl,0fhcalldldisppopdxpopcxretdispaendpdldisp;procpushaxordl,30hcmpdl,39hjbedldisp1adddl,7dldisp1:movah,2int21hpopaxretdldispendpend⑵.modelsmall.stack.datawdatawordtempdw34abhdw?.code.startupmovax,wdatamovwordtemp,axcalldispa.exit0dispaprocpushcxpushdxmovcl,4movdl,byteptrwordtemp+1shrdl,clcalldldispmovdl,byteptrwordtemp+1anddl,0fhcalldldispmovdl,byteptrwordtempshrdl,clcalldldispmovdl,byteptrwordtempanddl,0fhcalldldisppopdxpopcxretdispaendpdldisp;procpushaxordl,30hcmpdl,39hjbedldisp1adddl,7dldisp1:movah,2int21hpopaxretdldispendpend⑶.modelsmall.stack.datawdatadw34abh.code.startuppushwdatacalldispa
popax ;addsp,2.exit0dispa;procpushbpmovbp,sppushaxpushcxpushdxmovax,[bp+4]movcl,4movdl,ahshrdl,clcalldldispmovdl,ahanddl,0fhcalldldispmovdl,alshrdl,clcalldldispmovdl,alanddl,0fhcalldldisppopdxpopcxpopaxpopbpretdispaendpdldisp;procpushaxordl,30hcmpdl,39hjbedldisp1adddl,7dldisp1:movah,2int21hpopaxretdldispendpend解:若是利用共享变量传递函数,且变量概念和利用不在同一个源程序中,需要利用PUBLIC、EXTERN声明。解:(1)宏概念由一对宏汇编伪指令MACRO和ENDM来完成,格式如下:宏名 MACRO[形参表]……;宏概念体ENDM宏概念以后就能够够利用它,即宏挪用:宏名[实参表](2)宏挪用的格式同一样指令一样:在利用宏指令的位置写下宏名,后跟实体参数;若是有多个参数,应按形参顺序填入实参,也用逗号分隔(3)宏展开:在汇编时,宏指令被汇编程序用对应的代码序列替代,这确实是宏展开宏展开的具体进程是:当汇编程序扫描源程序碰到已有概念的宏调历时,即用相应的宏概念体完全替代源程序的宏指令,同时用位置匹配的实参对形参进行取代解:宏挪用的参数通过形参、实参结合实现传递,简捷直观、灵活多变。宏汇编的一大特色是它的参数。宏概念时既能够无参数,也能够有一个或多个参数;宏调历时实参的形式也超级灵活,能够是常数、变量、存储单元、指令(操作码)或它们的一部份,也能够是表达式;只要宏展开后符合汇编语言的语法规那么即可。解:宏:仅是源程序级的简化:宏挪用在汇编时进行程序语句的展开,不需要返回;不减小目标程序,执行速度没有改变通过形参、实参结合实现参数传递,简捷直观、灵活多变子程序:仍是目标程序级的简化:子程序挪用在执行时由CALL指令转向、RET指令返回;形成的目标代码较短,执行速度减慢需要利用寄放器、存储单元或堆栈等传递参数选择:宏与子程序具有各自的特点,程序员应该依照具体问题选择利用那种方式。通常,当程序段较短或要求较快执行时,应选用宏;当程序段较长或为减小目标代码时,要选用子程序编写一个宏指令movedoprnd,soprnd,它实现任意寻址方式的字量源操作数soprnd送到目的操作数doprnd,包括存储单元到存储单元的传送功能。答:move macrodoprnd,soprndmovax,soprndmovdoprnd,axendm概念一个宏logical,用它代表4条逻辑运算指令:and/or/xor/test。注意需要利用3个形式参数,并给出一个宏挪用和对应宏展开的例子。答:logicalmacrolcode,dopd,sopdlcodedopd,sopdendm例如,若是利用“andax,[bx]”指令,能够利用该宏概念,写出宏指令如下:logicaland,ax,[bx]解:utol macrolocalnextcmpal,‘A';小于“A”不转换jbnextcmpal,‘Z' ;大于“A”不转换janextaddal,20h ;是大写字母则转换为小写字母next:endm概念一个宏movestrstrn,dstr,sstr,它将strn个字符从一个字符区sstr传送到另一个字符区dstr解:(假设它们都在数据段)movestrmacrostrn,dstr,sstrmovcx,dsmoves,cxmovcx,strnmovdi,offsetdstrmovsi,offsetsstrcldrepmovsb ;;重复传送ES:[DI]-DS:[SI]endm第五章解:主存的作用:保留正在利用的、处于活动状态的程序和数据。辅存的作用:长期保留程序文件和数据文件,在需要时将这些文件调入RAM内存并激活利用。cache的作用:提高对存储器的访问速度。虚拟存储:由容量较小的主存和容量较大的辅存组成,其目标是扩大程序员眼中的主存容量。区别:通过存储器访问指令用户可对主存进行随机访问;用户利用操作系统提供的用户命令和功能挪用对辅存进行访问。在半导体存储器中,RAM指的是随机存取存储器,他可读可写,但断电后信息一样会丢失;而ROM指的是只读存储器,正常工作时只能从中读取信息,但断电后信息可不能丢失。以EPROM芯片2764为例,其存储容量为8KX8位,共有8条数据线和13条地址线。用它组成64KB的ROM存储区共需―匕片2764芯片。解:双译码方式使得地址译码器的输出线的数量大为减少,使得芯片设计得时候复杂度就低了。地址线A9〜A。4根数据线I/O〜I/O41片选CS*读写WE*解:假想的RAM有12根地址线、4根数据线片选端CS*或CE*:有效时,能够对该芯片进行读写操作,通过对系统高位地址线的译码来选中各个存储芯片输出OE*:操纵读操作。有效时,芯片内数据输出,该操纵端对应系统的读操纵线MEMR*(MRDC*)写WE*:操纵写操作。有效时,数据进入芯片中,该操纵端对应系统的写操纵线MEMW*(MWTC*)解:位片结构:每一个存储单元具有一个唯一的地址,可存储1位。(4116)字片结构:每一个存储单元具有一个唯一的地址,可存储多位。(2114)解:组成单元速度集成度应用SRAM触发器快低小容量系统DRAM极间电容慢高大容量系统NVRAM带微型电池慢低小容量非易失掩膜ROM:信息制作在芯片中,不可更改PROM:许诺一次编程,尔后不可更改EPROM:用紫外光擦除,擦除后可编程;并许诺用户多次擦除和编程EEPROM(E2PROM):采纳加电方式在 线进行擦除和编程,也可多次擦写FlashMemory(闪存):能够快速擦写的EEPROM,但只能按块(Block)擦除解:位扩充——存储器芯片数据位数小于主机数据线数时,利用多个存储器芯片在数据“位”方向的扩充;地址扩充(字扩充)一一当一个存储器芯片不能知足系统存储容量时,利用多个存储器芯片在“地址”方向的扩充组成32KB存储空间,用SRAM2114(1KX4)需要64个芯片;组成32KB存储空间,用DRAM4116(16KX1)需要16个芯片;它们都需要进行位扩充和地址扩充%--口口解:片选信号说明该存储器芯片是不是被选中正常工作,设置它能够比较方便地实现多个存储器芯片组成大容量的存储空间存储器片选信号通常与CPU地址总线的高位地址线相关联,能够采纳“全译码”、“部份译码”、“线选译码”方式采纳全译码方式能够幸免地址重复采纳部份或线选译码能够节省译码硬件解:24=16解:11.0/1一个可用地址重夏地址【右)Y1*62612000-3FFiqi■13000-I3FFFH62000-83FFFHC2000-C3FFFH解:〜^167':'地址101000100000(](>1全。~全1全0~全142000II-43FFFIIhg—or^\JT°Mt-da_>A|5-A】4—,Aiw—,可Y11Y21甄L38IE3西式cBA习题5.11图4-5V一 I 一-一物J啰―丽丽WeoeA1广"A"■^F
™r解:解:自1"-49Ay-A”「Ag地让11111100全心一全1F8000H-F9FFFEJ21111KI1金0-全1FAOOOH-FBFFFH21111110全0一全11TOOOIF-FDFFFU41LU11】全:。一全1FEOQOH-FFFFFHA]工--Au2764(1A]工--Au2764(1M2764(213764(3)2764(4)OEOEDE0E_旦变¥5|支3811里IE2-IElcB凫解:动态随机存取存储器(DRAM)的存储单元电路动态存储单元是由MOS管的栅极电容C和门控管组成的。数据以电荷的形式存储在栅极电容上,电容上的电压高表示存储数据1;电容没有贮存电荷,电压为0,说明存储数据0。因存在漏电,使电容存储的信息不能长久维持,为避免信息丢失,就必需按时地给电容补充电荷,这种操作称为“刷新”由于要不断地刷新,因此称为动态存储。方式:采纳“仅行地址有效”方式刷新;刷新周期:15A刷新次数:128解:4 256KB A19-A16 4解:访问的局部性原理:在一个较短的时刻距离内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。指令地址的散布本来确实是持续的,再加上循环程序段和子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时刻上集中散布的偏向。数据散布的这种集中偏向不如指令明显,但对数组的存储和访问和工作单元的选择都能够使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对此范围之外的地址那么访问甚少的现象,就称为程序访问的局部性。cache的作用:提高对存储器的访问速度。虚拟存储:其目标是扩大程序员眼中的主存容量。第七章解:总线:指能够由多个信息处置单元所共享的信息通道。利用特点:⑴在某一时刻,只能由一个主设备操纵总线,其他主设备现在可作为从设备显现⑵在某一时刻,只能有一个设备向总线上发送数据,但能够有多个设备从总线上接收数据在各类微机总线中,依照总线连接对象的不同可将它们分为以下几类,它们是:片内总线、芯片总线、板级总线、设备总线和互连总线。例如,ISA总线属于板级总线,USB总线属于设备总线,I2C总线属于芯片总线。总线中除电源和地线外的信号线,也可按传输信息的不同分为以下3类,即:数据总线、地址总线、操纵总线。解:分时复用确实是一个引脚在不同的时刻具有两个乃最多个作用总线复用的目的是为了减少对外引脚个数在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7~A0,其他时刻用于传送8位数据D7~D0解:并行总线:多维数据通过量根信号线同时进行传递。并行同步传输、并行异步传输见P174。解:见P174.解:总线的性能指标包括:总线宽度、标准传输、时钟同步/异步、总线复用、信号线数、总线操纵方式总线宽度:它是指数据总线的根数,用bit(位)表示,如8位、16位、32位、64位。解:D0〜D7:8位双向数据总线A0〜A19:20位输出地址总线ALE:地址锁存许诺,每一个CPU总线周期有效IOR*:I/O读,输出IOW*:I/O写,输出IOCHRDY:I/O通道预备好,输入第九章解:软件延时、不可编程的硬件按时、可编程的硬件按时解:CLK时钟输入信号一一在计数进程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号—-操纵计数器工作,可分成电平操纵和上升沿操纵两种类型OUT计数器输出信号—-当一次计数进程终止(计数值减为0),OUT引脚上将产生一个输出信号解:8253每一个通道有6种工作方式可供选择。假设设定某通道为方式0后,其输出引脚为低电平;当写入计数初值(并进入减1计数器)后通道开始计数,CLK信号端每来一个脉冲减1计数器就减1;当计数器减为0,那么输出引脚输出高电平,表示计数终止。8253的CLK0接的时钟,欲使OUT0产生频率为300KHz的方波信号,那么8253的计数值应为5(=:300KHz),应选用的工作方式是卫解:moval,50hmovdx,207houtdx,almoval,128;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年 工业锅炉G1证理论考试练习题附答案
- 节能报告范文17汇编
- 税务师网盘课件下载指南
- 中国文化娱乐服务行业全景评估及投资规划建议报告
- 2025年中国消防火灾报警系统行业发展前景预测及投资战略咨询报告
- 中国体育场地与设施建设行业全景评估及投资规划建议报告
- 2025年变配电保护自动化项目投资分析及可行性报告
- 巴曲酶项目投资可行性研究分析报告(2024-2030版)
- 中国装潢设计行业投资研究分析及发展前景预测报告
- 移动应用开发合同
- 2022版义务教育课程方案测试题及答案+学习义务教育课程方案心得体会
- 最新教师培训课件:教师专业发展
- 水池深基坑开挖专项施工方案
- (整理)萨提亚沟通模式课件
- 水产品冷冻食品加工行业解决方案
- 茶知识与科学饮茶课件
- 手术通知单模板
- 2021年安康市中心医院医护人员招聘笔试试题及答案解析
- 医院医疗精神科危险物品管理PPT课件讲义
- 第二讲:黔东南州优势矿产资源
- 康复医院的设计要点精选
评论
0/150
提交评论