视频:
如果本次课程对应的 Coursera 的视频打不开,可以点击下面链接
P1W5U5.1 - Von Neumann Architecture
之前提到了图灵关于 通用图灵机 的理论,后来被冯诺依曼具体实现了。
在我们的生活与工作中所使用到的计算机都是基于冯诺依曼结构实现的,冯诺依曼结构又称 冯诺依曼模型 或 普林斯顿结构(提出这个架构时,冯诺伊曼在普林斯顿研究院),它是一种将程序指令存储器和数据存储器合并在一起的计算机设计概念结构。
所以我们的HACK小电脑并不是这个结构,HACK是哈佛架构,数据 和 程序分开存储了,好处是在一个指令周期内,可以同时完成取数据和取程序。
冯诺依曼结构起源于EDVAC(Electronic Discrete Variable Automatic Computer)离散变量自动电子计算机。
当时冯诺依曼以技术顾问的身份加入ENIAC项目组,负责总结和详细说明ENIAC的逻辑设计,直到1945年6月发表了一份长达101页的报告,这就是计算机史上著名的"101页报告",该报告明确规定用 二进制 替代十进制运算,并将计算机分成五大组件,,提出了 存储程序 的计算机结构,并开始了存储程序控制的计算机EDVAC的研制,这一卓越的思想为电子计算机的逻辑结构设计奠定了基础,已成为计算机设计的基本原则。
本周将用之前3周的逻辑单元,完成Hack小电脑。
回顾:存储(Memory)里有 程序(Program)和 数据(Data),CPU里的灰色是ALU,也会有A、D、M寄存器,两边是输入(Input)输出(Output)
提取核心的 存储 (程序、数据)和 CPU(ALU,寄存器)
如下图,增加了之前没太提过的Bus总线的一个大致连接图。
控制、地址、数据,接下来老师大概讲解,后面的课程会详细说明。
如果还记得U2.4课的ALU,有两个数据输入和一个数据输出。
下图两条相对细的绿色的数据总线就代表了它们。
但是输入ALU的数据该执行什么操作呢?
由控制总线来决定执行什么操作,如果还记得U2.4课的ALU,有6条输入控制和2条输出标志位。(U5.5的作业提示里就给我们留下控制点位来自己实现。)
下图两条相对细的蓝色的数据总线就代表了它们。
除了ALU 会和 数据总线连接,在CPU里,还有寄存器也需要连接数据总线,例如D寄存器。
那么在CPU里,还有一种A寄存器,它因为会存其它寄存器的地址,所以地址总线也要和这个A寄存器连接,如下图
那么存储,如果拆开的话,也分数据区 和 程序区
如下图:数据区
数据的读取需要 地址 和 数据(“读”由CPU的instrution(输入)决定是否读某个寄存器,CPU的inM(输入)送入数据。“写”由CPU的writeM(输出)控制是否写某个寄存器,将在之后的小节里具体描述)
存储里的 程序区,这里提到了需要控制总线。
本节课,大致介绍了一下总线。
后面的课程会详细说明。