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