网络工程师考试考点分析与真题详解最新版.docx
- 文档编号:10086023
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:56
- 大小:488.74KB
网络工程师考试考点分析与真题详解最新版.docx
《网络工程师考试考点分析与真题详解最新版.docx》由会员分享,可在线阅读,更多相关《网络工程师考试考点分析与真题详解最新版.docx(56页珍藏版)》请在冰豆网上搜索。
网络工程师考试考点分析与真题详解最新版
网络工程师考试考点分析与真题详解〔最新版〕
第 1 章 计算机组成与构造
根据考试大纲,本章要求考生掌握以下知识点。
CPU〔CentraProcessingUnit,中央处理器〕和存储器的组成、性能和根本工作原理;
常用I/O〔Input/Output,输入/输出〕设备、通信设备的性能,以及根本工作原理;
I/O接口的功能、类型和特点;
复杂指令集计算机/精简指令集计算机,流水线操作,多处理机,并行处理。
1.1 计算机组成
中央处理器是计算机的控制、运算中心,它主要通过总线和其他设备进展联络,另外,在嵌入式系统设计中,外部设备也常常直接接到中央处理器的外部I/O脚的中断脚上。
中央处理器的类型和品种异常丰富,各种中央处理器的性能也差异很大,有不同的内部构造、不同的指令系统,但由于都基于冯·诺依曼构造,根本组成部分相似。
运算器
运算器的主要功能是在控制器的控制下完成各种算术运算、逻辑运算和其他操作。
一个计算过程需要用到加法器/累加器、数据存放器或其他存放器,以及状态存放器等。
加法是运算器的根本功能,在大多数的中央处理器中,其他计算是经过变换后进展的。
一个位加法的逻辑图如图1-1所示。
图1-1 位加法逻辑图
其中,Xi、Yi是加数和被加数,Ci+1是低位进位,Ci是进位,Zi是和。
为完成多位数据加法,可以通过增加电路和部件,使简单的加法器变为串行、并行加法器或超前进位加法器等。
运算器的位数,即运算器一次能对多少位的数据做加法,是衡量中央处理器的一个重要指标。
控制器
控制器是中央处理器的核心,它控制和协调整个计算机的动作,其组成如图1-2所示。
控制通常需要程序计数器、指令存放器、指令译码器、定时与控制电路,以及脉冲源、中断〔在图中未表示〕等共同完成。
图1-2 控制器的组成
有关控制器的各组件的简介如下。
1〕指令存放器〔InstructionRegister〕
显然,中央处理器即将执行的操作码记录在这里。
2〕指令译码器〔InstructionDecoder〕
将操作码解码,告诉中央处理器该做什么。
3〕定时与控制电路〔ProgrammableLogicArray〕
用来产生各种微操作控制信号。
4〕程序计数器〔ProgramCounter〕
程序计数器中存放的是下一条指令的地址。
由于在多数情况下程序是按顺序执行的,所以程序计数器被设计成能自动加1.当出现转移指令、中断等情况时,就必须重填程序计数器。
程序计数器可能是下一条指令的绝对地址,也可能是相对地址,即地址偏移量。
5〕标志存放器〔FlagsRegister〕
这个存放器通常记录运算器的重要状态或特征,典型的有是否溢出、结果为0、被0除等。
标志存放器的典型应用是作为跳转指令的判断条件。
6〕堆栈和堆栈指针〔StackPointer〕
堆栈可以是一组存放器或在存储器内的特定区域。
由于存放器数量总是有限,所以大多数系统采用了使用存储器的软件堆栈。
指向堆栈顶部的指针称为堆栈指针。
7〕存放器组
上面提及的程序计数器和标志存放器等为专用存放器,它们有特定的功能和用处。
通用存放器的功能由程序指令决定,最常见的应用是放置计算的中间结果,减少对存储器的访问次数。
通常存放器的宽度是和运算器的位数相一致的。
存储器系统
这里的存储器是指中央处理器通过总线访问或直接能访问的存储器,通常称为内存。
硬盘等需通过I/O接口访问的存储器常称为外存或辅存。
存储器的作用显然是存储数据,如指令、指令带的数据〔这正是冯·诺依曼构造的特点之一〕和中央处理器处理后的结果,包括中间结果。
中央处理器对存储器的访问必须通过控制地址、数据总线进展。
存储器的数组组织是线性的,所存储的数据都有整齐的"编号",即访问地址。
存储器一般每个存储单元中有8位数据,其容量是其存储单元的总和。
存储器的性能指标如下。
存取时间:
指的是从中央处理器发出指令到操作完成的时间。
传输率:
或称为数据传输带宽,指单位时间内写入或读取的数据的多少。
显然,存取时间越短,那么传输率越高。
存储密度:
在单位面积中的存储容量,人们在不断改进这个值。
有关存储器系统的详细内容请阅读本书第2章。
时序产生器和控制方式
为了使得计算机各部件同步工作,计算机中都有一个脉冲源,通常是晶振。
这个脉冲源产生主振脉冲,主振脉冲的时间间隔为主振周期,即时钟周期。
中央处理器执行指令的时间〔包括取址〕为指令周期,由于指令可能有不同的复杂度,所以,每种指令的指令周期可能不同。
CPU周期也称机器周期,一般是指从内存中读一个指令的最短时间。
CPU周期又由假设干个时钟周期组成。
指令周期与时钟周期的关系如图1-3所示。
图1-3 指令周期与时钟周期
通常把CPU执行指令的各个微操作遵循的时间顺序叫做时序。
时序图是形象地表示信号线上信息变化的时间序列的图形。
组合逻辑控制和微程序控制是两种根本的控制方式。
1.组合逻辑控制
使用专门的逻辑电路的控制方式。
它的实现有硬件接线控制和可编程逻辑阵列两种。
硬件连线法最直接,可以用较少的元件实现最快的速度,但是假如要更改,只有重新设计。
可编程逻辑阵列采用低本钱大规模集成电路的方式。
组合逻辑控制灵敏性很差,在复杂指令系统计算机中难以处理不断增加的复杂指令,但是它使用电子原件少,在精简指令计算机中发挥了很大作用。
2.微程序控制
为进步控制的灵敏性,许多中央处理器采用微程序控制的控制方法。
下面介绍几个根本概念。
微程序:
微程序对应一条机器指令,假设干个微指令序列形成一段微程序。
而微指令又可细分为假设干微操作,控制内存是存放微程序的地方。
微操作:
是最根本的操作,可分为相容性微操作和不相容性微操作,这两种微操作的区别在于该微操作是否能在一个CPU周期内并行执行。
3.微指令格式
微指令格式如图1-4所示。
操作控制字段顺序控制字段
图1-4 微指令的格式
在前半部分存放对各种控制门进展激活或关闭的控制信息,后半部分是后续微指令的地址。
操作控制字段的格式有两种。
程度型微指令:
操作控制字段的每一位控制不同的控制门,可以在一个微指令中定义,执行多个并行的微操作的优点是效率高、灵敏、执行时间短。
垂直型微指令:
和程度型相比,其格式要短,一条微指令中包括的微操作少,只有1~2个,由于其指令字短,所以比拟容易掌握。
在理论中也常常使用混合型微指令,即是程度型微指令和垂直型微指令的混合。
指令流、数据流和计算机的分类
首先介绍指令流和数据流的定义。
指令流:
机器执行的指令序列。
数据流:
由指令流调用的数据序列,包括输入数据和中间结果。
1.计算机根据多倍性分类
按照计算机在一个执行阶段能执行的指令或能处理数据的最大可能个数,人们把计算机分成四种,如表1-1所示。
SISD〔SingeInstructionstreamandSingeDatastream,单指令流单数据流〕:
这是最简单的方式,计算机每次处理一条指令,并只对一个操作部件分配数据。
表1-1 多倍性分类
指令流数据流单 多〔mutipe〕
单〔singe〕SISDMISD
多〔mutipe〕SIMDMIMD
SIMD〔SingeInstructionstreamandMutipeDatastream,单指令流多数据流〕:
具备SIMD特点的常常是并行处理机,这种处理机具备多个处理单元,每次都执行同样的指令,对不同的数据单元进展处理。
这种计算机非常合适处理矩阵计算等。
阵列处理机、超级向量处理机也属于SIMD.
MISD〔MutipeInstructionstreamandSingeDatastream,多指令流单数据流〕:
这种处理方式比拟难以想象,有多个处理单元,同时执行不同的指令,针对的是单一数据。
但有资料认为流水线处理机是由不同操作部件对每个数据进展处理。
MIMD〔MutipeInstructionstreamandMutipeDatastream,多指令流多数据流〕:
这是一种全面的并行处理,典型的是多处理机。
这种计算机的设计和控制都很复杂。
2.计算机按照程序流程机制分类
1〕控制流计算机
这是通常见到的计算机,使用程序计数器来确定下一条指令的地址。
指令程序流由程序员直接控制,其主存是共享的,存储区可以被多指令修改,后面将会提到,这容易产生数据相关性,对并行性不利。
2〕数据流计算机
在冯·诺依曼体系中,计算机是由指令流驱动的,而数据流那么是处于被动地位的,这看起来合理,但在某些时候也不尽然。
相比照的是数据流驱动,即一旦数据准备好,那么立即开场执行相关的指令。
非冯·诺依曼体系仍然在探究中,但对冯·诺依曼体系的改进有了相当的成果,即流水线技术和并行计算机。
在数据流计算机中,数据不在共享的存储器中,而是在指令间传送,成为令牌。
当需要使用该数据的指令收到令牌,开场执行之后,该令牌即消失,执行的指令将执行的结果数据当做新的令牌发送,这种方式不再需要程序计数器和共享的存储器,但是需要检测数据可用性的专门部件,建立、识别、处理数据令牌标记需要时间和空间开销。
在其他一些方面,数据流计算机还有一些困难需要克制,例如,在数据流计算机中由于没有程序计数器,使得程序的调试和诊断变得困难,没有共享的存储器,也就无法控制其分配,无法支持数组、递归等操作。
3〕归约机〔ReductionsMachine〕
又称为需求驱动,是由对一个操作结果的需求而起动的。
归约机采用一种"惰性计算"的方式,操作只有在另一条指令需要这个操作的结果时才执行。
比方在计算5+〔6×2-10〕时,归约机并非先去计算6×2,而是先计算整个算式,碰到〔6×2-10〕再启动一个过程去计算它,最后碰到需要计算6×2,计算后一层层退回,得到整个算术的值。
由于需求驱动可减少那些不必要的求值操作,可以进步系统效率。
归约机是一种面向函数式语言或以函数式语言为机器语言的机器,要有函数定义存储器和表达式存储以及操作和数据合并存储,需要大容量物理存储器并采用大虚存容量的虚拟存储器,来满足对动态存储分配和所需存储空间大的需求。
处理器性能
计算机系统是一个极其复杂的系统,不同的指令系统,不同的体系实现方式,不同数量的硬件,不同的部件组合都对计算机的性能造成这样或那样的影响,而且不同的应用对处理器的性能有不同的要求。
这使得对处理器性能的评价需要综合考虑各个方面,才能全面地衡量处理器的性能。
1.影响处理器性能的因素
1〕根本字长
运算器进展计算的位数称为根本字长,这在运算器中已经提到过。
字长越长,处理器可以计算的精度就越高,当然,处理器的复杂度就越高。
根本字长增加不但要增加运算器的复杂度,而且需要同时增加存放器和总线的宽度。
2〕数据通路宽度
数据通路宽度指的是数据总线一次所能并行传送的位数,它表达了信息的传送才能,从而影响计算机的有效处理速度。
在处理器内部,数据通路的宽度一般是根本字长,而外部总线的数据通路宽度那么不一定。
显然,假如外部数据通路宽度小于根本字长,那么运算器需要的数据那么要屡次通过总线从主存传递到处理器内部。
3〕指令系统
不同的指令系统对处理器的性能也有非常大的影响,我们已经讨论过精简指令系统和复杂指令系统之间的不同,另外,一些处理器对一些专门的应用增加了专门的指令,使得这些处理器在处理这些专门的任务时可以"得心应手".
4〕时钟频率
通常来说,进步处理器的时钟频率可以进步系统的性能,因为在同样的时间内,进步时钟频率,使得时钟周期减少,那么指令的执行时间减少。
5〕流水线技术
处理器使用流水线技术可以使得不同指令的不同执行部分可以使用不同的处理单元同时执行,比方将一个指令的取指、移码、取操作数、执行、写结果分别由不同的处理单元处理,这样可以有效地进步处理器性能。
还有处理器把这些不同的处理单元在硬件上重复,形成多条流水线,以期更加进步性能。
无疑流水线增加了处理器的复杂度,不但处理单元要分开,而且需要增加流水线的管理部分电路。
6〕内部数据/指令缓存
使用存储器内部的数据或指令缓存,可以减少处理器访问较慢的内存,从而进步处理器的性能,缓存当然越大越好。
在缓存指令失败时,就需要从主存提取数据,这个判断需要增加控制电路。
假如缓存太小或管理不当,有可能对性能造成负面影响。
2.对处理器性能的评价
评价处理器性能可以直接给出处理器每条指令的执行时间,或者是指令系统中的指令执行时间的某种加权评价,也可以计算处理器每秒能执行多少个加法指令。
1MIPS指的是处理器每秒能完成1×106条指令。
这样的简单评价方法随着计算机应用的不断开展显得过于简单,局限性也日益暴露,但很快出现了改进的方法。
1〕等效指令速度法
等效指令把指令分成假设干种不同的类型,分别统计出各种类型指令在整个程序中的比例和执行时间来计算等效指令速度。
采用固定比率的方法来计算处理器的执行时间,不能灵敏地适应不同的程序应用存在的指令频率不同的问题,不能反映出不同处理器之间数据长度和指令功能强弱对处理器性能的影响,同时也不能反映出处理器内部数据缓存、流水线等对性能的影响。
2〕数据处理速度法
这个方法试图给出处理器的"数据处理速度",这个值考虑了不同指令及不同操作数的平均长度对处理器性能的影响。
这种方法主要对处理器和主存储器的速度进展度量,没有涉及缓存和多功能部件等技术对性能的影响。
3〕核心程序法
核心程序法是归纳总结应用程序中使用最为频繁的那部分程序,将它们作为核心程序在不同的处理器上运行,运行时间作为不同处理器的性能评价根据。
使用精挑细选的核心程序,可以比拟全面地评价处理器运行某种应用程序的性能。
与实际的应用程序相比,核心程序由于比拟小,所以缓存利用率很高。
1.2 指令系统
指令系统是中央处理器所有指令的合集,也是高级语言编程的根底。
指令系统的选择和确定涉及很多方面,是一个复杂的问题。
通常一个指令可分解为操作码和地址码两个部分。
操作码确定指令的类型,地址码确定指令所要处理的数据,根据地址码的个数可以有四址指令、三址指令,甚至0址指令。
根据指令的长度特点,一个指令系统可能是定长指令字构造,即指令系统中所有的指令的长度都一样,特点是控制简单。
假如指令的长度不固定,复杂的指令长度较长,就是变长指令字构造,这个构造的指令很容易扩展,但是增加理解码系统的复杂度。
寻址方式
根据地址码代表的地址类型,指令系统可以分为以下几种。
1.立即寻址
地址码就是操作数,这种寻址方式不必再次访问内存去取操作数,当然,也无法修改操作数。
2.直接寻址
地址码就是主存内数据的绝对地址,不必做任何换算。
缺乏之处在于寻址范围有限,地址码的位数限制了寻址空间,而计算机的开展趋势是计算机拥有越来越大的内存。
使用变长指令构造可以打破限制,但是该指令会变得臃肿。
3.存放器寻址
地址码的地址是存放器的地址。
和内存寻址比拟而言,访问存放器的速度是非常快的,所以使用存放器寻址有非常快的速度。
缺乏之处在于存放器的数量和数据宽度有限。
4.间接寻址
地址码指向主存中的数据,这个数据仍然是一个地址。
这种方式进步了寻址的灵敏性,扩大了寻址的范围。
但由于要屡次读主存,速度大为降低。
5.存放器间接寻址
地址码保存的是存放器地址,相对应的存放器中保存的是数据的地址,这样既速度快又有灵敏性,是一种广泛使用的寻址方式。
6.变址寻址
变址寻址,是将地址码和变址存放器内容相加后形成数据的地址,由于变址存放器能自动修改,这种方式对数组运算、字符串操作等批量数据的处理非常有效。
7.基址寻址
和变址寻址类似,是将变址存放器改成基址存放器,不同之处在于基址存放器的内容是根本不变的,改变的是指令中地址码部分内容,主要作用是扩大寻址空间和再定位。
8.页面寻址
页面寻址是将主存分成假设干个区,寻址时使用区码加区内偏移的方式确定位置。
9.相对寻址
相对寻址也和变址寻址类似,这里变址存放器换成了程序计数器。
指令类型
从功能而言,常用的指令有以下几种。
1.数据传送指令
这些指令负责数据在存放器和主存之间的传递,其中数据交换指令使数据双向挪动,而堆栈操作指令是专门对堆栈进展PUSH和POP操作的。
2.运算类指令
包括算术运算、逻辑运算、移位运算方面的指令,这类指令一般会改变标志存放器的状态。
移位运算是一种特殊的运算,分算术移位、逻辑移位和循环移位三类。
算术移位中左移那么在空位补0,右移补符号位。
逻辑移位无论左移右移都补0.循环移位是把挪动空位由移出的位来填补的移位,又分带符号位挪动的大循环和不带符号位挪动的小循环。
其中算术左移等于是对操作数做乘2的操作,而算术右移等于对操作数做除2的操作。
3.程序控制指令
控制程序流程改变的指令,也非常多,包括条件转移指令、无条件转移指令、循环控制指令、程序调用和返回指令、中断指令等。
4.输入/输出类指令
这类指令只有输入/输出独立编码才需要,对于统一编码的部分而言是不需要的。
5.数据处理类指令
数据处理指令包括一些比拟复杂的指令,如数据转换指令、字符串操作指令、压缩和扩展指令等。
CISC和RISC
随着硬件本钱的下降,人们倾向于向中央处理器参加越来越多、越来越复杂的指令,同时,为了兼容老产品,原来的指令也要保存,这样,整个指令系统就向着越来越大、越来越复杂的趋势开展。
在计算机处理才能越来越强的同时,中央处理器的设计也越来越复杂,这无疑大大增加了设计周期,更增加了设计失误的可能性。
事物的另外一个方面在于,加大指令的复杂性和中央处理器功能的增加似乎不一定是成正比的,人们发如今许多方面存在一个被称为20%~80%的定律,即系统中20%的部分发挥了80%的作用,通过对CISC〔CompexInstructionSetComputer,复杂指令集计算机〕指令系统的研究,发现系统在80%的时间里执行的是20%的指令。
于是出现了精简指令的设计思想。
这种计算机的指令构造不追求全面和复杂,而是只实现那些经常被执行的指令,由于指令的复杂性指令构造计算机少得多,所以称为精简指令集计算机〔ReducedInstructionSetComputer,RISC〕。
先看着名的公式P=I×CPI×T
P:
计算机执行程序所需要的时间
I:
机器指令数
CPI:
平均每条指令所需要的机器周期数
T:
每个机器周期的时间
CISC在指令数上占优,而RISC在CPI上那么快得多,这是两种构造的两个方向。
从这个公式可以发现,在理论上两者都有优势,不能认为精简指令计算机就好,复杂指令计算机就不好,事实上这两种设计方法很难找到完全的界限,而且在实际的芯片中,这两种设计方法也有互相浸透的地方。
CISC和RISC的比照方表1-2所示。
表1-2 CISC和RISC的简单比照
RISC构造特点
1.精简指令系统采用硬件布线逻辑控制
不是说硬件方式不够灵敏吗?
对于复杂指令系统来说,这是它的致命缺点,但对于指令少、格式简单的精简指令系统而言,采用微程序控制就显得多余,而硬件方式占用元件少的优点就表达出来了,腾出的地方可以在中央处理器中放置更多的通用存放器。
同时硬件方式的译码速度也要快得多。
2.大量的通用存放器
RISC大量减少了对内存的访问指令,许多精简指令计算机只有两条指令和内存交换数据:
OAD和STORE.计算的中间结果放在存放器中,由于访问存放器的速度远远高于访问主存的速度,这种减少存储器访问次数的做法进步了精简指令计算机的效率。
同时,大量的通用存放器使得可以使用存放器完成程序调用的参数传递,这样在程序调用时,减少了对主存的访问,而在构造化的程序中大量使用了程序调用,这无疑也进步了精简指令计算机的效率。
精简指令计算机采用所谓的"重叠存放器窗口技术"来组织存放器,假设有3个过程,如图1-5所示。
图1-5 存放器的组织
在图1-5中,X的输出是Y的输入,通过这种方式传递参数,不需要保护现场,减少了堆栈的操作。
当然这样的调用,对层数是有限制的,当层数过多甚至是递归函数时,就一定要借助于主存的堆栈了。
3.RISC普遍采用流水线技术
由于RISC指令构造简单,除了访问主存的指令速度慢外,其他指令运行时间大多一样,这有利于发挥流水线的优势。
同时,大量的存放器使得编译优化成为可能,可以尽量减少数据相关的问题,减少流水线闲置时间。
4.RISC大多采用缓存技术
为了加快主存存取,大多数精简指令计算机采用了缓存技术,有的更是把指令和数据缓存分开设置,这样取指和读数可以同时进展。
当指令或数据在缓存中时,就不需要去主存中提取,假如频繁地修改某个地址的数据,数据缓存也能减少写主存的次数。
显然缓存越大,越能减少主存存取次数。
假如缓存命中失败,就必须访问主存,这就增加了控制电路的复杂性。
5.对编译器的影响
精简指令系统对编译系统的影响有两个方面。
一方面由于指令简单,选择有限,寻址方式也少,这样编译系统不需要在众多的指令中选择最正确指令和指令组合,这降低了对编译系统的要求;但是另外一个方面,由于存在大量的通用存放器,如何充分利用这些存放器,以及如何优化编译,使得编译后的指令代码更能适应流水线的要求,这又对精简指令计算机的编译器提出了更高的要求。
假如没有编译器的支持,精简指令计算机的多存放器、流水线技术、挪动存放器窗口等都难以发挥最正确的作用。
1.3 并行处理和并行处理机
单个的处理器总是有限,但是可以把许多处理器通过特定的方式结合起来,以得到很高的处理才能,解决单个处理器无法完成的任务。
战胜国际象棋冠军的最新型号的"深蓝"是一种32结点的IBM〔SP〕计算机。
每个结点的SP使用装有8个专用的VLSI国际象棋处理器的单一微通道卡,总共有256个处理器并行运行。
"深蓝"的程序代码是用C语言编写的并在AIX操作系统下运行的。
这种网络是可扩大的并行系统,它能在标准国际象棋比赛中为选手每步所分配的3分钟内计算出500亿至1000亿步。
并行性概念
并行即是在两个工作进展过程中,存在时间上的重叠。
有关并行的严格定义涉及以下概念。
1.同时性
多个事件同时发生。
2.并发性
多个事件在同一个时间间隔内发生。
绝对同时是不存在的,只是事件的间隙太小,以致于不能被机器识别。
3.控制并行
控制并行使多个操作同时进展,如流水线,它的并行性受到流水线长度、功能单元等限制,对程序员而言,这种并行是透明的。
4.数据并行
数据并行是多个一样的处理单元对多个不同的数据同时进展一样的处理,这种方式开发潜力最大,与控制并行相比,代码容易编写和调试。
5.粒度
粒度是指进程中所含计算量的尺寸大小,通常使用其中的指令数作为计量方式。
6.时延
时延是各子系统之间通信开销的时间量度。
7.并行度
在并行计算机中,单位时间内执行程序的处理单元的数量。
并行性是一个广泛的概念,从硬件到软件各个层次都在利用并行性以进步计算机性能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络工程师 考试 考点 分析 详解 最新版
![提示](https://static.bdocx.com/images/bang_tan.gif)