320 likes | 550 Views
计算机系统结构 Computer Architecture. 计算机技术教研室 王怀秀. 前 言. 计算机系统结构是计算机专业本科教育中的骨干课程,是 ACM(American Cmputer Academy ) 和 IEEE/CS 联合教程专题组所确定的主干课程。. 课程概况. “ 计算机系统结构 ” 是计算机科学与技术专业的必修课,前导课程是数字逻辑、计算机组成原理、接口技术,操作系统、编译原理可作为前期课程或同期开。 它是从高层俯览计算机系统的软、硬件总体结构的划分、定位、性能、功能、设计思想和原则的确定。(计算机属性)
E N D
计算机系统结构Computer Architecture 计算机技术教研室 王怀秀
前 言 计算机系统结构是计算机专业本科教育中的骨干课程,是ACM(American Cmputer Academy) 和IEEE/CS联合教程专题组所确定的主干课程。
课程概况 • “计算机系统结构”是计算机科学与技术专业的必修课,前导课程是数字逻辑、计算机组成原理、接口技术,操作系统、编译原理可作为前期课程或同期开。 • 它是从高层俯览计算机系统的软、硬件总体结构的划分、定位、性能、功能、设计思想和原则的确定。(计算机属性) • 本课程涉及众多当前计算机科学和工程领域内前沿技术及发展方向,是一门总结性、前导性、开拓性的课程。
教学安排 第一章 计算机系统结构的概论 • 计算机系统层次结构(功能模型、虚拟计算机) • 计算机系统基本概念:计算机系统结构的定义及研究的内容 • 计算机系统结构、组成、实现三者的关系 • 计算机系统结构的分类 • 系统结构的评价标准(性能属性、性能因子、吞吐率、性能评价)
教学安排 第二章 指令优化 (格式优化) • Huffman压缩概念 • 三种编码技术 • 地址码的优化
教学安排 第三章 存储系统 • 存储系统的层次结构 • 交叉访问存储器 • 虚拟存储器(工作原理、地址映象与变换、替换算法) • cache存储器(工作原理、地址映象与变换、替换算法、Cache的取算法)
教学安排 第四章流水线计算机设计技术 • 重叠解释方式和相关处理 • 流水线相关处理(局部相关、全局相关) • 线性流水线性能及其分析(时空图) • 线性流水线性能分析举例、指令流水线设计 • 非线性流水线的基本概念 • 先进的流水技术
教学安排 第五章 SIMD计算机和多处理机 • SIMD并行处理机(基本结构、存储结构、特点) • SIMD计算机的互联网络(设计准则、互联函数、三种互联方式、多级互联) • 多处理机系统结构(基本结构、紧耦合、松耦合)
参考资料 • 郑纬民、汤志忠,计算机系统结构(第二版),北京:清华大学出版社,1998年 • 胡越明,计算机组成和系统结构,上海:上海科学技术文献出版社,1999年 • 李亚民,计算机组成与系统结构,北京:清华大学出版社,2000年 • 李学干,计算机系统结构(第三版),西安:西安电子科技大学出版社,2000年 • 徐炜民、严允中,计算机系统结构(第二版),北京:电子工业出版社,2003年
其他可以利用的学习资源: • http://hanlin2.hbu.cn/cmc/dzja/xtjg/index.htm包含与本课程内容相关的电子教案
答疑时间:每周四下午1~3.30 • 考核形式:闭卷 期末(70%)+平时(30%) (出勤、作业、回答问题)
1.1计算机系统的层次结构 一.按功能划分的多级层次结构 一个完整的计算机系统是由硬件和软件两大部分组成。计算机要完成某个任务是通过向计算机的硬件发出一系列有序的指令来实现,其中计算机可以直接识别并执行的指令通常称为机器指令,机器指令与机器的硬件直接对应。随着计算机的发展和应用范围的扩大,出现了汇编语言、操作系统、高级语言。
1. 控制流程与机器语言 • “计算机语言”:描述控制流程的,有一定规则的字符集合。 • 计算机语言并不专属软件范畴,它可以分属计算机系统的各个层次,分别对该层次的控制流程进行描述。 • 基于对语言广义的理解,可以把计算机系统看成由多级“虚拟”计算机所组成。从内向外,层层相套,形成“洋葱”式结构的功能模型。(见图1-1) 例:用户--建模--应用程序--高级语言--汇编语言--操作系统--机器语言--微程序--硬布线逻辑
2. 虚拟计算机的概念 实际机器(裸机):由硬件和固件(固化有软件的硬件,如微程序控制器)实现的机器。 虚拟机器:配有软件(编译程序、解释程序、操作系统等)可以运行相应语言编制的程序的机器(即以软件为主实现的机器)。 虚拟机器的实现是建立在实际机器之上。 语言与虚拟机之间存在着对应关系。
洋葱模型的每一层都是一个虚拟计算机,它只对“观察者”而存在,它的功能体现在广义语言上,对该语言提供解释手段,然后作用在信息处理或控制对象上,并从对象上获得必要的状态信息。从某一层次的观察者看来,他只能是通过该层次的语言来了解和使用计算机,至于内部任何工作和实现是不必关心的。洋葱模型的每一层都是一个虚拟计算机,它只对“观察者”而存在,它的功能体现在广义语言上,对该语言提供解释手段,然后作用在信息处理或控制对象上,并从对象上获得必要的状态信息。从某一层次的观察者看来,他只能是通过该层次的语言来了解和使用计算机,至于内部任何工作和实现是不必关心的。 (即:虚拟计算机是以软件为主实现的机器) 虚拟计算机的组成见图1-2
图1-3用虚拟计算机观点定义的计算机系统的功能层次图1-3用虚拟计算机观点定义的计算机系统的功能层次
二. 按功能划分层次的好处 • 微程序机器级、传统机器级和操作系统级的作用是:为更高层次机器级程序的运行提供必须的解释程序和翻译程序,以便能设计和实现新的虚拟机;而在汇编机器级以上的各级则主要是为应用程序设计人员解决实际问题而设计的。 • 计算机各层次的语言总是通过低一级的语言翻译或解释来实现; • 可以重新分配软、硬件的比例,为虚拟机器的各级提供更好的硬件支持。
一.计算机系统结构的定义 • Amdahl提出:计算机系统结构是从程序设计者所看到的计算机的属性,即概念性结构和功能特性。这实际上是计算机系统的外特性。 • Amdahl等人提出的系统结构的定义是指汇编语言程序设计者或编译程序生成系统,为了使其设计或生成的程序能在机器上运行所需看到的计算机属性,是硬件子系统的概念性结构和功能特性。 • 从计算机系统的层次结构概念出发,不同级的程序设计者所看到的计算机属性显然是不一样的。 • 例:图1-3中机器语言级计算机。其界面之上是所有软件功能,界面之下是所有硬件和固件的功能。
透明性(Transparency)概念 • 计算机系统中的“透明”与通常意义下的“透明”的含义正好相反,是看不到的意思。 • 在计算机技术中,一种本来是存在的事物或属性,但从另一角度看确好像不存在,这称为透明性。 • 在一个计算机系统中,低层机器级的概念性结构和功能特性,对高层机器级的程序员来说是透明的。
二.“系统结构”研究的主要内容 • 研究对象:是计算机系统中各级之间界面的定义及其上、下的功能分配。 • 计算机系统结构的外特性,一般应包括以下几个方面: • 机器内的数据表示(能直接处理的数据类型和格式); • 寄存器的组织(通用寄存器、特殊寄存器); • 指令系统(机器指令的操作类型、格式等); • 存储系统(编址单位、编址方式、容量、最大可编址空间) • 中断机构、机器工作状态的切换 • 输入/输出机构(连接方式、数据传送方式、格式等) • 信息保护(保护方式、硬件支持)
1.3 计算机系统结构和计算机组成与实现的关系 • 传统的计算机系统结构的定义是指机器语言级的结构,是软件和硬件/固件的主要交界面。 • 目前,经常使用的是广义的计算机系统结构的概念,除了包括传统的计算机系统结构的概念外,还包括了计算机组成和实现技术。
计算机组成-1 • 计算机组成(Computer Organization):指计算机系统结构的逻辑实现,主要研究硬件系统在逻辑上是如何组织的,机器级内部数据流和控制流的组成与逻辑设计。
计算机组成-2 • 计算机组成还应包括:数据通路宽度;根据速度、造价、使用状况设置专用部件(例如是否设置乘法器、除法器、浮点运算协处理器、I/O处理器等);部件共享和并行执行;控制器结构(组合逻辑、PLA、微程序)、单处理机或多处理机、指令先取技术和预估、预判技术应用等组成方式的选择;可靠性技术;芯片的集成度和速度的选择。
计算机实现 • 计算机实现(Computer Implementation)指计算机组成的物理实现,包括处理机、主存等部件的物理结构,芯片的集成度和速度,芯片、模块、插件、底板的划分与连接,专用芯片的设计,微组装技术,总线驱动,电源、通风降温、整机装配技术等,它着眼于芯片技术和组装技术。
三者之间的关系 • 计算机系统结构、组成和实现是三个不同的概念。系统结构是计算机系统的软、硬件界面;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。他们各自有不同的内容,但又有紧密的关系。 • 例如:指令系统功能的确定属于系统结构,而指令的实现,如取指、取操作数、运算、送结果等具体操作及其时序属于组成,而实现这些指令功能的具体电路、器件设计及装配技术等属于实现。
计算机等级与设计思想 计算机等级的发展遵循以下三种不同的设计思想。 (1)在本等级范围内以合理的价格获得尽可能好的性能,逐渐向高档机发展,称为最佳性能价格比设计; (2)只求保持一定的合用的性能而争取最低价格,称为最低价格设计,其结果往往是从低档向下分化出新的计算机等级; (3)以获取最高性能为主要目标而不惜增加价格,称为最高性能设计,以至于产生当时最高等级计算机。
系列机概念 先设计一种系统结构(机器属性),而后按这种系统结构设计它的系统软件,按器件状况和硬件技术研究这种结构的各种实现方法,并按照速度、价格等不同要求,分别提供不同速度、不同配置的各挡机器。(系列机必须保证用户看到的机器属性一致) 例:IBM AS/400
IBM 360 (1964年) • 系列中各机型(规模由小到大,功能从弱到强,包括20、30、40、50、65、75等6个型号,后来扩充了25、85、91、195等型号)具有兼容性
系列机的优点 • 在使用共同系统软件的基础上,解决程序的兼容性问题; • 在统一数据结构和指令系统的基础上,便于组成多机系统和网络; • 使用标准的总线规程,实现接插件和扩展功能卡的兼容 • 扩大计算机应用领域,提供用户在同系列的多种机型内选用最合适的机器的可能性; • 有利于机器的使用、维护和人员培训 • 有利于计算机升级换代;