计算机体系结构概述
第第 1 1 章章系统结构的基本概念系统结构的基本概念 1.1计算机系统的多级层次结构 计算机系统的多级层次结构 1.从使用语言的角度,可以将系统看成是按功能划分的多个机器级组成的层次结构,由高到低分别为 应用语言机器级、高级语言机器级、汇编语言机器级、 操作系统机器级、传统机器语言机器级和微程序机 器级。 2.各机器级的实现方法:翻译(变换成低一级等效程序)或解释(仿真高级机器级语句或指令) 3.通过多层次结构的观点可以得出,软件的功能可以由硬件实现,硬件的功能也可用软件模拟实现。 1.2计算机系统结构、组成与实现 计算机系统结构、组成与实现 1. 透明:客观存在的事物或属性从某个角度看不到的。 2. 计算机系统结构指的是传统机器级的系统结构;它是软、硬件之间的功能分配以及对传 统机器级界面的确定,提供机器语言、汇编语言程序设计者或编译程序生成系统为使其设计或生成的程序 能在机器上正确运行应看到和遵循的计算机属性。数据表示、寻址方式、寄存器组织、指令系统、存储系 统组织、中断系统、管态目态定义与转换、IO 结构、保护方式和机构。 2. 计算机组成:是计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成及逻辑设计 等。它着眼于机器级内的各事件的排序方式与控制机构、各部件的功能及各部件间的联系。近 40 年里,计 算机组成设计主要围绕提高速度,着重从提高操作的并行度、重叠度、以及功能的分散和设置专用功能部 件来设计的。 (1)数据通路宽度;(2)专用部件的设置;(3)各种操作对部件的共享程度;(4)功能部件的并行度;(5) 控制机构的组成方式;(6)缓冲和排队技术; (7)预估、预判技术; (8)可靠性技术。 3.计算机实现:指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度 和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,微组装技术,信号传输,电源、冷却 及整机装配技术等。它着眼于器件技术和微组装技术,其中,器件技术在实现技术中起着主导作用。 4. 计算机系统结构、组成、实现三者互不相同,但又相互影响。 ①相同结构(如指令系统相同)的计算机,可以因速度不同而采用不同的组成;相同组成可有多种不同 的实现方法。②系统结构不同会使可能采用的组成技术不同。反过来,组成也会影响结构。③组成设计上 面决定于结构,下面受限于实现技术,它们是可以与实现折衷权衡的。组成和实现的权衡取决于器件的来 源、厂家的技术特长和性能价格比能否优化。 1.31.3 软硬件取舍与计算机系统设计思路软硬件取舍与计算机系统设计思路 1. 软硬件实现的优缺点:解题速度、程序存储空间、硬件成本、硬件利用率、计算机系统的灵活性 和适应性。 2. 软、硬件取舍的基本原则 确定软、硬件功能分配比例的第一个基本原则是应考虑在现有硬、器件(主要是逻辑器件和存储器件) 条件下,系统要有高的性能价格比,主要从实现费用、速度和其他性能要求来综合考虑。 确定软、硬件功能分配的第二个基本原则是,要考虑到准备采用和可能采用的组成技术,使它尽可能 的不要过多或不合理的限制各种组成、实现技术的采用。 确定软、硬件功能分配的第三个基本原则是,不能仅从“硬”的角度考虑如何便于应用组成技术的成果 和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及为高级语言程序的设 计提供更多更好的硬件支持放在首位。 3. 计算机系统的设计思路 @“由上往下“设计思路:从考虑如何满足应用要求,定好面对使用者那级机器应有什么基本功能和特 性,逐级往下设计,每级都考虑怎样优化上一级实现,这样设计的计算机系统对于设计时面向的应用必然 是很好的。缺点①是应用的改变会带来系统效率的急剧下降;②适用于专用机设计,不适用于通用机的设 计。 @“由下往上“设计思路:不管应用的要求,只根据已有器件和硬件的状况,先设计微程序机器级,先设 计出微程序机器级(如果采用微程序控制)及传统机器级,然后再为不同应用配多种操作系统和编译软件, 使应用人员可根据所提供的语言种类、数据形式,采用合适的算法来满足相应的应用。这是常用的通用机 设计思路缺点是①造成软硬件脱节,软件设计复杂; @“由中间开始“设计思路:“中间“指的是层次结构中的软硬交界面,目前多数是传统及其级与操作系 统机器级之间。既考虑能拿到的硬、器件,又要考虑硬件对操作系统、编译系统的实现提供什么支持,然 后由中间点分别往上、往下进行软件和硬件的设计。优点在于:针对上述两种方法的缺陷,软件和硬件并 行设计,可缩短系统设计周期,设计过程中可交流协调,是一种交互式的、较好的设计方法。 1.4 结构设计要解决好软件的可移植性 1.实现软件移植的好处和技术 软件的可移植性:指的是软件不修改或只经少量修改就可由一台机器移到另一台机器上运行,同一软 件可应用于不同的环境。这样,实践证明是可靠的软件就能长期使用,不会因机器更新去重新编写,既大 大减少了编制软件的工作量,又能迅速用上新的硬件技术,更新系统,让新系统立即发挥效能。 实现软件移植的几个基本技术:统一高级语言、采用系列机、模拟和仿真。 2. 统一高级语言 统一高级语言:实现软件移植的一种技术是统一高级语言,设计出一种完全通用的高级语言,为所有 程序员所使用。这样,结构相同以至完全不同的机器之间都能实现高级语言程序的软件移植。 第一,不同的用途要求语言的语法、语义结构不同。 第二,人们对语言的基本结构看法不一。 第三, 即使同一种高级语言在不同厂家的机器上也不能完全通用。第四,受习惯势力阻挠,人们不愿抛弃惯用的 语言,因为熟悉、有经验,也不愿抛弃长期积累的、用原有语言编写并已被实践证明是正确的软件。 对策:统一高级语言可以解决结构相同或完全不同的机器间的软件移植,从长远看是方向但目前难以 解决,只能作相对统一。 3.采用系列机 @系列机设计是从中间向两边设计相呼应。在软、硬件界面上设定好一种系统结构(系列机中称系列 结构),其后,软件设计者按此设计软件,硬件设计者根据机器速度、性能、价格的不同,选择不同器件、 硬件和组成、实现技术,研制并提供不同档次的机器。 @采用系列机:在结构相同或相似的机器之间实现软件移植 @优点:①解决了软件环境要求稳定,软件可不断积累、丰富、提高。②能不断采用新的器件和硬件 技术,使之性能不断提高。缺点:因要保持向后兼容性,器件越来越复杂,最终系统结构受到发展限制。 @系列机软件兼容的最基本的要求和特征是系列机软件必须保证向后兼容,力争向上兼容。 对策:系列机是普遍采用的好办法,但只能实现同一系列内软件兼容,同时软件兼容又会阻碍系统结 构突破性的发展;适当的时候推出新的系列结构。 4.模拟和仿真 模拟和仿真是不同系统结构的机器之间的机器语言软件移植方法。这种用机器语言程序解释实现软件 移植的方法称为模拟。缺点:运行速度显著降低,实时性差,模拟程序编制复杂和费时。用微程序直接解 释另一种机器指令系统的方法就称为仿真。缺点:微程序机器结构深深依赖于传统机器级的结构,当两种 机器结构差别大时就很难仿真。 两者区别:在于解释用的语言。仿真是用微程序解释,其解释程序存在控制存储器中;模拟是用机器 语言解释,其解释程序存在