计算机体系结构的基本概念


1.1.1 冯.诺依曼计算机

存储器,运算器,控制器,输入输出。
控制器:根据程序指令序列,分解成对计算机四个部分的控制信号序列。
Transcation(事务)的特性:原子性,一致性,独立性,持续性。
ACID:Atom,Consistence,Isolation,Duration。
运算器为中心;指令和数据放在同一个存储器中。
存储器按地址访问,线性编址。
程序计数器计算执行的指令数量。
存储程序,程序控制
瓶颈:1.CPU和存储器速度不匹配(带宽平衡),指令串行执行(数据:向量化,程序:提高并行性)。
地址映射限制了数据结构的复杂性和存储。
改进:总线。。。
非冯诺依曼计算机:传统的指令驱动>>数据驱动,数据流计算机。

1.1.2 计算机体系结构

定义1:程序员看到的计算机的属性。这里的属性是指计算机的一种解释方式或者一个方面,例如汇编语言属性,高级语言属性。
定义2:经典计算机体系结构指的是计算机系统软硬件界面的确定,也就是指令系统的设计。
分为计算机指令系统,计算机组成、计算机硬件。

计算机指令系统

程序员可见的指令系统,软硬件之间的分界面。程序员看到的计算机系统的抽象,指令、寄存器等等。

计算机组成/微体系结构

功能部件和连接的设计,以及如何通过部件的协作实现指令系统的正常运转。

计算机硬件

计算机最底层的实现技术,包括逻辑电路设计、集成电路工艺、封装等等。

1.1.3 计算机系统的层次概念

应用语言虚拟机
高级语言虚拟机
汇编语言虚拟机
操作系统虚拟机
软件与硬件的分界
机器语言 固件
微程序机器 硬件
软件实现的机器叫虚拟机。

*从计算机语言的角度看待计算机系统的分级

第一级:微程序级

机器语言:微指令集,用于描述计算机每一条指令的功能。
一般由硬件解释实现。

第二级:传统机器级

机器语言?指令集。编写的指令由微程序解释。

第三级:操作系统虚拟机

管理软硬件资源,是传统机器的扩展(具有特殊的数据结构,例如稳健结构和文件管理、存储系统、多道程序处理、设备管理)。自身的扩展结构与操作和指令集一起提供给更高层次的虚拟机,称为系统调用。

第四级:汇编语言虚拟机

汇编语言写的,翻译成23级语言,机器执行。
第四级一般是用翻译执行的,前三集一般使用解释执行的。

第五级:高级语言虚拟机

翻译成3/4级语言执行。

第六级:应用程序虚拟机

为了特定目的而设计的,面向实际问题的。例如SQL,Perl,Python,一般由应用程序包翻译到第五级执行
按照计算机的层次结构,不同级程序员看到的计算机有不同的属性,也就是不同语言的特性。低层及其属性对高层程序员是透明的。

1.1.4 系统机与兼容

因为一种体系结构可以通过多种不同物理结构实现。

1.2 计算机体系结构的发展

五代计算机的体系结构技术
一代:存储程序计算机、程序控制IO
二代:浮点数据表示(先正规化表示后计算)、寻址技术、中断、IO处理机
三代:流水线、Cache、先行处理。计算机系列
四代:向量处理机(多媒体)、分布式存储
五代:指令级并行、SMP “对称多处理”(Symmetrical Multi-Processing) 、MP/MPP/计算机网络
体系结构的设计理念:合理增加硬件的功能比例,为软件提供更好地支持。
原则:量化原则,并行性高
提高计算机体系结构中的并行性等级。

重点:并行处理技术的发展

并行性:同一时间(并发性)///时刻(同时性)完成两件及以上的工作、

一个例子,对于浮点数运算指令,要先load地址到寄存器,然后去内存中去这两个数,最后cpu计算。

load 取数 计算
load 取数 计算
load 取数 计算

并行级别(从低到高): 指令内部并行,以微操作为调度单位,通过硬件实现。(非重点)
指令级并行:指令为调度单位。
线程级并行:457章,通常以线程为调度单位。
任务级/过程级并行:以子程序/进程为调度单位。
作业/程序级并行:与任务级并行类似。
单处理机的程序级并行由软件实现,多处理器的由硬件实现。

从处理数据角度判断并行级别,从低到高

字串位串,字串位并,字并位串,全并行。

Flynn分类法

单指令流单数据流,早期计算机
单指令流多数据流,阵列机和GPU图形处理器。
多指令流单数据流,不太现实
多指令流多数据流,不同的处理器在不同的数据上执行不同的命令,并行处理的常见模型。

延伸
按程序分类:单程序多数据流和多程序多数据流。
按线程分类:单线程多数据流和多线程多数据流。

存储器 操作并行:并行处理器
存储器 操作步骤并行:流水线处理器
处理器 操作并行:阵列处理器
指令任务作业并行:多处理器

按控制方式:
控制流方式:顺序
数据流方式
规约方式(驱动与数据流相反,无序执行)
匹配方式

提高并行性的技术途径

1.时间重复(时分复用),轮流用。
2.资源重复,重复设置资源,尤其是硬件,例如多处理机本身就是资源重复,单处理机也会用到。
3.资源共享。

同构多处理器,异构多处理器、分布式系统

同构多处理器:多台机器协同并行完成一个任务,紧密耦合,灵活可重构。浮动控制。
异构多处理器:多台机器协同串行完成一个任务,可紧可松耦合,专用网络,专用控制。
分布式系统:只有一台处理器本能完成任务时才会请求协作,分布控制。灵活通用。

量化设计的基本原则

1.大概率事件优先原则

赋予游戏安全和资源使用权给大概率事件。
大概率事件一般比小概率事件简单,普遍,更快完成。

一些补充

延时分支:分支语句需要判断,因此把可以在分支语句之前执行的拿到前面去执行,类似于代码优化。
对于多媒体向量处理,需要转换成数组来计算。
可以通过增加流水线来提高并行性,也可以使用专门的多媒体处理硬件和指令来把这个过程从cpu中移出。

2.Amdahl定律

总执行时间=(1-可改进比例)+(可改进比例 / 改进倍数)
改进倍数也叫部件加速比

3.局部性原理:时间和空间上的

程序趋于使用最近使用的数据或指令。
即将用的信息和目前的信息在空间上临近(C的结构体成员)。

4.性能公式

IC:执行过程中的指令数。
CPI:cycle per instruction,=总时钟周期个数 / IC
CPU的消耗时间 = CPI*IC / 时钟频率。
对于不同指令,CPI * IC等于各项之和。

1.4可靠性

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星辰的野望

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值