许式伟的架构课
许式伟
七牛云 CEO
84945 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 89 讲
许式伟的架构课
15
15
1.0x
00:00/00:00
登录|注册

02 | 大厦基石:无生有,有生万物

解决一切可以用“计算”来解决的问题
信息科技的地基
应用程序大厦的地基
规格约束条件
零部件接口
零部件规格
零部件作用
Go 语言模拟实现冯·诺依曼架构体系的电脑
电脑的构成
冯·诺依曼引入的基础零部件
冯·诺依曼体系结构的不凡之处
用户交互方式的多样性
变化点的处理
电脑的核心能力
需求分析
输入输出设备的扩展能力
输入输出设备的需求
中央处理器的指令集
存储的作用
设计电脑的核心能力
输入输出设备
存储
中央处理器
冯·诺依曼体系结构
规格
需求
结语
架构思维上我们学习到什么?
需求是怎么被满足的?
冯·诺依曼体系的规格
为“解决一切的问题”而生
解剖架构的关键点
冯·诺依曼体系结构

该思维导图由 AI 生成,仅供参考

你好,我是七牛云许式伟。
在上一讲中,我们把“构建一个应用程序”类比成“构建一座大厦”,并从宏观全局的视角剖析了应用程序这座大厦的构成。今天,我们将更加近距离地去解剖这座大厦的地基:冯·诺依曼体系结构。

解剖架构的关键点是什么?

在解剖之前,我想和你先谈谈“解剖学”:我们应该如何去分析架构设计中涉及的每一个零部件。换一句话说,当我们设计或分析一个零部件时,我们会关心哪些问题。
第一个问题,是需求。这个零部件的作用是什么?它能被用来做哪些事情?(某种意义上来说更重要的是)它不会被用来做哪些事情?
你可能会说,呀,这个问题很简单,既然我设计了这个零部件,自然知道它是用来干嘛的。但实质上这里真正艰难的是“为什么”:为何这个零件被设计成用来干这些事情的,而不是多干一点事情,或者为什么不是少干某些事情?
第二个问题,是规格。这个零部件接口是什么样的?它如何与其他零件连接在一起的?
规格是零部件的连接需求的抽象。符合规格的零部件可以有非常多种可能的实现方案,但是,一旦规格中某个条件不能满足了,它就无法正常完成与其他零件的连接,以达到预期的需求目标。
规格的约束条件会非常多样化,可能是外观(比如形状和颜色),可能是交互方式(比如用键盘、鼠标,或者语音和触摸屏),也可能是质量(比如硬度、耐热性等等)。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了冯·诺依曼体系结构在计算机科学领域的重要性和广泛应用。首先,文章从解剖学的角度分析了架构设计中的关键问题,强调了需求和规格对零部件设计的重要性。随后,文章深入解析了冯·诺依曼体系结构的需求和规格,指出其追求解决一切可以用计算解决的问题,并探讨了其在人工智能领域的潜力。文章详细介绍了冯·诺依曼体系结构的三类基础零部件:中央处理器、存储和输入输出设备,强调了其简洁的规格设计如何满足复杂的需求。总的来说,本文通过对冯·诺依曼体系结构的解剖和规格设计进行深入剖析,展现了其在计算机科学领域的重要地位和广泛应用前景。文章通过对需求和规格的解析,展现了冯·诺依曼体系结构在信息科技领域的重要性和广泛应用。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《许式伟的架构课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(142)

  • 最新
  • 精选
  • 青石
    《倚天屠龙记》里有个很有意思的桥段,张三丰问了张无忌三次,第一次问:我刚刚演练的太极剑法你还记得多少呢?无忌答还记得一大半,过了一会儿张三丰又问:现在还记得多少呢?无忌答还记得一小半。再过了一会,张三丰又问:这次还记得多少呢?张无忌答全忘记了。张三丰神秘的一笑,说道:现在你可以和他们去打了。 前人的经验、个人的经历,就像武功招式,打法套路,关键时刻起着指导作用,但真正架构看的是内功心法,如何灵活运用,招式的拆分再组合,无招胜有招。 经历过拿锤子找钉子的困惑,现在更习惯放空自己,根据用户需求、业务痛点来设计,同时适度考虑部分扩展问题。 总结下来,觉得适度很重要,再合适的时间做适合的事情。

    作者回复: 很通透

    2019-04-20
    7
    102
  • crazier.huang
    如何来确定需求中哪些是稳定的?对架构角度,关注需求到什么层次吗?

    作者回复: 挺好的问题。需求分析的重要性怎么形容都不过分。准确的需求分析是做出良好架构设计的基础。很多优秀的架构师之所以换到一个新领域一上来并不一定能够设计出好的架构,往往需要经过几次迭代才趋于稳定,原因在于新领域的需求理解需要一个过程。除了心里对需求的反复推敲的严谨态度外,对客户反馈的尊重之心也至关重要。

    2019-04-19
    2
    35
  • kyushu
    需求分析:站的角度很重要。架构设计也一样,总是提高一个level去看待,才能不局限于当前。

    作者回复: 是的,架构设计切记见招拆招

    2019-04-19
    16
  • 燕羽阳
    推荐一本书《系统架构,复杂系统的产品设计与开发》 书中提到了 形式、功能和涌现等概念。 形式是物理组成,每个形式有自己的功能。这里对应文中的规格。 涌现是指系统整体展现的功能、性能等。应当是1+1>2。有点类似于解决文中的需求。

    作者回复: 多谢推荐

    2019-04-20
    15
  • 军舰
    在学校学习计算机原理的时候,感觉那么枯燥难懂,被老师以架构视角进行解读感觉超级简单,不过一下子还很难搞懂,接下来研究一下老师精心准备的代码,希望可以站在架构的角度搞懂一二。

    作者回复: 🤝

    2019-04-19
    14
  • 虫大侠
    道理不外乎如是, 从业一段时间的,基本可以明了其中的运转逻辑; 难点在于,对于业务的把控,有点像是中医的望闻问切一样,很难get到计算机科学的严谨性规律,可以一以贯之; 个人理解还是要踩坑, 经历过了, 思考过了之后, 有了切肤之痛之后形成的架构观; 觉得架构的技能, 有点过于依赖于经验的积累, 鲜少有速成的道路; 靠天分,靠一两句话, 抑或几篇课程, 能够让自己走上正途, 还是无法让自己做到游刃有余; 个人理解, 这还是一门复杂学科. [唉😔唉]

    作者回复: 架构无速成之路,一靠匠心,二靠悟心。所谓悟心,反复梳理脉络后之顿悟哉。

    2019-04-20
    2
    13
  • 阿辉
    以冯诺依曼架构为例子,引发架构思想。 架构思维上我们学习到什么? 架构的第一步是需求分析。从需求分析角度来说,关键要抓住需求的稳定点和变化点。需求的稳定点,往往是系统的核心价值点;而需求的变化点,则往往需要相应去做开放性设计。 这就话值得我们在架构时不断的思考。

    作者回复: 划重点

    2019-04-22
    2
    10
  • 划时代
    《程序员的自我修养》开篇也讲冯诺依曼体系,发现科班出身都喜欢讲。

    作者回复: 可惜我不是科班出身

    2019-04-24
    2
    8
  • 翅膀
    这是许老师想法的有损压缩,背后的事情n多。但能还原出来的估计没多少人。我是不行

    作者回复: 有趣的说法,我后面第一章总结也会提到这一点

    2019-04-22
    6
  • Geek_gooy
    需求的稳定点。 经分析,对设计电脑来说CPU是稳定的,所以CPU可以单独抽出来做产品,所以有inter,ibm。 那么存储呢,这也是一个稳定点,所以存储也可以单独抽出来做产品,所以你看辣么多卖存储的公司。 还有么?是不是外设也是一个稳定点,既然和CPU的数据交换都定死了,所以外设也可以单独抽出来做产品,你看辣么多做外设的公司。 那不稳定点是程序指令序列吗?这个需求对CPU来说也是稳定的,所以出现了辣么多软件开发公司。 那设计一个电脑不稳定点在哪里?显然已经没有了,因为我们把要计算的各类需求用一个稳定的程序指令序列来代替了。 所以是不是可以理解为,我们分析需求,目的就是把稳定点找出来,再把不稳定点转化成稳定点。

    作者回复: 稳定点和变化点是相对我们要设计的系统而言的。所以参考点很重要。一个系统的变化点可能是另一个系统的稳定点。

    2019-05-14
    4
收起评论
显示
设置
留言
99+
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部