第1章计算机系统结构的基本概念1.1计算机系统的多级层次结构1.2计算机系统结构、组成与实现1.3计算机系统的软硬取舍、性能评测及定量设计原理1.4软件、应用、器件对系统结构的影响1.5系统结构中的并行性发展和计算机系统的分类1.1计算机系统的多级层次结构1.计算机系统的多级层次结构划分角度2.各机器级间实现的主要方式3.实际机器和虚拟机器4.多级层次结构划分的意义从使用语言的角度进行划分:可以将系统看成是按功能划分的多层机器级组成的层次结构,层次结构由高到低分别为应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级、传统机器语言机器级和微程序机器级。对于一个具体的计算机系统,层次的多少会有所不同。1.计算机系统的多级层次结构划分角度图1.1计算机系统的多级层次结构翻译(Translation)是先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上等效的程序,然后再在低一级机器级上实现的技术。解释(Interpretation)则是在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句或指令的功能,是通过对高级的机器级语言程序中的每条语句或指令逐条解释来实现的技术。2.各机器级的实现方式翻译实现应用语言虚拟机器级M5是为满足专门的应用设计的。使用面向某种应用的应用语言(L5)编写的程序。一般是经应用程序包翻译成高级语言(L4)程序后,再逐级向下实现。应用语言虚拟机器级M5的实现翻译实现高级语言机器级M4上的程序可以先用编译程序整个翻译成汇编语言(L3)程序或机器语言(L1)程序,再逐级或越级向下实现.解释实现也可以用汇编语言(L3)程序、机器语言(L1)程序,甚至微指令语言(L0)程序解释实现。高级语言机器级M4的实现翻译实现汇编语言(L3)源程序则是先用汇编程序整个将它变换成等效的二进制机器语言(L1)目标程序,再在传统机器级M1上实现。汇编语言(L3)源程序的实现解释实现操作系统程序虽然已经发展成用高级语言(如C语言)编写,但最终还是要用机器语言程序或微指令程序来解释。操作系统程序的实现传统机器级采用组合逻辑电路控制,其指令可直接用硬件来实现,也可以采用微程序控制,用微指令(L0)程序来解释实现。微指令直接控制硬件电路的动作。传统机器级和微程序机器的实现所谓固件(Firmware),是一种具有软件功能的硬件,例如将软件固化在只读存储器这种大规模集成电路的硬、器件上,就是一种固件。以软件为主实现的机器称为虚拟机器,以区别于由硬件或固件实现的实际机器。虚拟机器不一定全由软件实现,有些操作也可用固件或硬件实现。例如操作系统的某些命令可用微程序或硬件实现。3.实际机器和虚拟机器将计算机系统看成是多级机器构成的层次结构推动了计算机系统结构的发展。例如,可以重新调整软、硬件比例,为各级提供更多更好的硬件支持,改善硬、器件迅速发展而软件日益复杂、开销过大的状况;或直接用硬件或固件实现,发展高级语言机器或操作系统计算机结构。可让各虚拟机器级用真正的实处理机代替,摆脱以往各级功能都在同一台实际机器上实现的状况,发展多处理机、分布处理、计算机网络等系统结构。可以在一台宿主机上模拟或仿真另一台机器,推动自虚拟机、多种操作系统共行等技术的采用,从而促进软件移植、计算机系统性能评价、计算机设计自动化等技术的发展。4.多级层次结构划分的意义1.2计算机系统结构、组成与实现1.2.1计算机系统结构、组成、实现的定义和内涵1.2.2计算机系统结构、组成和实现的相互关系1系统结构定义:从计算机系统的层次结构定义,系统结构(SystemArchitecture)是对计算机系统中各级界面的划分、定义及其上下的功能分配。每级都有其自己的系统结构。2透明性:客观存在的事物或属性从某个角度看不到,简称透明(Transparent)。不同机器级程序员所看到的计算机属性是不同的,它就是计算机系统不同层次的界面。3系统结构研究的内容:就是要研究对于某级,哪些属性应透明,哪些属性不应透明。透明可简化该级的设计,但因无法控制,也会带来不利影响。因此,要正确进行透明性取舍。1.2.1计算机系统结构、组成、实现的定义和内涵(一)计算机系统结构3.计算机系统结构也称计算机系统的体系结构(ComputerArchitecture),它只是系统结构中的一部分,指的是传统机器级的系统结构。它是软件和硬件/固件的交界面,是机器语言、汇编语言程序设计者,或编译程序设计者看到的机器物理系统的抽象。4计算机系统结构研究的内容:是软、硬件之间的功能分配以及对传统机器级界面的确定,提供机器语言、汇编语言程序设计者或编译程序生成系统为使其设计或生成的程序能在机器上正确运行应看到和遵循的计算机属性。(1)硬件能直接识别和处理的数据类型及格式等的数据表示;(2)最小可寻址单位、寻址种类、(3)通用/专用寄存器的设置、数量、字长、使用约定等的寄存(4)二进制或汇编级指令的操作类型、格式、排序方式、控制5.计算机系统结构的属性:(5)内存的最小编址单位、编址方式、容量、最大可编址空间等的存储系统组织;(6)中断的分类与分级、中断处理程序功能及入口地址(7)系统机器级的管态和用户态的定义与切换;(8)输入/输出设备的连接、使用方式、流量、操作结束、出错指示等的机器级I/O(9)系统各部分的信息保护方式和保护机构等属性。1.计算机组成的定义:计算机组成(computerorganization,又称计算机设计)是指计算机系统的逻辑实现。包括机器内部的数据流和控制流的组成以及逻辑设计等。它着眼于机器内各事件的排序方式与控制机构、各部件的功能以及各部件间的联系。2.计算机组成的设计是按所希望达到的性能价格比,最佳、最合理的把各种设备和部件组成计算机,以实现所确定的计算机系统结构。对传统机器程序员来说,计算机组成的设计内容一般是透明的。3.计算机组成的任务是在计算机系统结构确定分配给硬件子系统的功能及其概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。(二)计算机的组成(1)数据通路宽度:数据总线上一次并行传送的信息位数。(2)专用部件的设置:是否设置乘除法、浮点运算、字符处理、地址运算等专用部件,设置的数量与机器要达到的速度、价格及专用部件的使用频度等有关。(3)各种操作对部件的共享程度:分时共享使用程度高,虽限制了速度,但价格便宜。设置部件多降低共享程度,因操作并行度提高,可提高速度,但价格也会提高。(4)功能部件的并行度:是用顺序串行,还是用重叠、流水或分布式控制和处理。4.计算机组成设计要确定的方面(内容)(5)控制机构的组成方式:用硬联还是微程序控制,是单机处理还是多机或功能分布处理。(6)缓冲和排队技术:部件间如何设置及设置多大容量的缓冲器来协调它们的速度差;用随机、先进先出、先进后出、优先级,还是循环方式来安排事件处理的顺序。(7)预估、预判技术:为优化性能用什么原则预测未来行为。(8)可靠性技术:用什么冗余和容错技术来提高可靠性。4.计算机组成设计要确定的方面(内容)1.定义:计算机实现(ComputerImplementation)指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,微组装技术,信号传输,电源、冷却及整机装配技术等。2.它着眼于器件技术和微组装技术,其中,器件技术在实现技术中起着主导作用。(三)计算机实现⑴关于指令系统:指令系统的确定属于计算机系统结构。指令的实现,如取指令、指令操作码译码、计算操作数地址、取数、运算、送结果等的操作安排和排序属于计算机组成。实现这些指令功能的具体电路、器件的设计及装配技术属于计算机实现。(四)举例:计算机系统结构、组成和实现区别。确定指令系统中是否要设乘法指令属于计算机系统结构。乘法指令是用专门的高速乘法器实现,还是靠用加法器和移位器经一连串时序信号控制其相加和右移来实现属于计算机组成。乘法器、加法-移位器的物理实现,如器件的类型、集成度、数量、价格,微组装技术的确定和选择属于计算机实现。⑵具体的某条指令按位、按字节还是按字访问等的确定属于计算机系统结构。为达到性能价格要求,主存速度应该为多少,逻辑结构是否采用多体交叉属于计算机组成。主存器件的选定、逻辑设计、微组装技术的使用属于计算机实现。⑶主存容量与编址方式它们结构相同如图1-2所示,组成和实现不同。设计何种系列机属于计算机系统结构,而系列内不同型号计算机的组织属于计算机组成。IBM370系列有115、125、135、145、158、168等由低档到高档的多种型号机器。IBM370系列的都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上则采用重叠、流水或其他并行处理方式。⑷对于系列机图1-2IBM370系列的概念性结构数据形式(即数据表示)都是相同的32位字长,定点数都是半字长16位或全字长32位,浮点数都是单字长32位、双字长64位或四字长128位,1-3(a)所示。属于计算机系统结构。数据通路宽度不同:由于速度、价格的要求不同,在组成和实现时,数据通路宽度(数据总线线数)可以分别采用8位、16位、32位或64位,如图1-3(b)所示。数据总线宽度对程序员是透明的,是他不需要知道的,属于计算机组成。图1-3IBM370(a)统一的字长与定、浮点数表示;(b)不同的数据通路宽度以单总线结构著称的,实际上它不属于计算机系统结构。是计算机组成,为适应不同速度和价格的要求,不同型号机器仍使用多种不同的总线。它们都具有相同的I/O连接和使用方式,将I/O设备端口寄存器在逻辑上看做是主存的一部分,与主存统一编址,通过访问主存这些指定单元来实现与指定的I/O设备通信,完成对该设备的读/写等。属于计算机系统结构,是程序设计者编写I/O程序时应当看到的。⑸DEC公司早先推出的PDP-11系列计算机系统结构、组成、实现三者互不相同,但又相互影响。1.同结构(如指令系统相同)的计算机,可以因速度不同而采用不同的组成。2.一种组成可有多种不同的实现方法。如主存器件可用双极型的,也可用MOS型的;可用VLSI单片,也可用多片小规模集成电路组成。这取决于要求的性能价格比及器件技术状况。1.2.2计算机系统结构、组成和实现的相互关系3.结构不同会使可能采用的组成技术不同。A∶=B+CD∶=E*F如果采用面向寄存器的系统结构,LOADR1,BADDR1,CSTORER1,ALOADR2,EMPYR2,FSTORER2,D而对面向主存的具有三地址寻址方式的系统结构,其程序可ADDB,C,A;MPYE,F,D4.反过来,组成也会影响结构,微程序控制就是一个典型的例子。5.三者在不同时期所包含的具体内容不同。在某些系统中作为结构的内容,在另些系统中可能是组成和实现的。6.计算机组成和实现关系密切,都可称为计算机实现。即计算机系统的逻辑实现和物理实现。作业(1):P296,7,81.3计算机系统的软硬取舍、性能评测及定量设计原理1.3.1软、1.确定软、硬件功能分配比例的第一个基本原则:考虑在现有硬、器件(主要是逻辑器件和存储器件)条件下,系统要有高的性能价格比,主要从实现费用、速度和其他性能要求来综合考虑。图1-4计算机系统的软、硬件功能分配比例(1)不同时期软、硬件功能分配比例设计费用:假设某功能的软、硬件实现的每次设计费用分别为Ds和Dh,则Dh≈100Ds是完全可能的。生产费用:设该功能软、硬件实现的每次重复生产费用分别为Ms和Mh,则Mh≈100Ms也是可能的。软件实现重新设计费用:C×Ds.软件实现重复生产费用:R×Ms。同一功能的软件在存贮介质上有可能多次出现,每出现一次都需要有复制和存贮费用。(2)软、硬件功能分配实现的费用分析每台计算机用硬件实现的费用就为Dh/V+Mh。若改用软件实现则为C×Ds/V+R×Ms。假