主要内容
- 计算机体系结构的基本概念
- 计算机系统结构、组成与实现
- 计算机系统结构分类
- 计算机体系结构的发展
计算机体系结构的基本概念
计算机系统结构中的8大伟大思想:
- 面向摩尔定律的设计:设计要有超前意识
- 使用抽象简化设计:抽象、简化
- 加速大概率事件:矛盾的主要方面
- 通过并行提高性能:方法和效率
- 通过流水线提高性能:方法和效率
- 通过预测提高性能:善于分析,经验总结
- 存储器层次:平衡
- 通过冗余提高可靠性:考虑多种可能性,异常处理
存储程序计算机-冯诺依曼抽象、简化
1.从输入设备输入数据,存入存储器
2 控制器到存储器取指令,分析做何操作
3.运算器从存储器中取数据进行计算,结果返回存储器
4.运算结果通过输出设备输出
- 以存储程序原理为基础,指令与数据混合存储
- 程序执行时,CPU在程序计数器的指引下,线性顺序地读取下一条指令和数据
计算机工作过程:
程序在执行前:数据和指令事先存放在存储器中,每条指令和每个数据都有地址,指令按序存放,指令由操作码OP、地址码ADDR字段组成,程序起始地址置PC;
开始执行程序:
第一步:根据PC取指令
第二步:指令译码
第三步:取操作数
第四步:指令执行
第五步:回写结果
第六步:修改PC的值
继续执行下一条指令
计算机系统结构的定义
定义:汇编语言程序员所看到的计算机属性,即硬件子系统的概念结构及其功能特性。
研究任务:主要研究软件、硬件功能分配和对软硬件界面的确定。
目标:达到性能和功耗达到最佳。
实质:外特性——实际上定义了系统的软、硬件功能界面;系统结构内特性——计算机系统的设计人员看到的基本属性,是外特性的逻辑实现。
概念性结构及功能性特性包括:
数据表示:硬件能直接辨认和处理的数据类型
寻址规则:包括最小寻址单元、寻址方式及其表示;
寄存器定义:包括寄存器的数量及使用方式
指令系统:包括机器指令的操作类型和格式、指令之间的排序和控制机构
中断系统:中断的类型和中断响应硬件的功能
机器工作状态的定义和切换
存储系统,主存容量、程序员可用的最大存储容量
信息包括,包括信息保护方式和硬件对信息保护的支持
I/O结构,包括I/O连接方式,处理机/存储器与I/O设备之间的数据传送方式和格式以及I/O操作的状态。
透明性:
一种本来存在的事物或属性,但从某种角度来看似乎不存在的概念,称为透明性。在一个计算机系统中,低层机器的属性往往对高层机器的程序员是透明的。计算机组成设计的内容,对传统机器程序员来讲一般是透明的。
e.g. 汇编程序对于高级程序员是透明的;机器代码对于高级程序员是透明的
计算机体系结构、组成与实现
系统结构、组成和实现三者的关系:
计算机组成是计算机系统结构的逻辑实现,计算机实现是计算机组成的物理实现。一种系统结构可以有多种组成,一种组成可以有多种物理实现
计算机层次结构-抽象分析、角度:
系列机:一种指令集结构可以有多种组成。同样,一种组成可以有多种物理实现。系列机就是指在一个厂家生产的具有相同的指令集结构,但具有不同组成和实现的一系列不同型号的机器.
兼容机:不同厂家生产的具有相同体系结构的计算机。(利用大的计算机厂家的开发成果,采用新的计算机组织和实现技术,研制软件兼容的产品,具有更加低廉的价格,在市场上有较强的竞争能力)
向上(下)兼容:按某档机器编制的程序,不加修改的就能运行于比它高(低)档的机器;
向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器.
计算机系统结构的分类
- 指令流(Instruction stream, IS, 指令流或控制流):
使用程序计数器(PC)来确定下一条指令的地址。指令程序流由程序员直接控制,其主存是共享的,存储区可以被多指令修改,容易产生数据相关性,对并行性不利。- 数据流(Data stream,DS)
数据不在共享的存储器中,而是在指令间传送,成为令牌。当需要使用该数据的指令收到令牌,开始执行之后,该令牌即消失,执行的指令将执行的结果数据当做新的令牌发送。这种方式不再需要程序计数器、共享的存储器,但是需要用于检测数据可用性的专门部件,建立、识别、处理数据令牌标记,需要时间和空间开销。
此外,程序的调试和诊断变得困难;没有共享的存储器,也就无法控制其分配,无法支持数组、递归等操作。- 多倍性
在系统最受限的元件上同时处于同一执行阶段的指令或数据最大可能树数。
- Flynn分类法
- SISD(Single Instruction stream single Data Stream)传统的顺序处理机(串行机)
- SIMD(Single Instruction stream Multiple Data stream)阵列处理机,并行处理机
- MISD(Multiple Instruction stream Single Data stream)采用流水结构的计算机
- MIMD(Multiple Instruction stream Multiple Data stream)多处理机
SISD:
SIMD:
MISD:
多个指令对一个数据流进行操作。具有 n 个处理单元,按 n 条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。
MIMD:
Moore定律:
每18个月,半导体集成电路的集成度(晶体管数目)翻一番,速度(性能)会翻一番,价钱会降一半
计算机系统结构的发展
分布I/O处理能力:程序控制、DMA、I/O处理机
保护存储空间 存储程序概念:指令和数据存放在一起
优点:
指令可以被修改,程序灵活
指令和数据共用一套存储寻址电路,硬件简单
存储管理软件简单
指令、数据存可存放在任意位置,空间利用有效
缺点:
程序诊断困难
不利于程序的可再入性
不利于重叠和流水
存储结构的发展 :
相联存储器
相联处理机
通用寄存器
Cache
并行处理技术 :
指令内部的并行
指令级并行
线程并行
任务级并行
作业级或程序级并行
处理数据角度:字串位串、字串位并、字并位串、全并行
指令集的发展 :
指令集功能
指令的寻址空间及寻址方式
RISC和CISC
提高并行的途径 :
时间重叠
资源重复
资源共享:最低耦合、松耦合、紧密耦合
参考资料
《计算机组成与系统结构(第二版)》袁春风主编