计算机系统结构课程总结(导论)

冯诺依曼机特点

早期:存储程序、运算器为中心、集中控制。
现代:存储程序、存储器为中心,总线结构、分散控制。

器件发展

电子管->晶体管->小规模集成电路(SSI)->大规模集成电路(LSI)->超大规模集成电路(VLSI)。

器件划分

(1)非用户片:功能由制造厂商生产时确定。如逻辑类的门、触发器、寄存器、计数器、加法器;存储类的ROM。
(2)现场片:用户可在机器组装现场设定内容。如PROM、EPROM、FPLA。
(2.5)半用户片:用户可根据自己需求烧结成用户片,如PAL、GAL。
(3)用户片:完全按用户要求定制。

以上从上到下,生产性价比变大、设计成本变高。

提高机器速度的两大因素

(1)提高主频,(2)改进系统结构。主要是(2)的效应好。

计算机应用

数据处理、信息处理、知识处理、智能处理。

计算机系统功能模型层级

(0)硬联逻辑
(1)微程序控制(微指令由硬件直接执行)
(2)机器指令系统
(3)操作系统
(4)汇编程序
(5)高级语言编译或解释程序
(6)应用程序
(7)应用系统算法和数学模型

透明性

A对B透明,即B感觉不到A的存在。

不妨分个级,越往底层不透明的东西越多。画张图记录一下规则:
这里写图片描述
表格中绿色位置的事物,对蓝色位置的人员都不透明,对橙色位置的人员都透明。下面是具体表格:

人员类别 从该类人员,包括该人员及以下就已经不透明的东西
应用程序员 -
高级语言程序员 -
汇编语言程序员 数据表示、运算指令、通用寄存器、条件码、中断字
机器语言程序员
系统程序员 存储器容量、总线宽度、微程序、虚存
硬件设计和高级维修人员 主存地址寄存器、指令缓冲寄存器、cache、数据通路

计算机系统结构定义

对机器语言计算机的软、硬件功能分配和对界面的定义。

由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。

  • 机器工作状态
  • 信息保护
  • 数据

计算机组成

计算机组成:计算机系统结构的逻辑实现。

  • 确定数据通路的宽度
  • 确定各种操作对功能部件的共享程度
  • 确定专用的功能部件
  • 确定功能部件的并行度
  • 设计缓冲和排队策略
  • 设计控制机构
  • 确定采用何种可靠性技术

计算机实现

计算机实现:计算机系统结构的物理实现。

  • 处理机、主存储器等部件的物理结构
  • 芯片的集成度和速度
  • 专用芯片的设计
  • 器件、模块、插件、底板的划分与连接
  • 信号传输技术
  • 电源、冷却及装配技术,制造工艺及技术等

系列机

具有相同的系统结构,但组成和实现技术不同的一系列计算机。

软件的”上下”兼容和”前后”兼容

向上兼容(尽量):低档机器的机器语言级程序不加修饰运行在高档机器。
向下兼容:高档机器的机器语言级程序不加修饰运行在低档机器。
向后兼容(必须):系列机内,旧上市的机器的机器语言级程序不加修饰运行在新上市的机器。
向前兼容:系列机内,新上市的机器的机器语言级程序不加修饰运行在旧上市的机器。

模拟和仿真

模拟:用机器语言程序(2层级)解释实现程序移植的方法。A上模拟B,则A为宿主机,B称虚拟机。
仿真:用微程序(1层级)去解释另一机器指令实现程序移植的方法。A上仿真B,则A为宿主机,B称目标机。

模拟慢但通用。适合运行时间短,使用次数少的程序。
仿真快但限制多。适合系统结构差距小,不需I/O和存储系统的机器间。

实现程序移植的主要途径

  • 统一高级语言
  • 模拟
  • 仿真
  • 系列机

软硬件取舍的价格因素

硬件单机上价格:

D H V + M H

软件单机上价格:
C × D S V + R × M H

计算机系统设计的定量原则

加快经常性事件的速度,即加速使用频率较高的事件的速度。

Amdahl定律

系统中某部件速度加快后,整个系统性能的提高与其使用频率和占总执行事件的比例有关。我认为Amdahl定律非常片面,但是用在考察程序的执行速度上却非常合适。

一些需要知道的量:

( ) S n = 1

F e = < 1

S e = > 1

改进后整个任务执行时间 T n =
T o [ ( 1 F e ) + F e S e ]

改进前后整个系统的加速比 S n =
T o T n = 1 ( 1 F e ) + F e S e

CPU性能公式

C P I = C P U I c

若多种CPU指令的CPI各自是 C P I i ,相应的指令条数各自是 I i ,则CPU时间=:
C P U × T = i = 1 n ( C P I i I i ) T

反过来,用指令的比例为 C P I i 加权可以计算平均时钟周期数:
C P I = i = 1 n ( C P I i I i I C )

指令执行速度

引入每条指令所需的平均时钟周期数CPI的倒数——每个时钟周期平均能执行的指令数IPC。

则可以用 I P S M I P S G I P S T I P S 表达指令执行速度,即每秒能执行的指令数,第一位数字仅仅代表单位,显然:

I P S = f I P C

计算机系统的设计基准点

自上而下:适合专用计算机的设计。
这里写图片描述
自下而上:完全是早期计算机的设计。
这里写图片描述
从中间向上下(目前比较好的方法):
这里写图片描述

Flynn分类法(计算机系统结构分类)

指令流:机器执行的指令序列。
数据流:由指令调用的数据序列。
多倍性:在系统受限的部件上,同时处于统一执行阶段的指令或数据的最大个数。

(1)单指令流单数据流(SISD):指令部件一次只对一条指令进行译码,并且只对一个执行部件分配数据。
SISD如IBM360。

(2)单指令流多数据流(SIMD):所有处理单元PU接受从控制部件CU传来的同一条指令,但操作对象却是不同数据流的数据组。
SIMD如并行处理机(阵列处理机)、相联处理机。

(3)多指令流单数据流(MISD):每个PU接收不同的指令,往往来自不同CU,操作的却是同一个数据流及其派生数据流,每个处理器的输出结果是下一处理器的输入。目前没有实际机器是MISD的。

(4)多指令流多数据流(MIMD):n个处理机之间相互作用,所有数据流均来源于由全体处理机共享的一个数据空间(紧密耦合),也可以来源于共享存储器的不相邻子空间(松散耦合,或称MSISD)。
紧密耦合MIMD如IBM3081/3084,松散耦合MIMD如D-825,Cmmp,CRAY-2。

最大并行度

最大并行度:计算机系统在单位时间内理应能处理的最大的二进制位数。

P m = n × m

平均并行度

平均并行度:对多个时钟周期内能处理的二进制位数 P i 的观测。

P a = i = 1 T P i T

平均利用率

平均利用率:因为 P m 是理论上的, P a 是测出来的,这个值实际上就是反映了现实于理论的比例。

μ = P a P m

猜你喜欢

转载自blog.csdn.net/shu15121856/article/details/80598999