第一章 计算机系统结构概论
目录 计算机系统的多级层次结构 计算机系统结构、组成与实现 计算机系统的软硬取舍、性能评测及定量设计原理 软件、应用、器件对系统结构的影响 系统结构中的并行性发展和计算机系统的分类
什么是计算机? 计算机是一种不需要人的直观干预而能自动完成各种算术和逻辑运算的工具。 说明: 随着技术的发展,概念有所变化。 PDA、机顶盒、商务通、MP3,智能手机等 计算机是工具。Tools
计算机的功能 科学计算 数据处理(信息处理) 过程控制 人工智能
计算机的主要特性 快速性 通用性:任务-〉算术逻辑操作-〉指令 准确性:数字化 逻辑性
§1 计算机系统的多级层次结构 机器:能存储和执行相应语言程序的算法和数据结构的执行体。 计算机语言:是用以描述控制流程的、有一定规则的字符集合。 语言不是专属软件范畴,可以分属于计算机系统的各个层次,具有不同作用。
计算机系统的层次特性是研究计算机体系结构的基础 计算机的层次观点——结构观点 计算机系统的层次特性是研究计算机体系结构的基础
从观察者看到的虚拟计算机 广义语言 编译 解释器 作用对象 虚拟计算机 控制信息 状态信息 观察者
计算机系统的多级层次结构 多级层次结构:是从使用语言的角度,基于程序员与计算机系统对话中所采用的语言结构和语义划分。 机器----语言 现代计算机系统的层次结构分为六级。
第0级 实际机器 微程序机器M0 具有L0机器语言(微指令系统) 微指令由硬件直接执行
传统机器M1 具有L1机器语言(机器指令系统) 第1级 实际机器 由微指令程序解释机器指令 第0级 实际机器 微程序机器M0 具有L0机器语言(微指令系统) 微指令由硬件直接执行
操作系统机器M2 具有L2机器语言(作业控制语言等) 第2级 虚拟机器 一般用机器语言程序解释作业控制语句 传统机器M1 具有L1机器语言(机器指令系统) 第1级 实际机器 由微指令程序解释机器指令 第0级 实际机器 微程序机器M0 具有L0机器语言(微指令系统) 微指令由硬件直接执行
汇编语言机器M3 具有L3机器语言(汇编语言) 第3级 虚拟机器 汇编语言程序经汇编程序翻译成机器语言程序 操作系统机器M2 具有L2机器语言(作业控制语言等) 第2级 虚拟机器 一般用机器语言程序解释作业控制语句 传统机器M1 具有L1机器语言(机器指令系统) 第1级 实际机器 由微指令程序解释机器指令 第0级 实际机器 微程序机器M0 具有L0机器语言(微指令系统) 微指令由硬件直接执行
高级语言程序经编译程序翻译成汇编语言(或是某种中间语言程序,或是机器语言程序) 第4级 虚拟机器 高级语言机器M4 具有L4机器语言(高级语言) 汇编语言机器M3 具有L3机器语言(汇编语言) 第3级 虚拟机器 汇编语言程序经汇编程序翻译成机器语言程序 操作系统机器M2 具有L2机器语言(作业控制语言等) 第2级 虚拟机器 一般用机器语言程序解释作业控制语句 传统机器M1 具有L1机器语言(机器指令系统) 第1级 实际机器 由微指令程序解释机器指令 第0级 实际机器 微程序机器M0 具有L0机器语言(微指令系统) 微指令由硬件直接执行
第5级 虚拟机器 应用语言机器M0 具有L5机器语言(应用语言) 应用语言程序经应用程序包翻译成高级语言程序 高级语言程序经编译程序翻译成汇编语言(或是某种中间语言程序,或是机器语言程序) 第4级 虚拟机器 高级语言机器M4 具有L4机器语言(高级语言) 汇编语言机器M3 具有L3机器语言(汇编语言) 第3级 虚拟机器 汇编语言程序经汇编程序翻译成机器语言程序 操作系统机器M2 具有L2机器语言(作业控制语言等) 第2级 虚拟机器 一般用机器语言程序解释作业控制语句 传统机器M1 具有L1机器语言(机器指令系统) 第1级 实际机器 由微指令程序解释机器指令 第0级 实际机器 微程序机器M0 具有L0机器语言(微指令系统) 微指令由硬件直接执行
多级层次结构(机器---语言) M5:应用语言机器--------应用语言 M4:高级语言机器--------高级语言
人与多级层次结构的比较 这种联系很不科学,只是让大家轻松一下 计算机系统 人 应用语言级 为人民服务级 高级语言级 读书、学习级 汇编语言级 语言、思维级 操作系统极 生理功能级 传统机器级 人体器官级 微程序机器级 细胞组织级 电子线路级 分子级
从设计人员看到的层次
应用语言级 高级语言级 汇编语言级 操作系统级 传统机器级 微程序机器级 电子线路 L5虚拟机 L4虚拟机 L3虚拟机 L2虚拟机 翻译(应用程序包) 翻译(编译程序) 翻译(汇编程序) 软硬件交界面 物理机器 解释 硬件直接执行 硬件 固件 系统 软件 虚拟机器 实际机器 应用 部分解释
编译与解释 编译:全部N+1级指令--N级指令 解释:一条N+1级指令--一串N级指令 编译为整体行为,可以优化,效率高,与平台有关。 翻译, compile 解释:一条N+1级指令--一串N级指令 translation 编译为整体行为,可以优化,效率高,与平台有关。 如C、C++、Fortran等 解释为局部行为,不优化,效率低,与平台无关。 如:Basic、Shell、Perl等 编译+解释 如:Java,编译 Bytecode 解释执行
几点说明 M0用硬件,M1用固件,其它用软件。 计算机系统作为一个整体,包括软、硬件,之间无固定界面。 固件(Firmware):指存储在计算机ROM和其它集成电路中的系统软件,固件不能随意改变。 计算机系统作为一个整体,包括软、硬件,之间无固定界面。
几点说明(续) 低层语言功能简单,而高层语言功能复杂。 虚拟机器(Virtual Machine):用软件为主实现的机器。 分层的学科 例如:Java虚拟机。 分层的学科 M0~M1:计算机组织与结构 M2~M3:系统软件 M4: 应用程序 M5: 系统总体分析
分层的优点 有利于人们正确理解计算机系统的工作,明确软硬件和固件在计算机系统的地位和作用 理解各种语言的实质及其实现 有利于探索虚拟机器新的实现途径,便于设计新的系统 有助于理解计算机体系结构的含义,从而合理地进行计算机系统的开发和设计。