计算机系统结构
计算机的发展历史:
1946年,世界上第一台电子计算机ENIAC出现,之后经历了5个发展阶段:
冯式结构计算机的组成部分:存储器、运算器、控制器、输入设备和输出设备。
强化的概念:
计算机的工作过程:一般是由用户使用各种编程语言把所需要完成的任务以程序的形式提交给计算机,然后翻译成计算机能直接执行的机器语言程序,在计算机上运行。
计算机系统可以由下面的模型表示:
计算机系统结构(computer architecture):
指机器语言级机器(物理机器)的系统结构,它主要研究软件、硬件功能分配,确定软件、硬件界面(机器级界面),即从机器语言程序员或编译程序设计者的角度所看到的机器物理系统的抽象。
计算机组成(computer organization):
是指计算机系统的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等,其目标是合理的把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。
计算机实现(computer implementation):
是指计算机组成的物理实现。
计算机系统的分类:Flynn分类、冯氏分类、Handler分类和Kuck分类;
Flynn分类:根据不同指令流—数据流组织方式把计算机系统分成4类。(重点理解)
指令流:机器指令的执行序列;
数据流:由指令流调用的数据序列,包括输入数据和中间结果;
多倍性:在系统性能的瓶颈部件上同时处于同样执行阶段的指令和数据的最大可能个数;
I. 单指令流单数据流SISD——如单处理机
II. 单指令流多数据流SIMD——如相联处理机
III. 多指令流单数据流MISD——如流水线计算机
IV. 多指令流多数据流MIMD——如多处理机
冯氏分类:以最大并行度Pm把计算机系统结构分为4类,其中字宽W表示在一个字中同时处理的二进制位数,位宽B表示在一个位片中能同时处理的字数。
I. 字串位串WSBS(serial)(parallel)
II. 字并位串WPBS
III. 字串位并WSBP
IV. 字并位并WPBP
Handler分类:根据并行度和流水线处理的程度将计算机系统结构分成3个层次
I. 程序控制部件PCU的个数K
II. 算术逻辑部件ALU或处理部件PE的个数D
III. 每个算术逻辑部件包含基本逻辑线路ELC的套数W
Kuck分类:与Flynn分类法类似,根据指令流、执行流和多倍性来分类。
I. 单指令流单执行流SISE——典型的单处理机
II. 单指令流多执行流SIME——带多操作部件的处理机
III. 多指令流单执行流MISE——带指令级多道程序的单处理机
IV. 多指令流多执行流MIME——多处理机
计算机不同级别程序员所见的计算机部分,透明性的概念:
透明性:一种实际存在的事物或属性,从某个角度看似乎不存在的现象。
低层机器级的概念结构和功能特性对于高级语言的程序员来说是透明的。