顶层设计:冯诺依曼结构=>计算机需要满足什么,具有一定的普适性。

image.png
第一台计算机:10进制
有反直觉的设计:2进制(最理想的进制是e
早期:组件之间用分散方式相连,现在主要用总线方式相连
冯诺伊曼最重要的思想:**存储程序(Stored-program) **
ABC计算机是硬件编程,而不是软件编程,所以是专用计算机,而非通用计算机,不具有存储功能。
冯诺依曼结构将数据和程序存放在一起,而哈弗结构将两者分开。有一些ARM(Cortex-M系列)是哈佛结构,而另一些ARM(Cortex-A)是冯诺依曼结构


image.png
关键概念:

  • 指令和数据存储在单个读写存储器中
  • 主存中的内容按位置访问,无需考虑其中包含的类型
  • CPU从一条指令到下一条指令以顺序方式执行(除非明确修改)
  • 与CPU和内存交换从外部来源收集的数据
  • 总线是连接两个或多个设备的通信通路

不成比例扩展效应:计算机各个部分的发展是不同步的。目前CPU的发展速度远远快于存储,会出现速度匹配不一致的影响

CPU

相关概念

中央处理单元/中央处理器 定义:获取并执行指令的计算机组成部分。由一个ALU、一个控制单元和多个寄存器构成。
处理器 processor:含有一个或者多个内核的物理硅片。处理器是计算机组件,用于解释和执行指令。如果一个处理器包含多个内核,则称之为多核处理器 (此处定义并不精准)
随着时代的发展,CPU的大小几乎不变,晶体管的数量一直增加,但是有一个物理极限。每个晶体管都可以看成一个开关,传输和开关都需要时间
无限增大CPU的面积=>面积增大,代表着
互连延迟
增大。一个时钟周期需要大于最大互联延迟


  1. 传递速度不能达到光速
  2. 未考虑开关消耗的时间
  3. 随着面积的增加,性能相应的增加变弱了,成本显著增加了

CPU相关问题

问题1:CPU的频率不能无限提高

  • 理论限制
  1. MOS管开关、脉冲通过门电路需要时间
  2. 为了信号同步,每个脉冲信号需要持续一定的时间
  • 制造限制
  1. 芯片面积越来越大,导致连线延迟越来越大,需要保证信号在设计指定时钟周期内从芯片的一角到达另一角
  2. 频率越高(即MOS管的开关频率也越高)会导致开关(电能状态变化)损耗也越高,CPU耗电和散热会提高。Mac book air(无风扇,CPU频率低)<Mac boor pro(有风扇)

必须在其他条件限制下,才能说频率越高性能越好
解决方法:改进CPU芯片结构+领域定制,面向特定领域开发芯片
晶体管数量的增加为更先进、更复杂的体系结构提供了基础

问题2:内存墙的存在

主存和CPU之间传输数据的速度跟不上CPU的速度

image.png
对于CPU:希望速度变快
对于内存:希望存储空间变大
解决方法:采用高速缓存(Cache)— 和缓存进行交互,

  1. 增加一级或多级缓存,以减少存储器访问频率并提高数据传输速率
  2. 增大总线的数据宽度,来增加每次所能取出的位数

问题:怎么能保证数据总在缓存中呢?

问题3:CPU等待I/O传输数据

CPU在等待I/O设备时保持空闲
解决方法:采用中断机制
中断:

image.png


image.png

多重中断:

  1. 多个中断处理顺序排列(无优先级)
  2. 多个中断处理嵌套排列(有优先级)

最大差异:优先级的概念

存储器

image.png

CPU中的存储器

image.png

问题

兼容存储容量、速度和成本

约束:

  1. 容量:越大越好
  2. 速度:跟上处理器
  3. 成本:相对于其他组件合理,难以做到又大又快

约束之间的关系:更短的访问时间,更高的每比特成本
解决:层次式存储结构

image.png

从上往下:

  • 数量越来越大
  • 速度越来越慢
  • 离CPU越来越远

主板外存储器 -> I/O设备(外围设备,类似于鼠标、键盘)
CD:光驱读取
离线存储器:磁带(纪录片拍摄曾用)
需求

  • 大容量数据存储
  • 高速性能

解决方案:使用存储器层次结构而不是依赖单个存储器组件

I/O模块

与CPU和内存交换从外部来源收集的数据
I/O设备不是I/O模块

问题:I/O设备传输速率差异大

image.png

  1. CPU和内存速度不匹配:Cache -> CPU必须直接和内存交换
  2. CPU和I/O设备:采用中断机制 -> CPU可以和内存交换

解决:

  1. 设立缓冲区,实现不同设备上速度的统一
  2. 新的接口技术
  3. 不同的I/O操作技术

总线

两大基本特征:

  1. 共享:多个部件连接在同一组总线上
  2. 分时:同一时刻,总线上只能传输一个部件发送的信息

image.png

问题:计算机部件互连复杂

解决:采用总线

image.png

总结

image.png