专题一:计算机系统结构计算机系统结构基础1.计算机系统结构的基本概念:计算机系统结构也称计算机体系统结构,这只是系统结构中的一部分,指的是传统机器级的系统结构,其界面之上包括操作系统、汇编语言级、高级语言级和应用语言级中所有;软件功能,界面之下包括所有硬件和固件的功能。计算机组成是指计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成以及逻辑设计等计算机的实现是指计算机组成的物理实现,包括外理机。主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接。专用器件的设计,微组装技术,信号传输,电源,冷却及整机装配技术等。组成设计上面决定于结构,下面受限于实现技术。系统设计的任务是:进行软硬件的功能分配,确定传统机器级的软硬件界面!计算机中有关逻辑功能等效的计算附例题:2.指令系统指令系统是计算机所有指令的集合。程序员用各种语言编写的程序都有翻译成以指令形式表示的机器语言后才能运行,所以指令系统反映了计算机的基本功能,是硬件设计人员和程序员都能看到的机器的主要属性。复杂指令系统(CISC):随着硬件成本的不断下降,软件成本的不断提高,使得人们热衷于在指令系统中增加更多的指令和复杂的指令,来提高操作系统的效率,并尽量缩短指令系统与高级语言的语义差别,以便高级语言的编译和降低软件成本,同时为了保证程序兼容,新的计算机的指令系统只能增加而不能减少,所以就使得指令系统越来越来复杂!精简指令系统(RISC):通过简化指令使计算机的结构更加简单合理,从而提高运算速度,特点:1、优先选取使用频率最高的一些简单指令2、指令长度固定,指令格式种类少3.只有取/存数访问存储器,其余指令的操作都在寄存器之间进行!4.CPU中通用寄存器数量相当多。5.以硬布线控制逻辑为主好处:1、简化指令系统设计2、提高机器的执行速度和效率3、降低设计成本!提高系统可靠性4、可直接支持高级语言的实现,简化编译程序的设计不足:1、指令少,占用存储空间多,加大了指令的信息流量2、对浮点和虚拟存储器的支持有待加强3、机器编译程序比CISC难写3.总线输入输出系统总线是从两个或两个以上源部件传送信息到一个或多个部件的一组传输线,如果一根传输线仅用于连接一个源部件(输出)和一个或多个目的部件(输入)则不称为总线.常用的总线有:ISAEISAPCI等计算机的外部设备,如磁盘驱动器,键盘和显示器等,都是独立的设备,这些独立设备与主机相连时,必须按照规定的物理互连特性,电气特性等进行连接,这些特性的技术规范称为外设接口.常用的外设接口有:IDE接口SCSI接口USB接口RS232接口和PCMCIA接口等!输入输出系统包括输入输出没备、设备控制器及输入输出操作有关的软硬件输入输出系统的发展经历了3个阶段:1、1、程序控制I/O2、2、直接存储器访问3、3、I/O处理机通道的分类及计算通道处理机是IBM公司首先提出来的一种I/O处理机方式。根据通道数据传送方式的不同,可分为字节多路、选择和数组多路三类通道。字节多路通道:适用于连接大量低速设备,传送一个字的时间短,但等待的时间长,可以多台设备同时时行工作数组通道:连接多台高速设备,开始寻址辅助时间长,但传送速成率高,采用成组交叉方式工作,传送定长块,可以多台设备进行工作选对通道:优先级高的磁盘等高速设备,独占通道,传送不定长块!最大流量的计算:字节多路通道的最大流量为各个设备的流量之和数组和选择通道的最大流量为其中所挂载设备的最大流量4、存储体系统4.1概述存储器主要用于存放计算机的程序和数据,存储器系统指的是存储器硬件设备以及管理该存储器的软、硬件设备。对存储器的基本要求是增大容量、提高速度、降低价格。单一的存储器硬件(主存储器)难以满足要求。所以就提出了多层次的存储体系结构(即:寄存器---Cache--主存—外存)主存储器在计算机中存放当前正在执行的程序以及被程序所使用的数据(包括运算结果)原存储器称为主存储器。主存储器的技术指标1.1.存储器的容量存储器容量是指存放信息的总量,通常以字节为单位。其最大容量受计算机字长所限制,如现在32位的微机,最大的内存极限为:232=4G2.2.读写时间从主存储器读出一个字或写入一个字所需的时间称为读写时间。通常读一次存储器取出一个字,当字长为32位时,一次可读出四个字节!4.2主存储器的种类是否需要定期刷新:静态:不停电情况下能长时间保留不变,速度快,但容量小,成本高动态:不停电的情况下也要定期刷新,容量大,成本高,常用在计算机系统中,常见的有:EDO,SDRAM、DDR等按读写功能来分:可读写(RAM)可擦写只读:EPROM(可擦写,用紫外线擦写)、EEROM(可用电擦写)、FLASH(电读写,但只能以块为单位,速度快,成本低,现在最常用)可编程:EROM(通过编程一次性写入)只读:ROM(制造时)4.3存储器容量的扩展位扩展:位扩展是对存储器的位数进行扩充!字扩展:是对存储器的容量进行扩展位、字扩展:对位数和容量都进行扩展4.4存储器的校验(硬件实现)奇偶:海明码:4.5多体交叉存储:为了协调存储器与CPU速度的,其工作原理是:将存储器分成几个独立的个体,这样每次就能进行多个字的数据读写!影响多体交叉效率的因素:多体存储的模值M数据的分布情况较移指令4.6存储管理:段式:一个程序可以由几个基本独立的程序模块和数据块组成。每个模块是一个段,第个段是连续的地址空间。页式:把主存分成固定大小的页面,每页内的地址是连续!一个程序可以占用多个页面段页式:是段式和页式管理的结合,每道程序有一个段表和一组页表,程序按模块分段,每个段含若干个页面。4.7Cache在多级存储体系中,Cache处于CPU与存储器之间,其目的是使程序员能使作一个速度与CACHE相当而容量与主存相当的存储器。工作原理为:数据的局部性原理。工作方式:当存储器接收到读命令后,先在CACHE中查找此信息,若在(又叫命中),则从CACHE中取出,不中才从主存中取出!当要写数据时,为了保证CACHE的内容与主存内容的一致性,经常采用以下方法中的一种:1.1.写通:同时写入CACHE和主存。2.2.数据只写入存储器中,并将CACHE中有关数据位清零。3.3.数据只入CACHE,只有当CACHE要失效时,才将数据写回主存,又叫“写回”!4.4.假如命中,则两个都要写,如果不命中,则只写入主存!CACHE速度的计算:实际速度=cache的速度*命中率+(1-命中率)*主存的速度!多层次CACHE当芯片的集成度提高后,可以将更多的电路集成在一个微处理器芯片中,于是近年来新设计的高速微处理器芯片都将CACHE集成在片内,片内CACHE的读取速度要比片外CACHE快得多,但片内CACHE的容量受芯片集成度的限制,其命中率比大容量的CACHE低,于是推出了二级CACHE方案,其中第一级CACHE(L1)设置成处理器芯片内,第二级设置成片外,(也有在片内的)二级CACHE容量可以从几百K到几M字节,有的系统还用了三级CACHE方案.4.8虚拟存储器:虚拟存储器通过增设地址映象表机构来实现程序在主存中的定位,将程序分割成若干段或页,用相应的映象表指明该程序的某段或某页是否已装入主存。若已装入,同时指明其要主存中的起始地址;若未装入,就去辅存中调段或调页,装入主存后在映象表中建立好程序空间和实存空间的地址映象关系。虚拟存储依主存的存储管理而有三种不同方式:1.1.段式管理2.2.页式管理3.3.段页式管理页面失效替换算法:1.1.随机算法:2.2.先进先出:3.3.近期最少使用算法:4.9外存储设备计算机的内存是动态RAM,当停机后其数据将丢失,而且RAM的大小有限,所以计算机系统需要一种能长久保存数据,且容量大的存储设备,一般我们常说外存设备主要是指:磁盘、磁带和光盘!工作原理:对于磁盘之类的磁表面计录方式是利用磁性材料的磁滞回归线特征将数据记录在磁性物体的表面。而对于光盘之类的设备是将数据以光学特征的形式存储在盘片的表面。技术指标:存储密度:是指单位长度或面积磁层表面所存储的二进制数据量存储容量:是指设备能存储的信息的总量平均访问时间:是指磁盘从发出读写命令到读出或写入信息所花的时间计算:容量的计算:访问时间的计算:5、重叠和流水重叠(流水)是指通过控制机构同进解释两条(多条以至整个段)程序的方式,从而加快整个机器语言程序的解释!流水线的吞吐率:流水线的最大吞吐率为流水线中最慢子过程经过的时间。提高吞吐率的手段:1。细分瓶颈子过程2。重复设置多套瓶颈段并联影响流水的主要因素::1.局部相关性:先读后写写-写先写后读先读后写、写-写是异步流动可能发生的、先写后读两种都有!2.程序转移:处理方法:1)猜测法2)加快和提前形成条件码3)采用延迟转移4)加快短循环程序处理流水线中断处理:不精确断点法:不论指令I在流水线的那一段发生中断,未进入流水线的后续指令不再进入,已在流水线的指令仍继续流完,然后才转入中断处理程序.实现简单,但不利于编程和程序的排错.精确断点法:6、阵列处理机定义:阵列处理机也称并行处理机,它将大量重复设置的处理单元,按一定方式互连成陈列,在单一控制部件控制下对各自所分配的不同数据并行执行同一指令规定的操作,是操作级并行的SIMD计算机,处理单元是不带指令控制部件的算术逻辑部件。特点是:利用资源重复,而不是时间的重叠,利用并行中的同时性,而不是并发性!7、多处理机:定义:是具有两台以上的处理机,在操作系统控制下通过共享的主存或输入/出子系统或高速通讯网络进行通讯。多处理机是属于多控制流多数据流系统。目的是:1。用多台处理机进行多任务处理协同求解一个大而复杂的问题来提高速度2、依靠冗余的处理机及重组来提高系统的可靠性,适应性和可用性处理机有紧耦合和松耦合两种紧耦合多处理机:是通过共享主存来实现处理机间通讯的,其通讯速率受限于主存频宽,各处理机与主存经互连网络连接,处理数受限于互连网络带宽及各处理机访主存冲突的概率。松耦合多处理机:每台处理机都有一个容量较大的局部存储器,用于存储经常用的指令和数据,以减少紧耦合系统中存在的访主存冲突。不同处理机间或通过通道互连实现通讯,以共享某些外部设备;或都通过消息传送系统来交换信息。8、计算机系统的可靠性、可用性、可维护性技术和容错技术计算机系统的可靠性、可用性、可维护性(RAS)技术和容错技术是研究、设计、生产、评价计算机系统的重要内容,特别是由于超大规模集成电路的发展和计算机应用的普及,人们对RAS的要求越来越高!计算机系统的可靠性定义:计算机系统的可靠性是指在规定的条件下和规定的时间内计算机系统能正确运行的概率。搞高系统的可靠性一般两种方法:避错法和容错法硬件的避错技术的作用是减少系统失效的可能性容错法有:硬件冗余、软年冗余、信息冗余和时间冗余!计算机系统的可用性计算机系统的可用性是指该系统在某一时刻提供有效使用的程度,以可用度A来表示,可用度是在任意指定时刻系统能正确运行的概率A=MTBF/(MTBF+MTTR)MTBF为平均无故障时间MTTR为平均修复时间计算机系统的可维护性计算机系统的可维护性是指该系统失效后在规定时间内可修复到规定功能的能力,反映系统可维护性高低的参数是修复率秒平均修复时间MTTR。修复率表示在单位时间内完成修复的概率。容错技术容错是指计算机系统在运行过程中发生一定的硬件或软件故障错误时仍能保持正常工作而不影响正确结果的一种性能或措施。容错技术主要是为了提高计算机系统的可靠性和可用性,常用冗余技术来抵消由于故障而引起的影响。一般分为:硬件冗余:以检测或屏蔽故障为目的而增加一定硬件设备的方法。软件冗余:为了检测或屏蔽软件中的差错而啬一些在正常运行时所不需要的软件的方法信息冗余:在实现正常功能所需要的信息外,再添加一些信息,以保证运行结果正确性的方法,纠错码就是信息冗余的例子时间冗余:使用附加一定时间的方法来完成系统的功能。这些附加的时间主要用在故障检测、复执或故障屏蔽上。故障的分类:永久