计算机系统结构概述.ppt
计算机系统结构 ? 课程内容简介: 强调并行技术在计算机系统设计的各个层次(从指令级到多处理机)的重要性,并在各章内容中体现了这一主线,在第一章介绍并行性概念与并行计算机类型,在第三章深入阐述现代处理器内部采用的基本并行技术——流水线技术,第四章分析指令级并行的支持技术及其限制,第七、八章讨论当前主流并行计算机系统——多处理机系统与多计算机系统。 ? 学习目的: ? 与其他课程的交叉、教材 ? 参考教材与成绩构成 从低端的单片机到高端的并行计算机系统,其价格、体积大小、性能和应用千差万别,而且仍在不断发展变化中,但它们都始终采用了一些经典的基本概念,例如:计算机系统结构、组成与实现的定义,冯·诺依曼结构,系列机,并行性,Flynn分类法等。这些概念将在本章分别阐述。 1.从计算机系统组成角度划分层次结构 从计算机系统组成的角度来划分的一种层次结构模型如后面的图所示。 自下而上,表明了设计和构建一台计算机时的逐层生成过程,每层都在下一层的基础上增加功能。 3. 软、硬件在逻辑上的等价 计算机许多功能既可以直接由硬件实现,也可以在硬件支持下靠软件实现,称为软、硬件在功能上的逻辑等价。如乘法运算,可由硬件乘法器实现,也可在加法器与移位器支持下由乘法子程序实现。 指令系统是硬件与软件之间的界面。指令系统所规定的功能由硬件实现。 系统设计者必须确定软、硬件之间的界面(指令系统),即哪些功能由硬件实现,哪些由软件实现。 随着VLSI的发展与硬件成本降低,一种设计策略是软件硬化:如浮点运算、存储管理等功能 都在CPU上实现。 二、 计算机系统结构、组成与实现 基本概念 透明性:在计算机技术中,对本来是存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性(transparency)。计算机系统中,低层机器的属性对高层机器的程序员往往是透明的。 例如:一台计算机的指令系统对C++程序员是透明的。 计算机系统结构,也称计算机体系结构(Computer Architecture),在1964年C.M.Amdahl就给出了它的定义: 计算机系统结构是机器语言程序员(或编译程序设计者)所看到的计算机的属性,是硬件子系统的概念性结构与功能特性。 传统机器级系统结构的属性主要是由该机器的指令系统来表征的,具体属性如下: (1)数据表示:硬件能直接识别和处理的数据类型; (2)寄存器定义:包括各种寄存器的定义、数量和使用方式; (3)指令系统:寻址规则、机器指令的操作类型和格式等; (4)中断系统:中断的类型和中断响应硬件的功能等; (5)机器工作状态的定义和切换:如管态和目态等; (6)存储系统:主存最小编址单位、编址方式、可编程最大存储容量等; (7)输入/输出结构:输入/输出连接方式、处理机存储器与输入/输出设备间数据传送的方式和格式、输入/输出操作的状态等。 (8)信息保护:信息保护方式和硬件对信息保护的支持。 这些属性表明,经典计算机体系结构概念的实质就是计算机系统中软硬件界面的确定,界面之上是软件的功能,界面之下是硬件功能。 随着计算机技术的迅速发展,计算机系统结构、组成与实现之间的界限变得越来越模糊。现在使用的是广义的计算机体系结构概念,它既包括经典的计算机体系结构的概念范畴,还包括了对计算机组成和计算机实现技术的研究。 当前计算机系统设计涉及很多领域的技术,从编译程序、操作系统到指令系统设计、功能结构设计、逻辑设计和实现技术。 计算机系统设计的任务: * 明确功能需求,即机器的应用领域; * 适应市场的需求; * 支持选定的操作系统所必需的特性; * 硬软件技术标准 2. 系列机(family machine):是指由一个制造商生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的计算机。 例如:IBM 370系列有370/115、125、135、145、158、168等一系列从低速到高速的各种型号。 它们的系统结构相同,具有同样的指令系统,从程序设计者所看到的机器属性是相同的。 但它们采用不同的组成和实现技术,在低档机上可以采用指令串行执行的方式,而在高档机上则采用重叠、流水和其他并行处理方式等,因此它们各有不同的性能和价格。 一、软件对系统结构的影响 1、编译程序 编译技术对系统结构的影响有3个方面: * 数据的存储结构:高级语言采用堆栈、全局数据