课件:微型计算机及接口技术自考练习.ppt_第1页
课件:微型计算机及接口技术自考练习.ppt_第2页
课件:微型计算机及接口技术自考练习.ppt_第3页
课件:微型计算机及接口技术自考练习.ppt_第4页
课件:微型计算机及接口技术自考练习.ppt_第5页
已阅读5页,还剩197页未读 继续免费阅读

下载本文档

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

文档简介

献给为这门课努力攻关的所有自考学生,微机原理与接口技术自考练习,冯诺依曼计算机的结构与原理,中央处理器,输入设备,存储器,输出设备,运算器和控制器,(1) 计算机的工作由程序控制,程序是一个指令序列,指令是能被计算机理解和执行的操作命令; (2) 程序(指令)和数据均以二进制编码表示,均存放在存储器中; (3) 存储器中存放的指令和数据按地址进行存取 ; (4) 指令是由CPU一条一条顺序执行的。,计算机系统,硬件,主机,微处理器(CPU),运算器,控制器,外存储器硬盘、软盘、光盘,外部设备,输入设备键盘、鼠标、光笔、扫描仪,输出设备显示器、打印机、绘图仪,软件,系统软件,操作系统,语言编译系统,数据库管理系统,应用软件,文字处理软件,图形软件,辅助设计软件,计算机系统组成框图,寄存器组,输入输出接口,微型计算机,单片机(可没有ROM),单板机,台式PC的物理组成,主板,机箱、电源,CPU,内存条,输入设备,输出设备,外存储器,I/O接口,台式PC机(立式)的主机箱,主板,主板作用: _ ROM BIOS作用:_ CMOS作用: _ _,安装所有的电子器件、电路与接口,存放基本输入/输出系统(BIOS),存放硬件配置信息和系统的基本参数(日期、时间、口令等),华硕P5Q主板,CPU插座,内存条插座,IDE (ATA) 硬盘光驱连接器,PCI插槽,芯片组,各种I/O插口,显卡插槽,PCI-E插槽,芯片组的作用,是PC机各组成部分相互连接和通信的枢纽,控制器,寄存器组,运算器,CPU的性能,计算机的性能主要表现为程序执行速度的快慢,由许多因素决定,例如CPU、内存、硬盘、显卡等,但通常CPU是主要因素,CPU的性能高低主要表现为CPU的速度。,字长(位数):指通用寄存器和定点运算器的宽度; 指令系统:指令的类型、数目和功能等影响程序执行速度; 逻辑结构:CPU包含的定点运算器和浮点运算器的数目、采用的流水线结构和级数、指令分支预测的机制、执行部件的数目等内核数目; 高速缓存(cache):其的容量与结构影响速度; 主频(CPU内部时钟频率):它决定着CPU芯片内部数据传输与操作速度的快慢; 总线:决定着CPU与内存之间传输数据速度快慢。,提高CPU性能的3大措施,提高主频,增加逻辑复杂度,增加内核数目,处理器性能与其逻辑复杂性的平方根成正比,若逻辑复杂性提高1倍,至多能提高40%的性能,采用2个处理器构成一个双核处理器,可以提高70%80%的性能,电路与封装技术的进步,能把多个处理器做在单个芯片上,1._; 2 ._ ;3. _。,改进CPU结构,提高主频,增加CPU(核)的数目,1. ”线程“排队等候进入CPU处理,并行处理,(包含3个内核),为什么“多核”可提高计算机性能,提高CPU性能的具体措施,扩展CPU的字长:32位 64位 扩充CPU指令系统:SSE指令 提高CPU主频:目前已达4GHz; 加快CPU前端总线的数据传输速率; 增大cache存储器容量、增加cache的级数; 改进CPU内部的逻辑结构; 超标量结构(多个执行部件) ; 指令流水线执行技术;超线程技术; 采用多内核结构;,高速缓存(cache),0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,8,9,14,3,4,4,4,10,10,10,主存中的部分信息拷贝在cache存储器中,cache,主存储器,CPU,CPU芯片,随着计算机的发展。存储器与CPU速度差距愈来愈大, 从内存中存取数时,CPU往往需要等待,于是出现了cache。它是一种小容量高速缓冲存储器,它由SRAM组成,直接制作在CPU芯片内,速度几乎与CPU一样快。当CPU需要从内存读(写)数据或指令时,先检查cache中有没有,若有,就直接从cache中读取,而不用访问主存储器。,总线BUS,总线的定义: 用于在CPU、内存、外存和各种输入输出设备之间传输信息的一个共享的信息传输通路及其控制部件。 总线的性能: 数据通路宽度;总线工作频率;每秒传输次数 总线最高传输速率 (数据通路宽度/8) x 总线工作频率 x 传输次数,总线分类,数据总线:传输数据信息(双向,取决于CPU字长) 地址总线:传输地址信息(单向,决定内存空间) 控制总线:传输控制信息(双向,取决于CPU字长) 内总线:计算机内部各芯片之间互连,即片总线,没统一标准。 系统总线:各插件板之间互连,有通用标准。 外部总线:微机与外部设备的连接,也称I/O总线,有通用标准。, ISA(Industry Standard Architecture) PCI(Peripheral Component Interconnect) PCI-Express AGP(Accelerated Graphics Port),系统总线,称为“工业标准体系结构”,是针对Intel8088微处理器设计的,16位,数据传输率最高可达8MB/s。现在基本不用。,称外部设备互联总线。数据传送宽度为32位,可以扩展到64位,数据传输率可达133MB/s。,2000年Intel提出了替代PCI总线的新总线技术。它可工作于各种不同的物理媒介上,从通用的铜线连接到光纤连接。,加速图形接口, Intel公司配合Pentium处理器开发的总线标准,数据传输率可以达到533MB/秒以上。,PCI-E的优点,PCI-E即“PCI-Express” 1.传输速率高: x1速率可达250MB/s, x16速率可达5GB/s(2.0版速率提高为2倍,3.0版为4倍) 2.适应性好:包括x1、x4、x8 及x16,,外部总线, USB(Universal Serial Bus)通用串行总线接口是为解决PC与周边设备的通用连接而设计的,使所有的低速设备,都可以连接到统一的USB接口上。允许“热插拔”,实现安装自动化。 IEEE 1394是一种工业标准的高速串行总线,由苹果公司率先创立,又称Firewire即火线。它的特点是传输速度快,现在确定为400MB/s,以后可望提高到800MB/s、1.6GB/s、3.2GB/s。所以传送数字图像信号也不会有问题。 SCSI(Small Computer System Interface,小型计算机系统接口) 可与各种采用SCSI接口标准的外部设备相连,如硬盘驱动器、扫描仪、光盘、打印机和磁带驱动器等。但它价格相对于IDE来说也十分昂贵,因此在普通家用电脑上不常用,一般应用于高端工作站或者服务器领域。,2019/8/14,有专门的设备名COM1 和 COM2。 是电子工业协会(EIA) 所制定的异步传输标准接口 RS-232(外部总线) 。在TxD和RxD上:逻辑1(MARK)=-3V-15V 逻辑0(SPACE)=+315V。与TTL逻辑电平不一样,可用TTL/EIA电平转换器进行,如MC1488,MC1489IC。插座分为9针或25针两种,目前最普遍的用途是连接鼠标和调制解调器。,串行接口,并行接口,常被称为打印口或并行打印机适配器,被赋予专门的设备名LPT,为区别同一台计算机上的多个并行端口,依次称为LPT1、LPT2等。并行接口可同时传输8路信号,因此能够一次并行传递完整的一个字节的数据。,I/O设备接口,显示器 接口,麦克风 音 箱,键盘接口,并行口,USB 接口,以太网 双绞线接口,串行口,鼠标器 接口,(安装在主板上的I/O设备接口),I/O接口: I/O设备与主机之间的连接器 包括:插头/插座的形式、通讯规程和电器特性等,常用的I/O接口及其性能参数,USB接口,通用串行总线式接口(Universal Serial Bus ) 高速、可连接多个设备、串行传输 传输速率: USB的1.1版:1.5 Mb/s和12 Mb/s USB2.0版:最高达 480Mb/s(60MB/s) USB3.0版:最高达 3.2Gbps(400MB/s) USB2.0使用4线连接器,体积小,符合即插即用规范(Plug & Play,即_),PnP,USB接口的3种类型,接口类型A,通常在PC上出现,接口类型B,通常在USB设备上出现,Mini-USB,数码相机、移动硬盘等设备经常使用,CPU发展过程,MMX处理多媒体信息的指令(Multimedia Extension) SSE 128位长操作数的单指令多数据流指令(Streaming SIMD Extention), ,8088(8086),80286,80386,80486,Pentium,Pentium PRO,Pentium II,Pentium III,Pentium 4,奔腾D,奔腾至尊,酷睿,酷睿2,Core i3/ i5/ i7,浮点部件和cache,32b,24条AD,20条AD,16b,超标量技术,64b总线UV流水线,增57条MMX,增70条SSE,增144条SSE2,增13条SSE3,增40多条SSE4,Pentium MMX,64b,进制运算,1010B,AH =,1011B,BH =,1100B,CH =,1101B,DH =,1110B,EH =,1111B,FH =,熟记下面数的关系,1GB =,1MB =,1KB =,210B,220B,230B,二进制数11位,二进制数21位,二进制数31位,十六进制,字节,二进制,二进制,进制运算,15161 + 5160 + 4161 = 245.25,382+ 681+ 580 + 281 = 245.25,F5.4H=,365.2Q =,122021120 021122 5.25,101.01 B =,八进制,进制运算,29.6875,11101.1011,35.54,1D. B,H,Q,B,整数部分:除2取余; 小数部分:乘2取整。,带符号整数的表示,+43的8位原码为: - 43的8位原码为:,00101011,10101011,- 27+127-1(- 127127),8位原码范围:,16位原码范围:,- 215+1215- 1(- 3276732767),+0的8位原码为: - 0的8位原码为:,00000000,10000000,带符号整数的表示,X1011011 X原码 X反码 X补码 Y1011011 Y原码 Y原码 Y补码,01011011,01011011,11011011,10100100,01011011,10100101,8位补码范围:128 127, 16位补码范围:32768 32767,反码表示的整数范围与原码相同。,+0反,00000000,-0反,11111111,00000000,+0补 -0补 =,反码= 符号位+数值的非 补码=反码+1,补码的意义,补码有减化二进制加法的作用。,题:X=+1101B,Y=-0110B 求:X+Y=,00111B,过程: X+Y补=X补+Y补 X-Y补=X补+-Y补 X+Y补=01101+11010去进位=00111 则:X+Y= 00111B(符号位为正),13+(-6)=7,二 十进制编码(BCD),(0101 1001 0000.0001 1001)BCD,(590.19)D=,注意BCD与二进制(B)不同,常用:8421码(后6位不用) ;2421码(中间6位不用);余三码(前后3位不用)。 ;格雷码(循环二进制码或反射二进制码 )。最常用8421码。,汉字编码,汉字编码是指将汉字转换成二进制代码的过程。 _码即输入法。可以由键盘上的英文字符、数字和某些特殊字符构成。中华人民共和国国家标准信息交换汉字编码,共收录一、二级汉字和图形符号7445个。简称_码,又称_码或 _码,没有重码;其它输入法都有重码。 _码计算机内部存储、处理汉字所用的编码。输入码通过汉字操作系统转换为机内码;每个汉字的机内码用_个字节表示。汉字的输入法不同,但机内码是一致的。 _码指汉字信息的输出编码。所占内存比其机内码大得多。点阵越大所用字节越多。1616点阵汉字需要_ (字节),机外,国标,交换,区位,机内,字型,1616/8=32,2,ASCII 美国信息交换标准码,有两种形式: 7位ASCII码 / 8位ASCII码 常用7位ASCII码,特点:用7位二进制数(0,1)表示一个字符 容量:27 =128 (个:0 127) 其中:第48-57号表示数字符号 09:_H 第65-90号表示大写字母AZ:_H 第97-122号表示小写字母az:_H,字母“A”即(65)D的ASCII码值为: 字符“2”即(50)D的ASCII码值为:,3039,415A,617A,1000001,0110010,奇偶校验位,ASCII编码位,为了使用方便,在计算机存储中每个ASCII码值用一个字节(8个二进制位)表示。 后7位用作ASCII码值本身,第一位(最高位)用作奇偶校验位;,奇偶校验,奇校验规定:正确的代码一个字节中“1”的个数必须是奇数,若非奇数,则在高位“b7”添“1”来满足。 偶校验规定:正确的代码一个字节中“1”的个数必须是偶数,若非偶数,则在高位“b7”添“1”来满足。,题:当ASCII码值为“111001”时,它表示什么字 符?当采用偶校验时“b7”应等于什么?,解:查出(111001)2 =39H 表示“ 9” 字符;,根据偶校验规则“b7”应等于“0”。,移码,定义: X移=2n+X (2nX-2n) 式中X为真值,n即数值位个数。 移码将有符号数转化为在中值附近的正数。 在数轴上移码所表示的范围恰好对应于真值在数轴上的范围向轴的正方向移动2n个单元。这就是移码名字的由来。其中2n可称为偏移量。,题1:n=4, X=6=110B,则X移=_B,题2:n=4, X=-6=-110B,则X移=_B,1110,0010,中轴,符号位相反,真值、补码和移码对照表,数的浮点表示,计算机中浮点数的格式,ES为阶码的符号位,表示阶的正负; MS为尾数的符号位,表示阶的正负。,N=MRE,浮点数可以写成:,尾数,指数或阶码,基数,可以取2、4、8或者16,它在计算机中通常是一个默认的固定值。,Pentium处理器三种类型浮点数格式 :,32,64,BIU,负责指令译码和指令执行(算术逻辑运算),负责取指令和传送数据,合成20位物理地址,_单元,_单元,1F100h 1F101h 1F102h,1FFFFh,地址,. . .,16位处理器8086CPU,EU,总线,内存,执行,总线接口,IP,译码,指令队列,地址合成,AX BX CX DX,控制器,FLAGS,PSW 标志寄存器,段寄存器,通用寄存器,堆栈指针寄存器,计数器,累加器,变址寄存器,指令指针寄存器,源变址,基址,代码段,数据段,堆栈段,栈段的基址,栈段顶,目的变址,附加数据段,ALU,算术逻辑单元,总 线 接 口,数据,执行部件 (EU),总线接口部件 (BIU),计算机通过CS : IP来取指,寄存器的使用规定,8086/8088程序状态寄存器(标志寄存器) b15 b8 b7 b0 OF DF IF TF SF ZF AF PF CF 符号 名称 值为“1”的条件 进位标志 加/减法时产生进位/借位 溢出标志 运算结果超出有符号整数能表示的范围 零标志 运算结果为0 时 符号标志 运算结果的最高位为“1”(负数)时 辅助进位标志 运算时半字节(b3)产生进位/借位 奇偶标志 操作结果低8位为“1”的位数为偶数时 方向标志 串操作中地址指针向低地址方向移动 中断允许标志 允许CPU响应可屏蔽中断请求时 跟踪标志 CPU处于单步执行的工作方式,CF,OF,ZF,SF,AF,PF,DF,IF,TF,控制,反映结果状态,题:以下的几个4位十六进制数相加,会使得8088状态寄存器的以下几位为什么值?,1 1 0 1 0 1,1 1 0 0 1 0,0 0 1 0 1 1,0 0 0 0 1 0,在补码加减运算中,有时会遇到这样的情况:两个正数相加,结果的符号位却为1(结果为负);两个负数相加,结果的符号位却为0(结果为正),以下是两个5位补码加法的例子。 0,1011 (+11) 1,0101(-11) + 0,0111 (+7) + 1,1001(-7) 1,0010 (-14) 0,1110(+14) 为什么会发生这种错误?计算机是有位数限制的,5位补码可以表示的十进制数的范围是从-16到+15,结果超过额定位数,就会溢出。 如果将符号位扩充为两位(Ss1、Ss2),既能判别是否溢出,又能指出结果的符号。 Ss1、Ss2=00结果为正数,无溢出 01结果正溢出 10结果负溢出 11结果为负数,无溢出 结论:,溢出判断,当两位符号位的值不一致时,表明产生溢出。 第一符号位为0时为正为1为负。,内存储器,A,C,9,27,B,ALU,0 1 2 3 4 5 6 7,运算器(ALU)与通用寄存器(GPR)工作过程,通用寄存器GPR,LOAD,R3,内存地址A,ADD,R1,R3,R5,LOAD,R5,内存地址B,STORE,内存地址C,R1,8086微处理器外部基本引脚,不可屏蔽中断,可屏蔽中断,时钟,准备好,等待测试,中断响应,复位,地址锁存允许,数据允许,数据发送/接收,写,读,高位允许,最大/最小模式,电源电压,地线,储存器/输入输出,最小方式:单个微处理器组成的系统,由8086产生系统所需的全部控制信号。 最大方式:用于多处理器系统中,8086不直接提供控制信号 。,地址数据线有三态(0,1,高阻)数据线是双向的。,高位地址线三态单向,总线保持,总线保持响应,复位后CSFFFFH 其它寄存器0000H,OE*0,导通 T1 AB T0 AB OE*1,不导通,双向三态门,或74LS373,或74LS245,8086最大模式典型系统结构,控制总线由总线控制器8288形成。 地址总线由三个三态地址锁存器8283形成。 数据总线通过总线收发器8286形成和驱动。,典型的总线周期,由T1-T44个T状态构成,在I/O或存储器忙时,CPU还会产生TW(等待)状态 。,地址产生周期,同时CPU检查M/IO信号;,CPU产生各种控制信号(如读写、DT/R、DEN),同时AD0AD15进行信号转换;,AD0AD15出现稳定的数据信号(写),或者I/O、存储器译码,读出数据;,完成读写操作。,T1,T2,T3,T4,8086CPU的主频为5MHz,周期0.2s =200ns,T1,T2,T3,T4,T1,CLK,地址,状态输出,A16A19,地址,数据,A0A15,高电平,存储器读写,否则I/O,M/IO,ALE,DEN,WR,DT/R,CPU写操作,数据传送/接收,数据允许,地址允许,T1,T2,T3,T4,T1,CLK,地址,状态输出,A16A19,地址,数据,A0A15,高电平,存储器读写,否则I/O,M/IO,ALE,DEN,RD,DT/R,CPU读操作,数据传送/接收,数据允许,地址允许,T1,T2,T3,TW,T4,CLK,地址,状态输出,A16A19,地址,数据,A0A15,高电平,存储器读写,否则I/O,M/IO,ALE,DEN,RD,READY,具有等待的CPU读操作,READY=0插入等待周期,现代微机的存储结构,(Random Access Memory)即随机存储器。 (Static RAM)即静态随机存储器:读取速度相当快,造价昴贵,主要用作高速缓冲存储器(Cache)。 (Dynamic RAM)即动态随机存储器:读取速度较慢,但造价低廉,集成度高,目前内存条主要是DRAM。 (Read-Only Memory)即只读存储器:只能读不能写。存放在ROM中的信息,没有电源的情况也能保持。 (Programmable ROM):允许一次编程,此后不可更改。 (Erasable Programmable ROM)即可擦除可编程的只读存储器:用户可通过编程器写入EPROM。重新写入可通过紫外线照射EPROM,擦除原来信息,然后写入。 (Electrically Erasable Programmable ROM)即电可擦除ROM:采用加电方法在线进行擦除和编程 。 Flash Memory(闪存):能够快速擦写的EEPROM,但只能按块(Block)擦除。,半导体存储器,RAM,SRAM,DRAM,ROM,PROM,EPROM,EEPROM,半导体存储器,只 读 存储器(ROM),随机存取存储器(RAM),静态随机存储器SRAM,动态随机存储器DRAM,掩膜式ROM,(用作Cache存储器),(用作主存储器),可擦除可编程ROM (EPROM),电可擦除可编程ROM ( EEPROM ),一次性可编程ROM( PROM ),移动存储器 移动硬盘:移动硬盘一般由笔记本电脑的硬盘改装而成。笔记本电脑的硬盘加上接口电路(一般为USB接口)就组成了一个移动硬盘。移动硬盘使用与计算机的硬盘使用完全一样。 Flash存储设备:Flash存储设备利用Flash闪存芯片为存储介质制作的移动存储器。作为微型计算机使用的Flash存储器就是我们说的U盘。它是由Flash闪存芯片为存储介质,采用USB接口,无需外接电源、支持即插即用和热插拔,只要用户计算机的主板上有USB接口,就可以使用U盘。,计算机存储器的层次结构,工作过程: 1)CPU运行时,需要的操作数大部分来自寄存器 2)如需要从(向)存储器中取(存) 数据时,先访问cache,如在,取自cache 3)如操作数不在cache,则访问RAM,如在RAM中,则取自RAM 4)如操作数不在RAM,则访问硬盘,操作数从硬盘中读出RAM cache,存储器结构,译码器,A5 A4 A3 A2 A1 A0,63,0,1,存储单元,64个单元,行译码,A2 A1 A0,7,1,0,列译码,A3A4A5,0,1,7,64个单元,单译码,双译码,位线,A1A0,A1A0,A1A0,A1A0,A1,A0,D3,D2,D1,D0,-VCC,译,码,器,K: 输出控制端,字线,输入任意一个地址码,译码器就可使与之对应的某条字线为高电平,进而从位线上读出四位输出数字量。,简单的二极管ROM电路,内存(RAM)的功能与原理,片选端,输出端 控制读操作,输入端 控制写操作,地址总线,数据总线,芯片的存储容量2MN 存储单元数存储单元的位数 M:芯片的地址线根数 N:芯片的数据线根数,RAM按制造工艺不同可分为双极型和MOS型两大类。双极型RAM存取速度高,但功耗大,集成度较低。用作高速缓冲存储器Cache。一般内存用MOS型RAM。,SRAM的结构和原理,SRAM基本储存单元,DRAM的特点是集成度高(存储容量大),功耗低,但速度慢(目前最快存取时间为几nS),外围电路复杂。,DRAM,T,刷新R,行选线X,输出缓冲器/灵敏放大器,刷新缓冲器,输入缓冲器,位 线 B,单管动态存储单元是目前所有大容量DRAM首选存储单元,结构简单。,每个基本存储单元存储二进制数一位,由于电容很小(约为0.1uuF0.2uuF),所以信号很弱,需要放大。每次读出后,C上电荷损失,必须把原来信号重新写入(刷新)。,CPU与存贮器连接,CPU的低位地址接于存贮器芯片地址,作为存贮器单元地址。,CPU高位地址接于译码器,经译码后产生存贮器片选信号CS(或CE)。,低位地址,高位地址,数据线,如何连接?,1、全译码CPU的全部地址线都参与寻址 特点:每个存贮单元的地址是唯一的无地址重叠。,2、部分译码CPU的部分地址线参与寻址,部分 地址未用 特点:有地址重叠区(每个存贮单元有若干地址)。,译码方式,常用74LS138译码器,译码器,原码,译码 低电位有效,原码,全译码练习,写出地址范围,解:,部分译码练习,写出地址范围,有7个可用地址,EPROM,线选译码练习,切记: A14 A1300的情况不能出现(冲突) A14 A1311 则储存器没有用,写出地址范围,题:用Intel 6116形成8KB的存储器 。,D0D7,A12,A11,A13,A14,8086,解:SRAM 6116为2K8b存储器所以需要4片形成8KB的存储器 。接线如下:,1KB需要10根地址线,地址范围 700077FFH 68006FFFH 58005FFFH 38003FFFH,线选法形成地址空间不连续,题: 用EPROM 2732构成16KB内存的一种部分译码电路,在采用部分译码的存储器中,存储地址通常取未用高位地址的值为全0,这样确定的地址叫基本地址。,地址译码法形成的地址空间连续,但有不相关位,对地址空间的利用率不高。,C B A A19A18 A17A16 A15 A14 A13 A12 地址范围(1) 0 0 0 1 0 0 0 0 10000H 10FFFH 1 1 1 1 0 0 0 0 F0000HF0FFFH 高位A17A19的不确定性每一单元有8个地址编码重叠,C B A A19A18 A17A16 A15 A14 A13 A12 地址范围(2) 0 0 0 1 0 0 0 1 11000H 11FFFH 1 1 1 1 0 0 0 1 F1000HF1FFFH 高位A17A19的不确定性每一单元有8个地址编码重叠,C B A A19A18 A17A16 A15 A14 A13 A12 地址范围(3) 0 0 0 1 0 0 1 0 12000H 12FFFH 1 1 1 1 0 0 1 0 F2000HF2FFFH 高位A17A19的不确定性每一单元有8个地址编码重叠,C B A A19A18 A17A16 A15 A14 A13 A12 地址范围(4) 0 0 0 1 0 0 1 1 13000H 13FFFH 1 1 1 1 0 0 1 1 F3000HF3FFFH 高位A17A19的不确定性每一单元有8个地址编码重叠,解:EPROM 2732为4K 8b存储器所以需要4片形成8KB的存储器 。接线如下:,题:设计8088的存贮器系统,要求用8K8的EPROM构成16Kb的ROM区,地址为82000H84FFFH;用8K8的SRAM构成8Kb的RAM区,地址为80000H 81FFFH;用1片138译码器实现全译码方式。,解:,任何两相邻的字节构成一个字。,31H,32H,33H,01H,02H,03H,12H,56H,12H,00H,23H,0FH,XXH,XXH,内容 地址,2003H:0000H,2003H:0001H,2003H:0002H,2003H:0003H,2003H:0004H,2003H:0005H,2003H:0006H,2003H:0007H,2003H:0008H,2003H:0009H,2003H:000AH,2003H:000BH,2003H:000CH,2003H:000DH,8086的存储器组织,高位字节存放在高地址, 低位字节存放在低地址。,字的地址:,低字节的地址作为这个字的地址。,字:,字的存放:,31H,32H,33H,01H,02H,03H,12H,56H,12H,00H,23H,0FH,XXH,XXH,XXH,2003H:0000H,2003H:0001H,2003H:0002H,2003H:0003H,2003H:0004H,2003H:0005H,2003H:0006H,2003H:0007H,2003H:0008H,2003H:0009H,2003H:000AH,2003H:000BH,2003H:000CH,2003H:000DH,奇偶存贮体,偶地址字读写为一个总线周期。 奇地址字读写为两个连续总线周期。,A0A19,8086,D8D15,D0D7,地址 锁存,A1A19,机器语言,实例:在MIPS计算机上求最大公约数(GCD)的机器程序(16进制表示),机器语言就是计算机的指令(二进制编码)系统,B8 7F 01 BB 21 02 03 D8 B8 1F 04 2B C3,(计算1055-(383+545)的5条机器指令),不同的计算机机器语言不同。,如:,汇编程序,用助记符号来表示机器指令系统,1055-(383+545)的5条指令),.ASM,.OBJ,汇编语言(Assembly Language) ,汇编语言程序设计编程过程,经LINK: 将OBJ文件与库文件或其它目标文件连接成可执行文件(EXE文件),EXE文件由DOS装入存储器并在机器上运行。,汇编语言源程序结构,数据段名 SEGMENT 数据段名 ENDS 附加段名 SEGMENT 附加段名 ENDS 堆栈段名 SEGMENT 堆栈段名 ENDS 代码段名 SEGMENT 代码段名 ENDS,指示汇编程序要完成的操作;用来定义变量 ;分配存储单元;指示程序开始和结束等。,指令码:,伪指令:,命令CPU要完成的操作,注释:,用于说明程序或语句的功能,以便于阅读和理解。用分号作为注释的开始。,操作数:,有寄存器,存储器单元,常量,变量或标号,表达式。,标号和名字,标号 名字 标号和名字统称为标识符。 标识符可由不超过31个字符的字符串组成。 可选的字符集如下: ASCII字母AZ或az(汇编不分大小写); 数字0 9; 特殊字符 $ _ . : ? ( ) ; / + - * % &等。,标号不允许用数字开头;,不允许将特殊符号单独用作标识符;,不允许使用保留字如指令、伪指令、寄存器名等。,注意:,指令单元的符号名称,伪指令起的符号名称,标号后要有冒号, 伪指令名称后不要冒号。,解释下列指令和伪指令,DATA SEGMENT USE16/USE32 ; ; DATA ENDS STACK SEGMENT USE16/USE32 STACK ; ; STACK ENDS CODE SEGMENT USE16/USE32 ; ASSUME CS:CODE,SS:STACK,DS:DATA,ES:DATA; START:MOV AX,DATA ; MOV DS,AX ; MOV ES,AX ; ; MOV AH,4CH ; INT 21H CODE ENDS END START,定义数据段,数据定义伪指令序列,定义堆栈段,数据定义伪指令序列,定义代码段,说明源程序中定义的段由哪个段寄存器寻址,取数据段基址,建立数据段的可寻址性,建立附加数据段的可寻址性,核心程序段:指令序列,返回操作系统,段定义语句格式,段名 SEGMENT 定位类型,组合类型,字长选择,类别 (段体) 段名 ENDS,定位类型:指段起始地址,有四种:,组合类型:告知LINK程序本段与其它段的组合连接关系。若缺省,表示该段为独立段。 5种类型:, PUBLIC:该段连接时将与其它同名段连接成一连续段 STACK:将多个同名堆栈段连接成一连续段,SP设置在第一个堆栈段的开始 COMMON:该段在连接时与其它同名段有相同的起始地址,所以会产生覆盖 MEMORY 本段在同名段的最高地址处 AT 表达式 :段起始地址由表达式算出,字长选择:定义段中使用的偏移地址和寄存器的字长,类别:同类别的段在连接时按先后顺序连接起来。,USE16:16位寻址方式,最大段长度为64KB; USE32:32位寻址方式,最大段长度为4GB。,典型段类别有:DADTSTACKCODE,2、等号语句 = 该语句功能与EQU相同, 只是它可以重新定义。,符号定义,1、等值语句 EQU EQU语句不能重新定义,必须先定义,后使用。,例如: X EQU 50 Y EQU X+10 COUNT EQU BP+2 NUM EQU CX,例如: PORT1=30H PORT1=PORT1+20H PORT1=648,数据定义伪指令,格式:符号名 DB/DW/DD/DF/DQ/DT 数据项序列 功能:为数据项分配一个字节/字/双字/长字/四字/十字节的存储空间,可以赋初值,也可以用一个符号名与之联系。,VAR1 DB ? ; STR DB ABCDE ; NUM DT 123H ; ARRAY DW 20 DUP(1) ; BUFF DB 6 DUP(?) ; COUNT DB 20,30,40 ;,给出解释,给VAR1分配一字节,不赋初值,给NUM分配十字节,赋初值123H,给字符串STR分配五字节,赋值,给ARRAY分配20个字,初值为1,相当于 DB ?,?,?,?,?,?,给COUNT分配三字节,赋初值,数据定义伪指令,存储器 低端,00H,写出数据定义程序 DATA SEGMENT D1 D2 D3 D4 D5 DATA ENDS,DB 10,10H,DW 100H,-5,DD 320, 0FFFDH,DB A ,B,D5 DD AB,标号定义伪指令,格式:符号名 LABEL 类型 功能:为标号、指令单元、过程或变量建立新的符号名,建立另一种类型属性。 标号意义:它指定了机器指令的起始地址,可以作为转移指令如JMP、JZ、JNA等的转移目标,对标号、指令单元或过程,其类型有: NEAR(可缺省): FAR:,对变量,其类型有: BYTE/WORD/DWORD/FWORD/QWORD/TBYTE。,字节,字,双字,长字,四字,十字节,32-bit,段内调用,段间调用,指定地址伪指令,格式:ORG 偏移地址 ORG $偏移地址 注:以给定的偏移地址或由$给出的当前地址加上指定的偏移地址作为当前开始分配和使用的偏移地址。 符号$当前位置计数器,从0F0H开始安排数据,跳过10H个字节安排数据,(100H)=1,(102H)=106H,ORG 0F0H ; ORG $+10H ; DW 1,$+4 ;,题:解释下列伪指令,过程和宏命令定义伪指令,过程名 PROC NEAR / FAR RET 过程名 ENDP,过程允许嵌套,嵌套深度(层数)只受堆栈的限制。,宏体是指令和伪指令序列,它决定宏的功能,宏也允许嵌套; 宏与过程相似,也可由其它程序用宏名直接调用。,过程可由其它程序用CALL指令调用,执行完后用RET指令返回调用程序。,过程定义伪指令格式:,宏定义伪指令格式:,宏名 MACRO 形式参数表 ENDM,宏操作可以通过形式参数直接传递数据而过程不能。编程较后者容易。 汇编时,宏调用几次,就加入几段。而过程只在汇编时产生一次目标代码。所以宏占用存储空间多。宏执行速度稍快。宏适合于代码较短,过程适合于调用频繁情况。,定义一个带3个形参的宏,SUM=AD1+AD2,宏调用,用实际参数BX、 24、DX取代对应的形参,练习题:解释下列宏 CODE SEGMENT ADDUP MACRO AD1,AD2,SUM ; MOV AX,AD1 ; ADD AX,AD2 MOV SUM,AX ENDM ADDUP BX,24,DX ; ,MOV 传送指令,格式: MOV reg,reg/mem XCHG 交换指令,格式: XCHG reg,reg/mem XLAT 换码指令,格式: XLAT ;alds:bx+al LEA(load effective address) 地址传送指令 LDS(load pointer into DS) LES (load pointer into ES) 格式:LEA/ LDS /LES r16,mem ; PUSH 进栈指令,格式: PUSH r16/m16/seg; SPSP-2 POP 出栈指令,格式: POP r16/m16/seg; SPSP2 PUSHF 标志进栈指令,格式: PUSHF ;SS:SPFLAGS POPF 标志出栈指令,格式: POPF ;FLAGSSS:SP,数据传送指令,MOV BX,OFFSET DATA LEA BX,DATA,等价于,不能内存数据传送或交换,mem的有效地址EA传送到16位寄存器,指8086CPU寻找指令和操作数存放的位置的方式。,寻址方式,操作数 寻址方式,指令的 寻址方式,直接寻址,间接寻址,立即数寻址,寄存器寻址,寄存器间接寻址,相对寄存器寻址,基址-变址寻址,相对基址变址寻址,段内寻址,段间寻址,寻址方式,基址寄存器数据段BX 、堆栈段BP ; 变址寄存器SI、DI。,物理地址(EA)=段地址16+有效地址(EA),MOV AX, 2000H; MOV AX,3000H; MOV DS,AX; MOV AX, SI ; MOV AX,BP; MOV AL,BH; MOV AX,ES:2000H; MOV AX,DS:BP; MOV AX,COUNTSI; MOV AX,BXSI ; MOV AX,BX+SI;,立即数寻址,寄存器寻址,寄存器间接寻址(DS) 16+(SI),寄存器寻址,寄存器间接寻址(DS) 16+( BP ),相对寄存器寻址(DS)16+(SI)+COUNT,基址-变址寻址(DS)16+ (BX)+ (SI),同上,寄存器间接寻址(SS)16+(BP),直接寻址(DS)16+2000H,直接寻址(ES)16+2000H,mov ax,1234h ; mov bx,5678h ; xchg ax,bx ; xchg ah,al ; mov bx,100h mov al,03h xlat ; mov bx,0400h mov si,3ch lea bx,bx+si+0f62h; mov word ptr 3060h,0100h mov word ptr 3062h,1450h les di,3060h ; lds si,3060h ;,题:给出每条指令的结果,BX0400h003ch0f62h139EH,es=1450h,di=0100h,ds=1450h,si=0100h,ax=1234h,bx=5678h,ax=5678h,bx=1234h,ax=7856h,al ds:103H,修改CS、IP的指令,mov指令可以修改除CS、IP和标志寄存器以外的寄存器的值。修改除CS、IP的值用主要用jmp转移指令。,段内转移 只改IP jmp 标号,无条件转移 条件转移 循环指令 调用指令 中断,转移指令分类,段间转移: 同时改CS和IP,JE=JZ,JS,JB,JA,JG,JL,JCXZ 0 负 低于 高于 大于 小于 CX=0,格式:LOOP 标号 当CX0 ,IP=标号IP,每次循环CX-1。,直接转移jmp far ptr 标号 间接转移jmp dword ptr ,格式: CALL 子程序名,返回指令 ret,短转移jmp short ptr 标号 (IP)=(IP)+8位偏移量,近转移 jmp near ptr 标号 (IP)=(IP)+16位偏移量,格式: INT 中断号,返回指令 ret,jmp 2AE3:3 ; jmp ax ; JMP CX ; JMP WORD PTR BX; JMP DWORD PTR BX ;,(CS)=2AE3H,(IP)=3,(IP)=(ax),题:写出下列语句修改的值。,(IP)=(CX),(IP)=(BX),(CS)= BX+2 ,(IP)= BX,BX内存单元中的双字的低字修改IP,高字修改CS的值。,题: TABLE = 20A2H ,(BX) = 1256H,(SI) = 528EH, (DS)

温馨提示

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

评论

0/150

提交评论