文档库 最新最全的文档下载
当前位置:文档库 › 第2章 80868088的系统结构

第2章 80868088的系统结构

第2章 80868088的系统结构
第2章 80868088的系统结构

第2章 8086/8088的系统结构1978年,Intel公司制造出第一个16位的微处理器8086/8088,它是80X86微处理器系统结构的基础。8086/8088CPU的主要特点是:第一,CPU数据总线是16位的,就是说,它一次最多能处理16位的数据;第二,CPU地址总线是20位的,存储器的空间是1MB;第三,CPU采用了流水线处理技术,当数据总线和地址总线忙于传输数据时,CPU可以同时处理其它信息,使处理器的效率提高。

Intel以后研制出的所有的CPU都是建立在8086/8088指令集基础之上。新的微处理器都能运行原来8086/8088的程序,同时又增加了新的功能和指令。

计算机的系统结构 (system architecture ) 也称为系统架构,经典的系统结构定义是指计算机系统的多层次结构中机器语言机器级的结构,它是软件和硬件/固件的主要交界面,是由机器语言程序、汇编语言源程序和高级语言源程序翻译生成的机器语言目标程序能在机器上正确运行所应具备的界面结构和功能。随着计算机技术、微电子技术等不断发展,系统结构的概念和内涵也在演变,对于计算机或CPU设计、应用人员来说,计算机系统结构是硬件和软件的综合技术,往低层看,是CPU、存储器、接口等的硬件电路系统设计,和指令系统的设计和优化等,是计算机的基础级。往上层看,是如何构造出性能更快、更优的计算机系统,提高计算机系统的并行性,包括指令级的并行、操作系统级的并行、和多处理器的并行,这涉及到许多并行的新算法,结构和编程等技术,这些内容本书涉及。

2-1 8086/8088 CPU结构

微处理器就是中央处理单元(central processing unit),一般简称为CPU。它的内部有一个算数和逻辑单元(ALU),它主要功能是对数据进行运算和逻辑控制。8086/8088 CPU结构有二种含义,一是指物理结构,另一个是指编程结构。物理结构是指在硅片上设计和制造CPU时,各个功能单元部分的电路版图(layout)怎样设计,放置在何处,单元之间的联线怎样安排等,对于一块已经封装好的集成电路,一般是无法从外部看到芯片的内部的。编程结构是指从编程人员或使用人员的角度出发,所看到的结构。物理结构是设计CPU芯片时所能看到的真实性结构,而编程结构是对计算机编程时所看到的原理性结构,它与真实结构是有区别的。本书介绍的8086/8088CPU结构,是指CPU的编程结构。

5

第2章 8086/8088 CPU 的体系结构

图2-1 8086 CPU

图2-2 Pentium CPU 图2-3 8088 芯片

图2-1和 图2-2分别是8086CPU 和Pentium ?CPU 芯片的内部版图结构,图2-3是一个实际的8088

芯片。以上图片来源于“Reaching New Milestones-25Years of Intel Architecture ”,https://www.wendangku.net/doc/ff2684329.html, 。

2-1-1 8086/8088CPU 内部结构

8086/8088CPU 是16位的微处理器芯片,它采用了3μm 线宽、NMOS 半导体工艺制造技术,在

芯片上集成了约29000个晶体管,工作电压+5V ,时钟频率5MHZ ,计算速度达2.5MIPs(millions of

instructions per second)。它有16位数据线,有20位地址线,所以可以寻址的存储地址空间是202

1M

字节。

在推出8086 CPU 的同时,intel 公司还推出了一种准16位微处理器8088CPU 。推出8088的主要

目的是为了与当时已有的外围接口芯片直接兼容使用,8088的主要特点是:内部寄存器、内部运算部

件以及内部操作都被设计成16位的,但对外的数据总线只有8条。微型计算机是以微处理器为核心的、

硬件和软件技术的综合,掌握了微处理器的原理和使用方法,就能更好的使用微型计算机。

要掌握一个CPU 的工作原理,就应该了解它的编程结构,即编程时所看到的原理性结构,它与真

实结构是有区别的。我们分析的8086/8088CPU 结构,是指CPU 的编程结构。

从微处理器功能上分析,8086/8088CPU 可分成两部分,即总线接口部件(BIU )和执行部件(EU )。

见图2-4。工作时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据,将数据

传送给执行部件,或者把执行部件的操作结果送到指定的内存单元或外设端口中。

微型机原理及应用6

说明 AX,BX,CX,DX-16位通用寄存器BP-16位基址指针寄存器

DI-16位目标变址寄存器

SI-16位源变址寄存器

SP-16位堆栈指针寄存器

FR-16位标志位寄存器CS-16位代码段寄存器ES-16位附加段寄存器SS-16位堆栈段寄存器DS-16位数据段寄存器IP-16位指令指针寄存器

8086/8088CPU内部原理框图

图2-4 8086/8088 CPU 内部结构框图

总线接口部件(BIU)的功能就是负责CPU与存储器、I/O端口传送数据。总线接口部件(BIU)由下列各部分组成:

①有4个段地址寄存器,即CS、ES、SS、DS;

②1个16位的指令指针寄存器IP;

③有1个20位的地址加法器。由于8086/8088内部的寄存器都是16位的,所以需要一个附加的机构,它可根据寄存器中的16位数据,计算出20位的存储器地址;

④有1个4或6字节(byte)的指令队列(Queue)或指令缓存(Cache),由于指令队列中放有1条或几条指令,所以CPU执行完一条指令后,就可以立即执行下一条指令,不需要再到内存中去取指令,提高了CPU的效率。8086/8088中的指令队列或缓存提高了顺序指令的执行速度,在现代微处理器中设计了更大的缓存(Caches)。

执行部件(EU)的功能就是负责指令的执行。执行部件由以下部分组成:

① 4个通用寄存器,即AX、BX、CX、DX;

7

第2章 8086/8088 CPU 的体系结构 ② 4个专用寄存器,即BP 、DI 、SI 、SP ;

③ 标志位寄存器FR ;

④ 算数逻辑单元ALU 。

2-1-2寄存器结构

①8086/8088CPU 中的寄存器可以分为6类,通用寄存器、段寄存器、指针寄存器、指令寄存器、

变址寄存器、标志寄存器,它们都是16位的寄存器。通用寄存器AX ,BX, CX ,DX 可以存储16位数

据,也可以按AH/AL ,BH/BL ,CH/CL ,DH/DL 分别存储高8位数据,低8位数据。16位的通用寄

存器AX ,高8位AH 寄存器和低8位AL 寄存器中,数据存储方式如图所示,其中DLn 是低8位数

据,DHn 是高8位数据。如图2-5所示。

AX

D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0

DH7DH6DH5DH4DH3DH2DH1DH0DL7DL6DL5DL4DL3DL2DL1DL0

图2-5 通用寄存器中数据存储方式 ②AX 寄存器也称为累加器(Accumulator),许多指令都是通过累加器的动作来执行的。累加器可

以按字操作,作为16位来使用。也可按字节操作,作为8位来使用。

③算数逻辑单元ALU 主要是加法器,绝大数指令的执行都是由加法器完成。

④标志位寄存器是16位的,其中有7位未被使用。如图2-6。

CF

PF AF ZF SF IF TF DF OF 1514131211

109876543210

图 2-6 8086/8088 CPU 的状态标志寄存器

8086/8088的标志可以分成两类:一类叫状态标志,另一类叫控制标志。状态标志表示前面的操

作执行后,算数逻辑部件处在何种状态,这种状态会像某种先决条件一样,对后面的操作产生影响。

控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置和清除,每个控制标志都对某

一个特定的功能起控制作用。

状态标志位有6个,既SF 、ZF 、PF 、CF 、AF 和OF 。

符号标志SF (Sign Flag ):就是运算结果的最高符号位。SF=0,数据是正。SF=1,数据是负。

零标志ZF (Zero Flag ):当运算结果为零时,ZF=1;当运算结果非零时,ZF=0。

奇偶标志PF (Parity Flag ):如果运算结果的低8位中所含有的1的个数为偶数,PF=1;否则 PF=0。

进位标志CF (Carry Flag ):当执行加法运算使最高位产生进位时,或执行减法运算时向最高位产

生借位时,则CF=1。此外,循环指令也会影响这一标志。

8

微型机原理及应用

辅助进位标志AF(Auxiliary Carry Flag):当加法运算时,如果第三位往第四位有进位,或减法运算时,如果第三位从第四位有借位,则AF=1。

溢出标志OF(Overflow Flag):当运算过程中产生溢出时,会使OF=1。所谓溢出,就是运算后的字节的结果超出了范围-128~+127,或运算后的字的结果超出了范围-32768~+32767时,就称为溢出。计算机机在进行加法运算时,每当判断出低位往最高有效位产生进位,而最高有效位往前没有进位时,便得知产生了溢出,于是OF=1;或者反过来,每当判断出低位往最高位无进位时,而最高位往前却有进位时,便得知产生了溢出,则OF=1。在减法运算时,每当判断出最高位需要借位,而低位并不向最高位产生借位时,OF=1;或者反过来,每当判断出低位从最高位有借位,而最高位并不需要从更高位借位时,OF=1。

控制标志有3个,即DF、IF、TF。

方向标志DF(Direction Flag):它是控制串操作指令用的标志。如果DF=0,则串操作过程中地址会不断增值;相反,DF=1,则操作过程中,地址会不断减值。

中断标志IF(Interrupt Enable Flag):它是控制可屏蔽中断的标志。如果IF=0,则CPU就无法对可屏蔽中断申请作出响应;如果IF=1,则CPU就可以接受可屏蔽中断的请求。

跟踪标志(Trap Flag):如果TF=1,则CPU按跟踪方式执行指令。

总线接口部件(BIU)和执行部件(EU)在时间上并不是同步工作的,而是按一定的时序进行工作的。其特点是:

①每当8086/8088的指令队列(指令缓存)中有2个空字节,或者8088的指令队列中有1个空字节时,总线接口部件就会自动把指令取到指令队列中。

②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前边取出指令代码,然后去执行指令。当在执行指令的过程中,如果要访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期去完成访问内存或者输入/输出端口的操作。如果这时总线接口正好处于空闲状态,那么会立即响应执行部件的总线请求。但有时会遇到这种情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,这时总线接口部件将首先完成这个取指令的总线周期,然后再去响应执行部件发出的访问总线的请求。

③当指令队列已满时,而且执行部件对总线接口部件又没有访问请求时,总线接口部件就进入空闲状态。

④在执行转移指令,调用指令和返回指令时,接着要执行的指令就不是在程序中的紧接着排列的那条指令了,而总线接口部件往队列装入指令时,总是按顺序进行的,这样,指令队列中的已装入的字节就没有用了。当这种情况发生时,队列中的原有内容被自动清除,总线接口部件会接着指令队列

9

第2章8086/8088 CPU的体系结构

中转入另一个程序段中的指令。

⑤8086/8088CPU的流水线技术:

提高计算机的运行速度一般有两种方法:一是提高CPU的主频时钟频率,二是改进CPU的系统结构。第一种方法依赖硬件的设计、半导体工艺、和物理方法实现。第二种方法与CPU的内部工作机制、过程、架构有很大关系。流水线技术思想并不是计算机的专利,在很多企业的生产线上,普遍采用了流水线技术。在8086/8088微处理器中,内部的工作是由两个部分来完成的:执行单元(EU)和总线接口单元(BIU)。在时钟作用下,这两部分是严格按时序进行工作的,即当BIU访问存储器和外围设备时,EU处理已经取回的指令。CPU在工作是,BIU超前EU,在此8086/8088CPU中的BIU单元,有6字节的指令缓存,或称为指令队列,当某条指令执行的时间很长时,缓存会被后来的新指令填满,CPU就会处于等待状态。当缓存中腾出了至少2个字节的足够的空间时,BIU就会读入新的指令。在有些情况下,CPU是必须清空指令队列(或指令缓存)。在执行跳转指令时,BIU立即开始从指定的存储器的新地址开始读取指令,而指令缓存中原先存放的信息会被清零,这时EU必须等待直到BIU 读入了新的指令。8086/8088CPU的流水线采用了两个阶段,见图2.7, 读取指令和执行指令。80886CPU 采用流水线技术的执行过程,见图2.5,实际上是最简单的重叠技术。在更新的CPU中流水线采用了更多的阶段。

图2-7 8086/8088 CPU 指令的执行

8086CPU指令执行阶段

执行指令1

取指令1

取指令2执行指令2

取指令3执行指令3

图2-8 8086/8088 CPU 的流水线

8086CPU的流水线

⑥8086/8088总线周期的概念:

为了取得指令和传送数据,就需要CPU的总线接口部件执行一个总线周期。在此8086/8088CPU 中,一个最基本的总线周期是由4个时钟周期组成,时钟周期是CPU的基本时间计量单位,它由计算机主频决定。例如,8086/8088的主频为5MHZ,1个时钟周期就是200ns。在一个最基本的总线周期中,一般将4个时钟周期分别称为4个状态,即T1状态、T2状态、T3状态和T4状态。

T1状态:CPU往多路复用总线上发出地址信息,指出要寻址的存单元或外设端口的地址。

T2状态:CPU从总线上撤销地址,而使总线上的低16位浮置成高阻状态,为传输数据作准备。总线的最高4位(A19-A16)用来输出本总线周期状态信息。这些状态信息用来表示中断允许状态,

10

微型机原理及应用

当前正在使用的段寄存器名等。

T3状态:多路总线的高4位继续提供状态信息,而多路总线的低16位上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。

T4状态:总线周期结束。

但是,在有时,被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。这时外设或者存储器会通过“READY”信号线字T3状态启动之前向CPU发出一个“数据未准备好”信号,于是CPU就会在T3之后插入1个或多个附加的时钟周期Tw。Tw也称等待状态。在Tw状态,总线上的信息情况和T3状态的信息一样。当指定的存储器或外设完成数据传送时,便在“READY”线上发出“准备好”信号,CPU接到这一信号后,会自动脱离Tw状态进入T4状态。

在空闲周期中,可以包含1个时钟周期或多个时钟周期。在这个周期时,在高4位上,CPU仍然驱动前一个总线周期的状态信息,而且如果前一个总线周期为写周期,那么CPU会在总线低16位上继续驱动数据信息。如果前一个总线周期为读周期,则在空闲周期中,总线低16位处于高阻状态。见图2-9。

T1T2T3Tw T4T1T2T3T4T1T1T1T2T3Tw Tw T4T1T1

图2-9 8086/8088总线周期时序图

2-2 8086/8088 CPU的引脚及其功能

8086/8088CPU芯片共有40个引脚。在使用时应正确地按引脚功能的定义进行联接。图2-10是8086/8088CPU的引脚信号定义。

11

第2章 8086/8088 CPU 的体系结构

12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2324252627 2829303132333435363738 3940I n t e l 8086GND

AD14

AD12

AD13

AD11

AD10

AD9

AD8

AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

NMI

INTR

CLK

GND

VCC(5V) AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 RD HOLD (RQ /GT0) HLDA (RQ /GT1) WR (LOCK) M /IO (S2) DT / R (S1) DEN (S0) ALE (QS0) INTA (QS1) TEST READY RESET

图2-10 8086/8088引脚定义

关于8086/8088 CPU 的引脚,要注意的是几点。 1.地址/数据总线: 8086/8088的数据线和地址线是分时复用的,所以8086/8088总线是多路总

线,即从时序上分析,某一时刻是地址信号,而另一时刻是数据信号。芯片的AD0-AD15既是地址线的

低16位,通时也被用作16位的数据线。A16-A19是地址线的高4位。由于分时复用所以地址线是总

共20位,数据线是16位。

2.地址/状态线: A16/S3-A19/S6是地址/状态复用线,输出,三态。A16-A19是地址线的高4

位。由于分时复用所以地址线是20位,寻址存储地址空间是2021M 字节。S6=0,指示8086/8088

当前与总线相连。S5=1时,8086/8088允许可屏蔽中断请求。S5=0时,8086/8088禁止可屏蔽中断请

求。S4,S3指出8086/8088当前正在使用哪个段寄存器,具体规定如下。 表2-1 S4,S3的使用功能定义

3.控制总线:

⑴ 7BHE/S :高8位数据总线允许/状态复用引脚。在总线周期的1T 状态此引脚输出BHE 信号,

微型机原理及应用

12 表示高8位数据线158D D 上的数据有效,2T 、3T 、W T 和4T 状态,这个引脚输出信号7S 。 BHE 信号和0A 信号合起来,说明当前数据总线的使用情况,如表2-2所示。

表2-2 BHE 、0A 编码的含义

S7用来输出状态信息,在当前8086/8088芯片的设计中未被赋予定义,暂作备用。在8088中第34引脚不是BHE/S7,而是被赋于另外的信号。在最大模式时,此引脚恒为高电平;在最小模式时,则为SS0,这和DT/、M/IO 一起决定了8088芯片当前总线周期的读/写动作

⑵ RD : 读信号,三态输出,低电平有效。RD=0时,表示当前CPU 正在对存储器或I/O 端口进行读操作。

⑶ WR : 写信号,三态输出,低电平有效。WR=0时,表示当前CPU 正在对存储器或I/O 端口进行写操作。

⑷ M/IO : 存储器或I/O 端口访问信号,三态输出。M/IO=1时,表示CPU 当前正在访问存储器;M/IO=0时,表示CPU 当前正在访问I/O 端口。

⑸ READY : 准备就绪信号,输入,高电平有效。READY=1时,表示CPU 访问的存储器或I/O 端口已准备好传送数据。若CPU 在总线周期T3状态检测到READY 信号为低电平,表示存储器或I/O 设备尚未准备就绪,CPU 自动插入一个或多个等待状态TW ,直到READY 信号变为高电平为止。

⑹ INTR : 可屏蔽请求信号,输入,电平触发,高电平有效。当INTR=1时,表示外设向CPU 发出中断请求,CPU 在当前指令周期的最后一个T 状态去采样该信号,若此时IF=1,则CPU 响应中断,停止执行原指令序列,转去执行中断服务程序。

⑺ INTA : 中断响应信号,输出,低电平有效。表示CPU 响应了外设发来的INTR 信号。

⑻ NMI : 不可屏蔽中断请求信号,输入,上升沿触发。该请求信号不受IF 状态的影响,也不能用软件屏蔽,一旦该信号有效,则执行完当前指令后响应中断。

⑼ TEST : 测试信号,输入,低电平有效。当CPU 执行WAIT 指令时,每隔5个时钟周期对TEST 进行一次测试,若测到TEST 无效,CPU 继续处于等待状态,直到检测到TEST 为低电平。

⑽ RESET : 复位信号,输入,高电平有效。RESET 信号至少要保持4个时钟周期。CPU 接到RESET 信号后,停止进行操作,并将标志寄存器、IP 、DS 、SS 、ES 及指令队列清零,将CS 设置为FFFFH 。当复位信号为低电平时,CPU 从FFFF0H 开始执行程序。

13

第2章8086/8088 CPU的体系结构

⑾ALE:地址锁存允许信号,输出,高电平有效。用来做地址锁存器8282的片选信号,使由AD15~AD0分时发出的地址信息和数据信息分开。

⑿DT/:数据发送/接收控制信号,三态输出。在最小模式系统中使用8286作为数据总线的收发器,DT/信号用来控制8286芯片的数据传送方向。当DT/R=1时,则进行数据发送,即进行写操作;当DT/R=0时,则进行数据接收,即进行读操作。

⒀ DEN:数据允许信号,三态输出,低电平有效。在最小模式系统中,用来作数据收发器8286的选通信号。

⒁ HOLD:总线请求信号,输入,高电平有效。当系统中CPU之外的另一个主模块要求占用总线时,通过它向CPU发一高电平的请求信号。

⒂ HLDA:总线请求响应信号,输出,高电平有效。当HLDA有效时,表示CPU对其他主部件的总线请求作出响应,与此同时,所有与三总线相接的CPU的引脚呈现高阻抗,从而让出总线。

⒃ MN/MX:工作模式选择信号,输入。MN/MX=1,表示CPU工作在最小模式系统;MN/MX=0,表示CPU工作在最大模式系统。

⒄ CLK:主时钟信号,输入。8086和8088要求时钟信号的占空比为33%,即1/3周期为高电平,2/3周期为低电平。8086和8088的时钟频率要求为5MHz,8086|1的时钟频率为10MHz,8086|2的时钟频率为8MHz。不同型号的芯片使用的时钟频率不同。

4. 电源线和地线

8086和8088均用单一的+5V电源。1、20引脚为地线,应接地。

5. 最大模式下的有关引脚

(1) QS1、QS0:指令队列状态信号,输出。这两个信号组合起来提供了总线周期的前一个状态中指令队列的状态,以便于外部对8086/8088内部指令队列的动作跟踪。QS1、QS2的代码组合和对应的含义见表2-3所示。

表2-3 QS1、 QS2 编码含义

(2) S2、S1、S0:总线周期状态信号,三态输出。在最大模式系统中,它用来给总线控制器8288提供服务。8288利用这些状态信号产生对存储器和I/O设备的读写信号。这3个状态信号的编码和含

14

微型机原理及应用

义如表2-4所示。

表2-4 S1、S2、S3状态信号的编码

(3) RQ/GT1、EQ/GT2:总线请求信号(输入)/总线请求允许信号(输出),双向,低电平有效。

这两个信号端可供CPU以外的2个处理器用来发出使用总线的请求信号和接收CPU对总线请求信号的回答信号。这两个应答信号都是双向的。RQ/GT0的优先级比RQ/GT1的高。

(4) LOCK:总线封缩信号,三态输出,低电平有效。LOCK有效时,表示CPU不允许其他总线主控部件占用总线。LOCK信号是由指令“LOCK”使其有效,并维持到下一条指令执行完毕为止。此外,在8086/8088的两个中断响应脉冲之间,LOCK信号也自动变为有效电平,以防其他总线主部件在中断响应过程中占用总线而使一个完整的中断响应过程被间断。还须指出,在DMA期间,LOCK端被浮空而处于高阻状态。

6.8086/8088CPU在最小模式中引脚定义

8086/8088CPU有两种工作方式,当第33腿MN/MX接到+5V时,CPU处于最小工作模式。既系统中只有一个微处理器工作。最小模式时,24-31腿的信号含义如下。

⒈INTA(Interrupt Acknowledge )中断响应信号输出

在最小模式时,第24腿设置为中断响应信号的输出,对外设的中断请求作出响应。

⒉ALE(Address Latch Enable )地址锁存允许信号输出

第25腿设置为地址锁存允许信号输出,这是8086/8088控制地址锁存器8282/8283的信号,高电平有效。在总线周期的T1时间,ALE输出有效电平。

15

第2章 8086/8088 CPU 的体系结构

2-3 8086/8088存储器组织

8086/8088CPU 有20根地址线A0-A19,所以可寻址存储器的地址空间为2021MB =,这个1MB 的内存单元的地址编码是从00000~FFFFFH 范围。8086/8088存储器的地址编码是按字节组织排列的,即每个字节只有唯一的物理地址,称为“字节编码”。但是在8086/8088中的内部寄存器,如指令指针IP 和堆栈指针寄存器SP 都是16位的,最大可寻址16264K =空间,而无法直接对1MB 内存单元进行寻址,所以在8086/8088中引入了分段概念。实际上,段就是一块存储区域,一个段的最大物理存储空间是64K ,正好是16

264K =。在通常的汇编程序中可以有代码段、数据段、堆栈段和附加段,每段的段地址分别是由CS( Code Segment)、DS( Data Segment)、SS( Stack Segment)和ES( Extra Segment)这4个16位的段寄存器来设置。

8086/8088中的段寄存器设计是16位的,当要计算一个存储单元的实际物理地址时,先要将段寄存器中的16位值左移4位(这相当于乘十进制数的16),得到一个20位的值,再加上16位的偏移地址(有效地址),偏移量可能放在指令寄存器IP 中,也可能放在堆栈指针SP 或者基址指针BP 中,还可放在变址寄存器SI 、DI 中,甚至可能放在通用寄存器BX 中。这样就形成了20位的实际物理地址。

在intel 的CPU 中,共涉及到了三种地址:物理地址、偏移地址和逻辑地址。物理地址(physical address ) 就是真实的存储单元地址,能被存储器接口电路编码解码实现的、由20位地址信号线寻址的范围,即内存单元地址编码是从00000~FFFFFH 的范围。偏移地址(offset address ) 就是64K 字节段中的某一位置,既16位的指针或变址寄存器所给定的范围,从0000~FFFFH 的范围。逻辑地址( logical address) 就是由段值和徧移地址所组成的,即CS :IP 。

8086/8088CPU 的存储器中的操作数可以是1个字节(1Byte=8bits ),也可以是1个字(1Word=16bits)。如果是以字(Word )为操作数,那么在存储器中,低8位字节(Byte )存放在存储器的低地址单元,而高8位字节(Byte )存放在存储器的高地址单元。

2-3-1 存储器地址的分段

8086/8088CPU 有20根地址线,可以寻址的存储器地址空间为 202=1MB ,这个1MB 的内存单元地址编码是00000~FFFFFH 。在早期的基于8086/8088的PC 中,分配给所有存储区块的地址都处在这个范围。在实模式下所有的X86微处理器,情况都如此。早期的IBMPC 设计者,为RAM 提供了640KB 空间,范围从00000~9FFFFH ,称为常规存储区(conventional memory)。为ROM 提供了256KB

微型机原理及应用

16 空间,为Video/display 提供了128KB 的空间。见图2-11。因为在当时,主板上只有64KB 到256KB 的RAM 。

地址

存储器

A0000

C0000

FFFFF ROM 256K

Video/display 128K RAM 640K

BFFFF

000009FFFF 8086/8088存储器分配表

图2-11 8086/8088 存储器分配表

传统存储区中,地址从00000~9FFFFH 范围,共640KB 。其中地址从00000~003FFH 范围用于存放中断向量表,从00400~004FFH 范围用于存放BIOS 的数据。

视频显示存储区中,地址从A0000~BFFFFH 范围,共128KB 。单色视频使用地址从B0000~B0FFFH 的4KB 范围,彩色视频使用地址从B8000~BBFFFH 的16KB 范围。而VGA 使用的地址从A0000~AFFFFH 的64KB 范围。

ROM 存储区中,地址从C0000~FFFFFH 范围,共256KB 。

8086/8088的存储器是采用分段编址方法来进行组织的,这样做的目的:第一,使指令中的大部分指令只用16位地址,可减少指令长度,提高执行的速度。也就是说,虽然8086/8088有1MB 存储空间,但在程序执行中,并不需要在1MB 空间内运行,多数情况下是在较小的存储空间中执行,所以段寄存器的值改变很少。在多数时,指令的执行,并不需要改变段寄存器中的值,而只用到16位的偏移地址。第二,存储器的分段为程序的浮动装配创造条件。既随着程序的增加,各种程序可以浮动地装配在内存中而正常运行,并不要由程序员来修该程序。要真正做到浮动装配,一是操作系统应能根据当时的内存情况自动装配;二是程序可浮动,既程序中不涉及物理地址,只涉及到偏移地址。

2-3-2 8086/8088存储器的分体结构

8086/8088CPU 的存储器中的操作数可以是1个字节(1Byte=8bits ),也可以是1个字(1Word=16bits)。如果是以字(Word )为操作数,那么在存储器中,低8位字节(Byte )放在存储器的低地址单元,而高8位字节(Byte )放在存储器的高地址单元。

当数据以字(Word)方式存放在存储器时,同时规定:以存放低8位字节的单元的地址作为这个字的地址。通常,一个字(Word )总是位于偶地址,即偶地址对应低位8位字节的单元,奇地址对应

17

第2章8086/8088 CPU的体系结构

高8位字节的单元,符合这种规则存放的字(Word)称为“规则字”。双字数据则要占用4个字节,用以存放连续的两个字。在存放低位字和高位字时,高位字位于存储器的高地址单元,低位字位于存储器的低地址单元,以最低8位字节单元的地址作为双字数据的地址。

图2-12 8086/8088 存储器的分体结构

图2-12所示为8086/8088系统的存储器结构。1 MB存储器空间实际分为两个512KB的存储体(或存储库),每个存储体(存储库)的容量都是512 KB。其中和数据总线D15~D8相连的体全部由奇地址单元组成,称为高位字节体或奇地址体,利用BHE信号低电平作为此体的选择信号;另一个体和数据总线D7~D0相连,由偶地址单元组成,称为低位字节体或偶地址体,利用地址线A0=0(低电平)作为此体的选择信号。所以只有A19~A1 共19个地址线用来作为两个体内的存储单元的寻址信号。前面表2-2给出BHE与A0相配合就可以进行操作。

2-3-3 堆栈

堆栈(Stacks)的概念是由德国科学鲍尔(Friedrich Ludwig Bauer)发明的技术,它采用了“先进后出”(FILO)的思想,是现代计算机中一个十分基本的概念而广泛应用。堆栈是8086/8088CPU用来临时存放数据的一段RAM,因此当要在存储器RAM中访问某个堆栈时,就要用到两个16位的堆栈段寄存器SS和堆栈指针寄存器SP来指出实际物理地址。当CPU将寄存器中的数据放到堆栈中的过程,称为进栈(PUSH);当把堆栈中数据放入到寄存器中的过程,称为出栈(POP)。在任何指令使用堆栈之前,都要对这两个寄存器赋值。

在执行进栈和出栈的堆栈操作过程中,堆栈指针寄存器SP的作用很重要。在×86中,堆栈指针SP指向堆栈顶端的存储位置,当数据被打进堆栈时,SP的值就随之递减。当数据从堆栈中取出时,SP 的值就会随之递增。数据进栈后,SP递减的原因是:要保证堆栈增长的方向是沿着从高位地址到低位地址的方向进行的。关于这点,和指令指针IP的变化规律相反,IP总是指向下一条将要执行的指令,

18

微型机原理及应用

即IP的值总是随之递增的。为了防止CPU程序的代码段和堆栈段发生干扰,设计时将它门安排在了RAM的两端。由于增长的方向不一样,它门就无法相遇,系统也不会崩溃。

2-4 8086/8088 系统配置

为了使8086/8088CPU能适应各种微机系统的使用,它们设计成为可在两种模式方式下工作,即最大模式和最小模式。

2-4-1 最小模式系统

8086/8088CPU就是在系统只有8086或者8088一个处理器。在这种系统中,所有的总线控制信号直接由8086或8088产生,因此系统中的总线控制逻辑电路被减至到最小。这也就是最小模式名称的由来。

2-4-2 最大模式系统中

与最小模式系统相对,最大模式用在中等或大型的8086/8088系统中。最大模式系统就是有两个或多个微处理器,其中一个是主处理器,即8086/8088,其它处理器就是协处理器,协助主处理器工作的。

8086/8088的协处理器有两个,一个是数值运算协处理器8087,一个是输入/输出协处理器8089。

8087是专用的数值计算微处理器,它能实现多种类型的数值操作,比如高精度的整数和浮点运算,也可进行超越函数的计算。在通常情况下,这些运算在CPU中往往是通过软件方法来实现,而8087是用硬件方法来实现这些运算。所以,在系统中加入了8087后,会提高系统的数值运算速度。

8089在原理上好象是带有两个DMA通道的处理器,它有一套专门用于输入/输出操作的指令系统,但是8089又和DMA控制器有区别,它可以直接为输入/输出设备服务,使8086或8088不用再承担这类工作。所以,在系统中增加协处理器8089后,会明星提高主处理器的效率,特别是在输入/输出使用非常频繁的地方。

CPU究竟工作在何种模式,取决于微机系统的使用要求。

习题2

参考书:

1.8086/8088IBM PC及兼容计算机(卷I和卷II):汇编语言、设计与接口技术(第4版),张波等译,清华大学出版社。

2.《微型计算机技术及应用》,戴梅萼,清华大学出版社,1994年

3.《微机原理与接口技术》,李文英,清华大学出版社,2001年

4.《Intel微处理器-从8086/8088到Pentium系列体系结构、编程与接口技术》,Barry B.Brey 高等教育出版社,2001年

19

第2章8086/8088 CPU的体系结构

Glossary:

Then-current state-of-the-art P-channel MOSFET

计算机系统结构-第二章自考练习题答案

计算机系统结构-第二章自考练习题答案

第二章数据表示与指令系统 历年真题精选 1. 计算机中优先使用的操作码编码方法是( C )。 A. BCD码 B. ASCII码 C. 扩展操作码 D. 哈夫曼编码 2.浮点数尾数基值r m=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾数值为( D )。 A. 1/2 B. 15/16 C. 1/256 D. 255/256 3. 自定义数据表示包括(标志符)数据表示和(数据描述符)两类。 4. 引入数据表示的两条基本原则是:一看系统 的效率是否有提高;二看数据表示的(通

用)性和(利用)率是否高。 5. 简述设计RISC的一般原则。 6. 简述程序的动态再定位的思想。 7. 浮点数表示,阶码用二进制表示,除阶符之外 的阶码位数p=3,尾数基值用十进制表示,除尾符外的尾数二进制位数m=8,计算非负阶、规格化、正尾数时, (1)可表示的最小尾数值;(2)可表示的最大值;(3)可表示的尾数个数。 8. (1)要将浮点数尾数下溢处理成K—1位结 果,则ROM表的单元数和字长各是多少? 并简述ROM表各单元所填的内容与其地址之间的规则。

(2)若3位数,其最低位为下溢处理前的附 加位,现将其下溢处理成2位结果,设 计使下溢处理平均误差接近于零的 ROM表,以表明地址单元与其内容的 关系。 同步强化练习 一.单项选择题。 1. 程序员编写程序时使用的地址是( D )。 A.主存地址B.有效地址C.辅存实地址D.逻辑地址 2. 在尾数下溢处理方法中,平均误差最大的是( B )。 A.舍入法B.截断法C.恒置“1”法

计算机组成与系统结构第二章习题及答案

、填空题(20 每空 2 分) 1. 计数制中使用的数据个数被称为________ 。(基) 2. 移码常用来表示浮点数的_ 部分,移码和补码比较,它们除_外, 其他各位都相同。(阶码,符号位) 3. 码值80H: 若表示真值0, 则为_; 若表示-128 ,则为_ ; 若表示-127 ,则为____ ; 若表示-0, 则为 ____ 。(移码补码反 码原码) 4. 在浮点运算过程中,如果运算结果的尾数部分不是_ 形式,则需要进行规格化处理。设尾数采用补码表示形式,当运算结果—时, 需要进行右规操作;当运算结果________________________________ 时,需要进行左规操作。 (规格化溢出不是规格化数) 二、选择题(20 每题 2 分) 1. 以下给出的浮点数,_______ 规格化浮点数。(B ) A. 2 八-10 X 0.010101 B . 2 八-11 X 0.101010 C. 2 八-100 X 1.010100 D . 2 八-1 X 0.0010101 2. 常规乘除法器乘、除运算过程采用部分积、余数左移的做法,其好处是 。( C )

A. 提高运算速度 B. 提高运算精度 C.节省加法器的位数 D. 便于控制 3. 逻辑异运算10010011 和01011101 的结果是_____ 。(B) A.01001110 B.11001110 C.11011101 D.10001110 4. _________浮点数尾数基值rm=8, 尾数数值部分长 6 位,可表示的规 格化最小正尾数为。(Q 1. A.0.5 B.0.25 C.0.125 D.1/64 5?当浮点数尾数的基值rm=16, 除尾符之外的尾数机器位数为8 位时, 可表示的规格化最大尾数值是_____________ 。(D) A.1/2 B.15/16 C.1/256 D.255/256 6. 两个补码数相加,采用1 位符号位,当_时表示结果溢出。(D) A、符号位有进位 B、符号位进位和最高数位进位异或结果为0 C符号位为1D、符号位进位和最高数位进位异或结果为1 7. 运算器的主要功能时进行_ 。(0 A、逻辑运算 B、算术运算 C、逻辑运算和算术运算 D、只作加法 8. 运算器虽有许多部件组成,但核心部件是_______ 。(B) A、数据总线 B、算术逻辑运算单元 C、多路开关 D、累加寄存器9?在定

吉林大学 计算机系统结构题库 第二章

第二章计算机指令集结构 知识点汇总: 指令集设计、堆栈型机器、累加器型机器、通用寄存器型机器、CISC、RISC、寻址方式、数据表示 简答题 1.增强CISC机器的指令功能主要从哪几方面着手?(CISC) (1) 面向目标程序增强指令功能。 (2) 面向高级语言和编译程序改进指令系统。 (3) 面向操作系统的优化实现改进指令系统。 2.简述CISC存在的主要问题。(知识点:CISC) 答:(1)CISC结构的指令系统中,各种指令的使用频率相差悬殊。 (2)CISC结构指令系统的复杂性带来了计算机系统结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。 (3)CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。 (4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5)在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机系统结构技术来提高系统的性能。 3.简述RISC的优缺点及设计RISC机器的一般原则。(知识点:RISC) 答:(1)选取使用频率最高的指令,并补充一些最有用的指令。 (2)每条指令的功能应尽可能简单,并在一个机器周期内完成。 (3)所有指令长度均相同。 (4)只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行。 (5)以简单、有效的方式支持高级语言。 4.根据CPU内部存储单元类型,可将指令集结构分为哪几类?(知识点:堆栈型机器、累加器型机器、通用寄存器型机器) 答:堆栈型指令集结构、累加器型指令集结构、通用寄存器型指令集结构。 5.常见的三种通用寄存器型指令集结构是什么?(知识点:通用寄存器型机器) 答:(1)寄存器-寄存器型。 (2)寄存器-存储器型。 (3)存储器-存储器型。

计算机系统结构第二章作业及答案

2.2 区别不同指令集结构的主要因素是什么?根据这个主要因素可将指令集结构分为哪3类? 答:区别不同指令集结构的主要因素是CPU中用来存储操作数的存储单元。据此可将指令系统结构分为堆栈结构、累加器结构和通用寄存器结构。 2.6 简述CISC指令集结构功能设计的主要目标。从当前计算机技术观点来看,CISC指令集结构的计算机有什么缺点? 答:主要目标是增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。 缺点:(1) CISC结构的指令集中,各种指令的使用频率相差悬殊。(2)CISC结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。(3)CISC结构指令集的复杂性给VLSI设计增加了很大负担,不利于单片集成。(4)CISC结构的指令集中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5) 在CISC结构的指令集中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。 2.7 简述RISC指令集结构的设计原则。 答(1)选取使用频率最高的指令,并补充一些最有用的指令;(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;(3)所有指令长度均相同;(4)只有Load和Store 操作指令才访问存储器,其它指令操作均在寄存器之间进行; (5) 以简单有效的方式支持高级语言。 2.8 指令中表示操作数类型的方法有哪几种? 答:操作数类型有两种表示方法:(1)操作数的类型由操作码的编码指定,这是最常见的一种方法;(2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。 2.9 表示寻址方式的主要方法有哪些?简述这些方法的优缺点。 答:表示寻址方式有两种常用的方法:(1)将寻址方式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址方式。这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了CPU对指令译码的难度。(2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。这种方式译码较慢,但操作码和寻址独立,易于指令扩展。 2.10 通常有哪几种指令格式?请简述其适用范围。 答:(1) 变长编码格式。如果系统结构设计者感兴趣的是程序的目标代码大小,而不是性能,就可以采用变长编码格式。(2)固定长度编码格式。如果感兴趣的是性能,而不是程序的目标代码大小,则可以选择固定长度编码格式。 (3) 混合型编码格式。需要兼顾降低目标代码长度和降低译码复杂度时,可以采用混合型编码格式。

计算机系统结构第二章自考练习题答案

计算机系统结构第二章自考练习题答案

第二章数据表示与指令系统 历年真题精选 1. 计算机中优先使用的操作码编码方法是( C )。 A. BCD码 B. ASCII码 C. 扩展操作码 D. 哈夫曼编码 2.浮点数尾数基值r m=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾数值为( D )。 A. 1/2 B. 15/16 C. 1/256 D. 255/256 3. 自定义数据表示包括(标志符)数据表示和(数据描述符)两类。 4. 引入数据表示的两条基本原则是:一看系统 的效率是否有提高;二看数据表示的(通

用)性和(利用)率是否高。 5. 简述设计RISC的一般原则。 6. 简述程序的动态再定位的思想。 7. 浮点数表示,阶码用二进制表示,除阶符之外 的阶码位数p=3,尾数基值用十进制表示,除尾符外的尾数二进制位数m=8,计算非负阶、规格化、正尾数时, (1)可表示的最小尾数值;(2)可表示的最大值;(3)可表示的尾数个数。 8. (1)要将浮点数尾数下溢处理成K—1位结 果,则ROM表的单元数和字长各是多少? 并简述ROM表各单元所填的内容与其地址之间的规则。 (2)若3位数,其最低位为下溢处理前的附 加位,现将其下溢处理成2位结果,设

计使下溢处理平均误差接近于零的 ROM表,以表明地址单元与其内容的 关系。 同步强化练习 一.单项选择题。 1. 程序员编写程序时使用的地址是( D )。 A.主存地址B.有效地址C.辅存实地址D.逻辑地址 2. 在尾数下溢处理方法中,平均误差最大的是( B )。 A.舍入法B.截断法C.恒置“1”法D.ROM查表法 3. 数据表示指的是( C )。A.应用中要用到的数据元素之间的结构关系

计算机系统结构第二章第一部分

第二章指令系统 ?指令系统是计算机系统结构的主要组成部分 ?指令系统是软件与硬件分界面的一个主要标志 ?指令系统软件与硬件之间互相沟通的桥梁 ?指令系统与软件之间的语义差距越来越大 2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计 2.5 RISC指令系统 2.1 数据表示 ?新的研究成果,如浮点数基值的选择 ?新的数据表示方法,如自定义数据表示 2.1.1 数据表示与数据类型 2.1.2 浮点数的设计方法 2.1.3 自定义数据表示 2.1.1 数据表示与数据类型 ?数据的类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符 ?数据表示的定义:数据表示研究的是计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。 例如:定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量 ?确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题 ?确定数据表示的原则: 一是缩短程序的运行时间, 二是减少CPU与主存储器之间的通信量, 三是这种数据表示的通用性和利用率。 例2.1:实现A=A+B,A和B均为200×200的矩阵。分析向量指令的作用解:如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。因此,CPU与主存储器之间的通信量:取指令2+4×40,000条, 读或写数据3×40,000个, 共要访问主存储器7×40,000次以上 如果有向量数据表示,只需要一条指令 减少访问主存(取指令)次数:4×40,000次 缩短程序执行时间一倍以上

N m m e r =?? 数据表示在不断扩大,如字符串、向量、堆栈、图、表 ? 用软件和硬件相结合的方法实现新的数据表示 例如:用字节编址和字节运算指令来支持字符串数据表示 用变址寻址方式来支持向量数据表示 2.1.2 浮点数的设计方法 1、浮点数的表示方式 ? 一个浮点数N 可以用如下方式表示: 需要有6个参数来定义。 两个数值: m :尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数) e :阶码的值,移码(偏码、增码、译码、余码等)或补码,整数 两个基值: r m :尾数的基值,2进制、4进制、8进制、16进制和10进制等 r e :阶码的基值,通常为2 两个字长: p :尾数长度,当r m =16时,每4个二进制位表示一位尾数 q :阶码长度,阶码部分的二进制位数 p 和q 均不包括符号位 ? 浮点数的存储式 注:m f 为尾数的符号位,e f 为阶码的符号位,e 为阶码的值,m 为尾数的值。 2、浮点数的表数范围 ? 尾数为原码 尾数用原码、纯小数,阶码用移码、整数时,规格化浮点数N 的表数范围: ---?≤≤-?-111r r N r r m m p m m q e q e r r () ? 尾数为补码 尾数用补码表示时,正数区间的表数范围与尾数采用原码时完全相同,而负数区间的表数范围为: q e q e r r r N r r r m m p m m ----≤≤-+?-11() ? 浮点数在数轴上的分布情况 min max min max 例2.2:设p =23,q =7,r m =r e =2,尾数用原码、纯小数表示,阶码用移码、整数表示,求规格化浮点数N 的表数范围。 解:规格化浮点数N 的表数范围是:

计算机系统结构-第二章(习题解答)

1. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统 时,确定数据表示的原则主要有哪几个? 答: 略 2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其 指令字长和数据字长均为32位。B 处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 答: 我们可以计算出数据的总数量: ∵ 程序有1000条指令组成,且每条指令平均要访问两个操作数 ∴ 程序访问的数据总数为:1000×2=2000个 ∵ 每个数据平均访问8次 ∴ 程序访问的不同数据个数为:2000÷8=250 对于A 处理机,所用的存储空间的大小为: bit 4000032250321000Mem Mem Mem data n instructio A =?+?=+= 对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为: bit 3900036250301000Mem Mem Mem data n instructio B =?+?=+=

由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。 3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。假设 存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立的32位数据,另外30%是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。 ⑴计算这种存储器的存储空间利用率。 ⑵给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法 的存储空间利用率。 答: ⑴ 由于全是独立数据,有20%浪费56位(7/8);30%浪费48位(6/8);20%浪费32位(4/8);30%浪费0位(0/8)。 总共浪费:0.2×7/8+0.3×6/8+0.2×4/8+0.3×0/8=0.5 即:存储器的存储空间利用率为50%,浪费率为50%。 ⑵ 方案为:数据从地址整数倍位置开始存储,即,双字地址000结尾,单字地址00结尾,半字地址0结尾,字节地址结尾任意。 可能出现的各种情况如下:

数据结构第二章习题课

1、试描述头指针、头结点、开始结点的区别、并说明头指针和头结点的作用。 答:开始结点是指链表中的第一个结点,也就是没有直接前趋的那个结点。 链表的头指针是一指向链表开始结点的指针(没有头结点时),单链表由头指针唯一确定,因此单链表可以用头指针的名字来命名。 头结点是我们人为地在链表的开始结点之前附加的一个结点。有了头结点之后,头指针指向头结点,不论链表否为空,头指针总是非空。而且头指针的设置使得对链表的第一个位置上的操作与在表其他位置上的操作一致(都是在某一结点之后)。 2、何时选用顺序表、何时选用链表作为线性表的存储结构为宜? 答:在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结构,通常有以下几方面的考虑: 1) 基于空间的考虑。当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。 2) 基于时间的考虑。若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等操作时,宜采用链表做存储结构。并且,若链表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。 3、在顺序表中插入和删除一个结点需平均移动多少个结点?具体的移动次数取决于哪两个因素? 答:在等概率情况下,顺序表中插入一个结点需平均移动n/2个结点,删除一个结点需平均移动(n-1)/2个结点。具体的移动次数取决于顺序表的长度n以及需插入或删除的位置i。i 越接近n则所需移动的结点数越少。 4、为什么在单循环链表中设置尾指针比设置头指针更好? 答:尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是rear->next->next 和rear, 查找时间都是O(1)。 若用头指针来表示该链表,则查找终端结点的时间为O(n)。 5、在单链表、双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少? 答:我们分别讨论三种链表的情况。 1) 单链表。当我们知道指针p指向某结点时,能够根据该指针找到其直接后继,但是由于不知道其头指针,所以无法访问到p指针指向的结点的直接前趋。因此无法删去该结点。 2) 双链表。由于这样的链表提供双向链接,因此根据已知结点可以查找到其直接前趋和直接后继,从而可以删除该结点。其时间复杂度为O(1)。 3) 单循环链表。根据已知结点位置,我们可以直接得到其后相邻的结点位置(直接后继),又因为是循环链表,所以我们可以通过查找,得到p结点的直接前趋。因此可以删去p所指结点。其时间复杂度应为O(n)。

计算机系统结构第二章第一部分

第二章指令系统 指令系统是计算机系统结构的主要组成部分 指令系统是软件与硬件分界面的一个主要标志 指令系统软件与硬件之间互相沟通的桥梁 指令系统与软件之间的语义差距越来越大 2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计 2.5 RISC指令系统 2.1 数据表示 新的研究成果,如浮点数基值的选择 新的数据表示方法,如自定义数据表示 2.1.1 数据表示与数据类型 2.1.2 浮点数的设计方法 2.1.3 自定义数据表示 2.1.1 数据表示与数据类型 数据的类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符 数据表示的定义:数据表示研究的是计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。 例如:定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题 确定数据表示的原则: 一是缩短程序的运行时间, 二是减少CPU与主存储器之间的通信量, 三是这种数据表示的通用性和利用率。 例2.1:实现A=A+B,A和B均为200×200的矩阵。分析向量指令的作用解:如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。因此,CPU与主存储器之间的通信量:取指令2+4×40,000条,

N m m e r =? 读或写数据3×40,000个, 共要访问主存储器7×40,000次以上 如果有向量数据表示,只需要一条指令 减少访问主存(取指令)次数:4×40,000次 缩短程序执行时间一倍以上 数据表示在不断扩大,如字符串、向量、堆栈、图、表 用软件和硬件相结合的方法实现新的数据表示 例如:用字节编址和字节运算指令来支持字符串数据表示 用变址寻址方式来支持向量数据表示 2.1.2 浮点数的设计方法 1、浮点数的表示方式 一个浮点数N 可以用如下方式表示: 需要有6个参数来定义。 两个数值: m :尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数) e :阶码的值,移码(偏码、增码、译码、余码等)或补码,整数 两个基值: r m :尾数的基值,2进制、4进制、8进制、16进制和10进制等 r e :阶码的基值,通常为2 两个字长: p :尾数长度,当r m =16时,每4个二进制位表示一位尾数 q :阶码长度,阶码部分的二进制位数 p 和q 均不包括符号位 浮点数的存储式 1位 1位 q 位 p 位 m f e f e m 注:m f 为尾数的符号位,e f 为阶码的符号位,e 为阶码的值,m 为尾数的值。 2、浮点数的表数范围 尾数为原码 尾数用原码、纯小数,阶码用移码、整数时,规格化浮点数N 的表数范围: ---?≤≤-?-111r r N r r m m p m m q e q e r r () 尾数为补码 尾数用补码表示时,正数区间的表数范围与尾数采用原码时完全相同,而负数区间的表数范围为:

计算机系统结构教程答案chap2-answer

第二章计算机指令集结构设计 2.1 名词解释 堆栈型机器——CPU中存储操作数的单元是堆栈的机器。 累加型机器——CPU中存储操作数的单元是累加器的机器。 通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。 CISC——复杂指令集计算机。 RISC——精简指令集计算机。 2.2 堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点? 2.3 常见的三种通用寄存器型机器的优缺点各有哪些? 2.4 指令集结构设计所涉及的内容有哪些? 指令集功能设计:主要有RISC和CISC两种技术发展方向; 寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的

使用频度,根据适用频度设置相应必要的寻址方式; 操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。 寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。 指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。2.5 简述CISC计算机结构指令集功能设计的主要目标。从当前的计算机技术观点来看,CISC 结构有什么缺点? CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。 从目前的计算机技术观点来看,CISC结构存在以下几个缺点: (1) 在CISC结构的指(2) 令系统中,(3) 各种指(4) 令的使用频率相差悬殊。 (5) CISC结构的指(6) 令系统的复(7) 杂性带来了计算机体系结构的复(8) 杂性, (9) 这不(10) 仅增加了研制时间和成本,而(11) 且还容易造成设计错误。 (12) C ISC结构的指(13) 令系统的复(14) 杂性给VLSI设计带来了很大负担,(15) 不 (16) 利于单片集成。 (17) C ISC结构的指(18) 令系统中,(19) 许多复(20) 杂指(21) 令需要很复(22) 杂 的操作,(23) 因而(24) 运行速度慢。 (25) 在结构的指(26) 令系统中,(27) 由于各条指(28) 令的功能不(29) 均衡 性,(30) 不(31) 利于采用先进的计算机体系结构技术(如流水技术)来提高系 统的性能。 2.6 简述RISC结构的设计原则。 选取使用频率最高的指令,并补充一些最有用的指令; 每条指令的功能应尽可能简单,并在一个机器周期内完成; 所有指令长度均相同; 只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行 以简单有效的方式支持高级语言。 2.7 简述操作数的类型及其相应的表示方法。 操作数的类型主要有:整数(定点)、浮点、十进制、字符、字符串、向量、堆栈等。 操作数类型有两种表示方法: (1)操作数的类型由操作码的编码指定,这也是最常见的一种方法; (2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。

系统结构第二章

5.机器浮点数字长一定后,尾数位数的多少主要影响()A.可表示数的精度 B.数在运算中的精度损失 C.可表示数的范围 D.运算速度 6.机器浮点数字长及阶码位数一定后,尾数采用什么进制影响到浮点数表示的() A.只是数的精度 B.只是数的范围 C.只是数的精度损失 D.精度,范围和精度损失等 7.在阶吗p位,尾数m位的浮点数中,尾数一个r m进制的数位所用的机器位数为() A.m B.r m C.[log2 r m] D.2[log2 rm] 8.以r m 进制为尾数的浮点数,尾数右移一个r m 进制数位时,为保持数值不变,阶码应() A.加r m B.加1 C.减1

D.减加r m 9.浮点数尾数基值r m=16,除尾符之外尾数机器位数为8位,可表示的规格化最大尾数值为() A.1/2 B.15/16 C.1/256 D.255/256 10.浮点数尾数基值r m=8,尾数数值部分长为6位,可表示的规格化正尾数的个数是() A.56个 B.63个 C.64个 D.84个 11.计算机中优化使用的操作码编码方法是() A.哈夫蔓编码 B.ASCII码 C.BCD码 D.扩展操作码 12.在尾数下溢处理方法中,平均误差最大的是() A.截断法 B.恒置“1”法 C.ROM 查表法

D.舍入法 13. 尾数下溢处理平均误差可调整到零的方法是() A.截断法 B.恒置“1”法 C.ROM 查表法 D.舍入法 14. 在尾数下溢处理时,最大误差最大,但下溢处理不需要时间,平均误差又趋于0的是() A.截断法 B.恒置“1”法 C.ROM 查表法 D.舍入法 15.程序员编写程序时使用的地址是() A.主存地址 B.逻辑地址 C.有效地址 D.辅存实地址 16.支持动态地址再定位的寻址方式是() A.基址寻址 B.间接寻址 C.直接寻址 D.变址寻址

最新计算机组成与系统结构第二章习题及答案

一、填空题(20每空2分) 1.计数制中使用的数据个数被称为。(基) 2.移码常用来表示浮点数的部分,移码和补码比较,它们除外,其他各位都相同。(阶码,符号位) 3.码值80H: 若表示真值0,则为;若表示-128,则为; 若表示-127,则为;若表示-0,则为。(移码补码反码原码) 4. 在浮点运算过程中,如果运算结果的尾数部分不是形式,则需要进行规格化处理。设尾数采用补码表示形式,当运算结果时,需要进行右规操作;当运算结果时,需要进行左规操作。 (规格化溢出不是规格化数) 二、选择题(20每题2分) 1.以下给出的浮点数,______是规格化浮点数。(B) A.2^-10×0.010101 B.2^-11×0.101010 C.2^-100×1.010100 D.2^-1×0.0010101 2.常规乘除法器乘、除运算过程采用部分积、余数左移的做法,其好处是______。(C) A.提高运算速度 B. 提高运算精度 C. 节省加法器的位数 D. 便于控制 3.逻辑异运算10010011和01011101的结果是。(B) A.01001110 B.11001110

C.11011101 D.10001110 4.浮点数尾数基值rm=8,尾数数值部分长6位,可表示的规格化最小正尾数为。(C) 1.A.0.5 B.0.25 C.0.125 D.1/64 5.当浮点数尾数的基值rm=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾数值是。(D) A.1/2 B.15/16 C.1/256 D.255/256 6.两个补码数相加,采用1位符号位,当时表示结果溢出。(D) A、符号位有进位 B、符号位进位和最高数位进位异或结果为0 C、符号位为1 D、符号位进位和最高数位进位异或结果为1 7.运算器的主要功能时进行。(C) A、逻辑运算 B、算术运算 C、逻辑运算和算术运算 D、只作加法 8.运算器虽有许多部件组成,但核心部件是。(B) A、数据总线 B、算术逻辑运算单元 C、多路开关 D、累加寄存器 9.在定点二进制运算中,减法运算一般通过来实现。(D) A、原码运算的二进制减法器 B、补码运算的二进制减法器 C、补码运算的的十进制加法器 D、补码运算的的二进制加法器 10.ALU属于部件。(A) A、运算器 B、控制器 C、存储器 D、寄存器 三、判断题(10每题2分) 1.计算机表示的数发生溢出的根本原因是计算机的字长有限。(错误)

《数据结构》 第二章 线性表习题

《数据结构》 第二章线性表习题 一、单项选择题 1. 线性表是________。 A.一个有限序列,可以为空B.一个有限序列,不可以为空 C.一个无限序列,可以为空D.一个无限序列,不可以为空 2. 在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动个元素。 A.n-i B.n-i+l C.n-i-1 D.i 3. 线性表采用链式存储时,其地址________。 A.必须是连续的B.一定是不连续的 C.部分地址必须是连续的D.连续与否均可以 4. 从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较________个元素结点。 A.n/2 B.n C.(n+1)/2 D.(n-1)/2 5. 在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是____。 A. p->next=s; s->prior=p; p->next->prior=s; s->next=p->next; B. s->prior=p; s->next=p->next; p->next=s; p->next->prior=s; C. p->next=s; p->next->prior=s; s->prior=p; s->next=p->next; D. s->prior=p; s->next=p->next; p->next->prior=s; p->next=s; 6. 设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为________。A.p->next=p->next->next; B.p=p->next; C.p=p->next->next; D.p->next=p; 7. 在一个长度为n的顺序表中向第i个元素(0< inext=p->next; p->next=s B.q->next=s; s->next=p C.p->next=s->next; s->next=p D.p->next=s; s->next=q 9. 以下关于线性表的说法不正确的是______。 A.线性表中的数据元素可以是数字、字符、记录等不同类型。 B.线性表中包含的数据元素个数不是任意的。 C.线性表中的每个结点都有且只有一个直接前趋和直接后继。 D.存在这样的线性表:表中各结点都没有直接前趋和直接后继。 10. 线性表的顺序存储结构是一种_______的存储结构。

第2章计算机体系结构习题与答案

第二章习题( P69-70) 一、复习题 1.简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心? 答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。这3条合称冯?诺依曼原理 OgtiojD。冯?诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。 (P51-P54) r1fI4bu 。 2.简述计算机体系结构与组成、实现之间的关系。答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。计算机组成( computer organization) 是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。计算机实现,是计算机组成的物理实现,就是把完 成逻辑设计的计算机组成方案转换为真实的计算机。计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。 (P47-P48) 28BoSAn。 3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构? 答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。(P55)4简述RISC技术的特点?

计算机体系结构第二章练习题

第二章练习 一、 单项选择题 在下面各题的4个备选答案中,只有一个答案是正确的,请把正确答案的标号(A~D )填入题后面的括号中。 1.数据表示的含义是( B )。 A . 表示数据所采用的数制和码制 B . 硬件能够直接识别的数据类型 C . 数据类型 D . 浮点数的表示方式 2.浮点数表示的尾数的基r m =8,尾数长度p=2,可以表示的规格化最小正尾数的值是( C )。 A .0.5 B .0.25 C .0.125 D .0.015625 3.浮点数表示的尾数的基r m =16,尾数长度p=2,可以表示的规格化最大正尾数的值是( D )。 A .2 1 2 B .1615 C .2561 D .256 255 4.多维数组的自定义数据表示通常采用( B )。 A . 浮点数表示 B . 带数据描述符的数据表示 C . 带标志符的数据表示

D.带标志符和数据描述符的数据表示 5.不需要编址的数据存储空间是( C )。 A.CPU中通用寄存器 B.主存储器 C.堆栈 D.I/O接口中的寄存器 6.平均码长最短的编码是( D )。 A.定长码 B.扩展码 C.需要根据编码使用的频度计算平均码长后确定 D.Huffman编码 7.下述4种编码中,不是2-4扩展编码的是( D )。 A.1/12 B.2/8 C.3/4 D.4/8 8. 2-4扩展编码最多可以得到的码点数是( D )。 A.6 B.9 C.10 D.13 9.RISC执行程序的速度比CIRC要快的原因是( C )。

A.RISC的指令系统的指令数比较少 B.程序在RISC上编译生成的目标程序比较短 C.R ISC的指令平均周期数比较少 D.RISC只允许Load指令和Store指令访问存储器 10. RISC采用交叉寄存器窗口技术,从而大大减少了( B )。 A.绝大多数指令的执行时间 B.程序调用引起的访问存储器的次数 C.目标程序的指令条数 D.CPU访问存储器的访问周期 二、填空题 1.设计一种浮点数据表示方式需要确定的6个参数分别是:(尾数的基),(尾数的值),(尾数的长度),(阶码的基),(阶码的值), (阶码长度)。 2.浮点数的表数范围是指(用有限的q位阶码和p位尾数能够表示的数值大小的范围)。3.可表示浮点数的正数区间: 规格化浮点数的最大正数值由尾数的(最大正数值)与阶码(最大正数值)组合而成;规格化浮点数的最小正数值由尾数的(最小正数值)与阶码(最小负数值)组合而成。规格化浮点数的最大负数值由尾数的(最大负数值)与阶码(最小负数值)组合而成;规格化浮点数的最小负数值由尾数的(最小负数值)与阶码(最大正数值)组合而成。 4.若浮点数尾数的长度为p位,尾数的基为r m,那么,尾数的r m进制数的位数是

计算机系统结构 第二章(习题解答)

1. 数据类型、数据表示和数据结构之间是什么关系在设计一个计算机系统时, 确定数据表示的原则主要有哪几个 答: 略 2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其 指令字长和数据字长均为32位。B 处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发 答: 我们可以计算出数据的总数量: ∵ 程序有1000条指令组成,且每条指令平均要访问两个操作数 ∴ 程序访问的数据总数为:1000×2=2000个 ∵ 每个数据平均访问8次 ∴ 程序访问的不同数据个数为:2000÷8=250 对于A 处理机,所用的存储空间的大小为: bit 4000032250321000Mem Mem Mem data n instructio A =?+?=+= 对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为: bit 3900036250301000Mem Mem Mem data n instructio B =?+?=+= 由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。 3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。假设 存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立

计算机系统结构-第二章自考练习题答案.doc

计算机系统结构 - 第二章自考练习题答案

第二章数据表示与指令系统 历年真题精选 1.计算机中优先使用的操作码编码方法是(C)。 A. BCD 码 B. ASCII 码 C. 扩展操作码 D. 哈夫曼编码 2 .浮点数尾数基值r m =16 ,除尾符之外的尾数 机器位数为 8 位时,可表示的规格化最大尾 数值为(D)。 A. 1/2 B. 15/16 C. 1/256 D. 255/256 3.自定义数据表示包括(标志符)数据表示和(数据描述符)两类。 4.引入数据表示的两条基本原则是:一看系统 的效率是否有提高;二看数据表示的(通

用)性和(利用)率是否高。 5.简述设计 RISC 的一般原则。 6.简述程序的动态再定位的思想。 7.浮点数表示,阶码用二进制表示,除阶符之外 的阶码位数p=3, 尾数基值用十进制表示,除尾符外的尾数二进制位数m=8, 计算非负阶、规格化、正尾数时, (1)可表示的最小尾数值;(2)可表示 的最大值;(3)可表示的尾数个数。 8. (1) 要将浮点数尾数下溢处理成K—1 位结 果,则 ROM 表的单元数和字长各是多少 ? 并简述 ROM 表各单元所填的内容与其地址之间 的规则。

(2)若 3 位数,其最低位为下溢处理前的附 加位,现将其下溢处理成 2 位结果,设 计使下溢处理平均误差接近于零的ROM 表,以表明地址单元与其内容的关系。 同步强化练习 一.单项选择题。 1.程序员编写程序时使用的地址是 (D)。 A.主存地址B.有效地址C.辅存实地址 D .逻辑地址 2.在尾数下溢处理方法中,平均误差最大的是(B)。 A.舍入法B.截断法C.恒置“1”法

第二章 计算机网络体系结构与协议.

第二章计算机网络体系结构与协议 【计划课时】4课时(教材第二、三章 2.1网络通信协议 2.1.1 协议(protocol教材P29 网络传送是个很复杂的过程,为了实现计算机之间可靠地交换数据,许多工作要协调(如发送信号的数据格式,通信协调与出错处理,信号编码与电平参数,传输速度匹配等。 假定一个与网络相连的设备正向另一个与网络相连的设备发送数据,由于各个厂家有其各自的实现方法,这些设备可能不完全兼容,它们相互之间不可能识别和通信。解决方法之一是在同一个网络中全部使用某一厂家的专有技术和设备,在网络互连的今天已不可行。另一种方法就是制定一套实现互连的规范(标准,即所谓“协议”。该标准允许每个厂家以不同的方式完成互连产品的开发、设计与制造,当按同一协议制造的设备连入同一网络时,它们完全兼容,仿佛是由同一厂家生产的一样。 【协议】网络上不同计算机之间为了协调互相通信而使用的技术规范,即通信技术标准(也是软硬件厂商开发网络产品的标准 协议由语义、语法和时序三部分组成。语义规定通信双方彼此“讲什么”(含义,语法规定“如何讲”(格式,时序关系则规定了信息交流的次序(顺序。P29 实际上,生活中任何由两个人或两个团体一起完成的事件,都必须有“协议”(例:讲话/赛跑廖鸿鹏《NT Server 4.0建站指南》:“当一个中国人碰上一个日本人时,如果中国人说他的中文,日本人说他的日文,那么恐怕两个人就是讲到天黑,都不会有什么结果……网络上各节点之间 若需要传送数据时,也要有一个共通的语言,这就是通信协议”。

理论上只要有一套协议即可,但由于网络技术在不断发展,应用领域在不断拓宽,加上历史的原因(7 0年代各大计算机公司在网络领域“诸侯割据”,纷纷推出自己的网络通信协议,既为网络技术的发展作出了贡献,亦造成协议品种杂多的局面,所以目前一套统一可用的网络协议。 正如理论上人类只要一种语言就可以相互沟通,但实际上却有许许多多的语言存在一样。 学习网络的重要任务之一就是了解各种常用的通信协议。对于网络开发/集成工程师,则需要深入理解甚至精通工程中所涉及到的各种协议。 用于普通网络用户,则只需知道访问网络资源你的系统或机器上需要配备何种协议,而无须知道这些协议的具体含义。 封闭的协议——协议内容(规范不对公众公布 开放的协议——协议内容对公众公布 NT4.0可同时具有5种协议,犹如一个懂最常用的五国语言的人,在世界各地旅行,便畅行无阻。 2.1.2 常用的网络通信协议 有三个最具影响力的团体为网络通信制定了各自的协议: ·OSI(开放系统互连,Open Systems Interconnection协议

相关文档
相关文档 最新文档