解剖“冯·诺依曼体系结构”

第94篇

极客时间《许式伟的架构课》课程笔记。

解剖架构的关键点

解剖架构的关键点,就是如何分析架构设计中涉及的每一个零部件,即当设计或分析一个零部件时,更关心哪些问题。

1、需求

  • 零部件的作用是什么?
  • 能被用来做哪些事情?
  • 不会被用来做哪些事情?

2、规格

  • 规格是零部件的连接需求的抽象
  • 零部件的接口是什么样?
  • 如何与其他零件连接在一起?

冯·诺依曼体系的需求

  • 冯诺依曼体系结构是整个信息科技的地基
  • 它的需求是解决一切可以用“计算”来解决的问题
  • 计算终将解决智能的问题,只是不能确定什么时候达到

冯·诺依曼体系的规格

包含3类基础零部件:中央处理器、存储、输入输出设备

1、存储

  • 负责存放计算涉及的相关数据,作为计算的输入参数和输出结果
  • 存储可简单分为两类:一类是内置支持的存储,通过常规的处理器指令可直接访问。一类是外置存储,它们属于输入输出设备,中央处理器本身并不能直接读写其中的数据。
  • 冯诺依曼体系中涉及的“存储”,指的是前一类,即中央处理器内置支持的存储

2、输入输出设备

  • 计算机开放性的体现,可实现各类设备与中央处理器进行数据交换
  • 数据交换涉及的数据格式由设备定义,中央处理器并不理解
  • 设备数据交换的发起方(设备使用方)通常理解并可以解释所接收的数据含义
  • 设备厂商或操作系统厂商通常把设备数据交换的细节隐藏,只需要调用相关的接口函数就可以操作设备,这些接口参数就是设备相关的驱动程序

3、中央处理器

  • 负责程序(指令序列)的执行,指令序列存放在存储里面
  • 中央处理器支持的指令包括3类:计算类(数学运算)、I/O类(读写数据)、指令跳转类

满足需求的过程

  • 如何从零开始设计一个叫电脑的东西,目标是“解决一切可以用‘计算’来解决的问题”
  • 需求的变化点:要解决的问题是五花八门包罗万象的;需求的稳定点:电脑的核心能力,“计算”
  • 计算就是对一个数据(输入)进行变换,变为另一个数据(输出),在数学中我们把它叫“函数”,如y = F(x)
  • x、y 是数据,它们可能是一个或多个或简单或复杂的数值,物理上都可以以一段连续的字节内容来表达
  • x、y的物理位置如何表达?存储。就是存放计算所要操作的数据的所在
  • F如何表达?自定义函数。无论多复杂,函数都可以通过【内置函数+循环和条件分支+子函数】的组合实现。F物理上以指令序列方式存放在存储里面
  • 存储不只存放计算所需数据,也存放“计算”本身
  • 谁来理解并执行这些数据背后的计算行为?中央处理器(CPU)。它支持很多计算指令,包括执行内置函数、循环和条件分支、执行子函数等
  • 如何与现实世界进行交互?输入和输出。即定义好统一数据交换协议的各类设备
  • 输入输出设备不仅仅可以交互,还显著提升电脑处理的数据体量,并且提供了无限可能的扩展能力
  • 电脑= 中央处理器 + 存储 + 一系列的输入输出设备
电脑

架构思维总结

  • 架构第一步是需求分析,抓住需求的稳定点和变化点
  • 需求的稳定点,往往是系统的核心价值点
  • 需求的变化点,则往往需要相应去做开放性设计
  • 对于“电脑”,需求的稳定点是电脑的“计算”能力。需求的变化点,一是用户“计算”需求的多样性,二是用户交互方式的多样性

你可能感兴趣的:(解剖“冯·诺依曼体系结构”)