计算机体系结构完整讲义
用内存少 – 软件实现:速度低、复制费用低;灵活性好、
占用内存多
• 发展趋势
– 硬件实现的比例越来越高 – 硬件所占的成本越来越低
计算机系统的软硬件成本变化
成本
软件
70年代
硬件 年代
从概念和功能上将计算机系统看成多级层次结构 的优点:
1. 理解软件、硬件、固件的地位和作用 2. 理解各种语言的实质和实现途径 3. 探索虚拟机新的实现方法和新的系统设计
– 它不同于数据流程和控制的组织,不同于逻 辑设计以及物理实现方法
定义的理解
• 从两个角度理解
一是计算机系统结构既然是“从程序员的角度所看到 的系统的属性”,那么每一级“机器”都有一个系统结 构,而且它们相互不同
二是将计算机的系统结构定义在传统机器界面(M1) 程序员所看到的计算机的基本属性
计算机系统结构的基本属性
或者:一条N+1级指令--〉一串N级指令
例:解释一件事
翻译和解释是语言实现的两种基本技术。
•解释比翻译费时,但节省存有关
•解释为局部行为,不优化,效率低, 与平台无关
翻译+解释:Java
控制流程的三种实现方法
• 全硬件、软硬件结合、全软件
– 逻辑上等价,物理意义上不等价 – 硬件实现:速度快、成本高;灵活性差、占
第1章 计算机系统设计基础
• 1.1 计算机系统的基本概念 • 1.2 计算机系统的设计技术 • 1.3 计算机系统的性能评价 • 1.4 计算机系统结构的发展
本章学习要求
• 了解计算机系统的多级层次结构 • 掌握系统结构、组成和实现的定义及属
性,会透明性分析 • 掌握计算机系统的设计原理、性能计算 • 掌握计算机系统的分类,特别是Flynn分
类 • 了解软件对计算机系统结构发展的影响
1.1 计算机系统的基本概念
• 机器:能存储和执行相应语言程序的算 法和数据结构的执行体
• 计算机语言:是用以描述控制流程的、 有一定规则的字符集合
– 语言不是专属软件范畴,可以介属于计算机 系统的各个层次,具有不同作用
1.1.1计算机系统的多级层次结构
• 一般应包括以下几个方面
– 指令系统、数据表示、操作数的寻址方式 – 寄存器的构成定义、中断机构和例外条件 – 存储体系和管理、I/O结构 – 机器工作状态定义和切换、信息保护
在所有系统结构的特性中,指令系统的外特 性是最关键的
计算机组成 Computer Organization
• 研究硬件系统各组成部分的内部构造和相 互联系,以实现机器指令级的各种功能和 特性,目标是用最合理地方式将各种设备 和部件连接为计算机,以达到最优的性价 比,从而实现所确定的系统结构。
从设计人员看到的层次
• 应用程序级 • 高级语言级 • 汇编语言级 • 操作系统级 • 机器语言级 • 微程序控制级 • 硬联逻辑级
用户 高级语言程序员 汇编语言程序员 操作员 机器语言程序员
逻辑程序员 硬件设计员
翻译(Translation):先用转换程序将高 一级机器级上的程序整个地变换成低一 级机器级上可运行的等效程序(中间程 序),然后再在低一级机器级上去实现 的技术。
由硬件固件实现——高级语言机器 多处理机系统——由真正微处理机实现 4. 理解计算机体系结构的定义
5. 在一台真正的宿主机上通过模拟或仿真另一台不 同的假想机器——自虚拟技术
1.1.2 系统结构、组成与实现
• 定义与理解 • 三者的相互关系
计算机系统结构的定义 System Architecture
它是计算机组成的物理实现
研究各部件的物理结构、机器的制造技术 和工艺等,它着眼于器件技术和微组装技 术 • 主存的物理实现,如存储器采用什么样器 件,逻辑电路设计和微组装技术均属计算 机实现
定义理解举例
指令系统
– 指令系统的确定--------系统结构 – 指令的实现--------------组成 – 具体电路、器件设计及装配技术---实现
翻译(编译程序) 汇编语言机器 L3虚拟机
翻译(汇编程序) 操作系统机器 L2虚拟机
部分解释(操作系统)
传统机器级 物理机器
微程序/硬联
解释
直接由硬件执行
多级层次结构(机器—语言)
• M5: 应用语言机器------应用语言(L5) • M4: 高级语言机器------高级语言(L4) • M3: 汇编语言机器------汇编语言(L3) • M2: 操作系统机器------作业控制语言(L2) • M1: 传统机器------------机器语言(L1) • M0: 微程序机器---------微程序语言(L0)
• 是对计算机系统中各机器级之间界面的划 分和定义,以及对各级界面上、下的功能 进行分配
– 1964年,IBM/360系列机的总设计工程师G.M. Amdahl、G.A. Blauw、F.P. Brooks等人提出。 也称体系结构。
– 是从程序员的角度所看到的系统的属性,是 概念上的结构和功能上的行为
例:英语翻译
计算机系统中的翻译功能常由应用程序 包、编译程序、汇编程序等软件完成。
解 释 (Interpretation ):在 低 一级 机 器级上用它的一串语句或指令来仿真高 一级机器上的一条语句或指令的功能, 通过对高一级机器语言程序中的每条语 句或指令逐条解释来实现的技术
解释过程中不生成中间程序(节省了存 储空间)
从使用语言的角度上,将计算机系统 看成按功能划分的多级层次结构
机器、汇编、高级、应用语言
低级
高级
后者比前者功能更强、使用更方便;
而前者是后者发展的基础,在单条指令的 执行速度相比较,前者更快。
计算机系统的多级层次结构图
应用软件
系统软件 软件
软硬件交界面 硬件 固件
应用语言级 L5虚拟机
翻译(应用程序包) 高级语言机器 L4虚拟机
它是计算机系统结构的逻辑实现,包括机器 级内的数据流和控制流的组成以及逻辑设计 等。
计算机组成的基本属性
• 数据通路宽度 • 各种操作功能部件的共享程度 • 专用部件的设置 • 功能部件的并行性 • 缓冲和排队技术 • 控制机构的组成方式 • 预测技术 • 可靠性技术
计算机实现 Computer Implementation