【计算机组成 课程笔记】1.2 冯·诺伊曼结构

这篇具有很好参考价值的文章主要介绍了【计算机组成 课程笔记】1.2 冯·诺伊曼结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

课程链接:

计算机组成_北京大学_中国大学MOOC(慕课)

1 - 2 - 102-冯·诺依曼结构的要点(13-'59--)_哔哩哔哩_bilibili

现代的计算机形态各异,但究其本质,几乎全部采用了冯·诺依曼结构。要了解计算机,首先要知道什么是冯·诺依曼结构。

1. 冯·诺依曼结构的要点

要说冯·诺依曼结构,就得从《关于EDVAC的报告草案》说起。这份报告论述了两个重要的思想:1. 存储程序(而不是开关连线),2. 二进制(而不是十进制)。这份报告还明确了计算机的五个部分:运算器,控制器,存储器,输入设备和输出设备。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

 2. 冯·诺依曼计算机的类比

知道了冯·诺依曼计算机的基本结构以后,我们可以做一个有趣的类比。把冯·诺依曼计算机看成是一个餐馆。厨房就是CPU,其中大厨就是控制器,而他做菜的工具-锅就相当于运算器。仓库则是存储器,里面存放了做菜所需的原料和任务单。这个类比中没有包含输入输出设备,这部分我们后面再探讨。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

注意,如果没有存储程序的概念,即任务单和原料不放在一起,任务单是由人来下达的,这样带来的问题就是,由于控制器和运算器运转很快,下达指令就会成为瓶颈,影响整体效率。

下面我们把计算机执行一条指令的过程来类比一下。计算机执行一条指令主要包含4个步骤:取指,译码,执行,回写。

1. 取指(Fetch):相当于厨师知道了下张任务单的存放位置,然后向仓库发起请求:我需要第1格的东西。仓库收到命令以后取出所需东西,给厨师送回去,这就是第一步-取指。

2. 译码(Decode):相当于厨师分析任务单,比如任务单上写了炒菜,原料放在仓库第6格,炒完以后给A号盘子(通用寄存器)

3. 执行(Execute):按照任务的不同步骤,进行执行

4. 回写(Write-back):将炒完的菜盛放到A号盘子里

3. 计算机结构的简化模型

通过餐馆的例子,我们形象地了解了冯·诺依曼计算机的基本结构和指令执行过程。通过这个餐馆的模型,我们几乎可以一一对应地构造出一个简化的计算机结构模型。首先看到有CPU和存储器两大部件,中间通过系统总线(控制总线,地址总线和数据总线)相连。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

存储器中包含了很多存储单元。存储单元的位宽由设计计算机时对存储器的编址方法确定,比如如果存储器按字节编址,则每个存储单元存放8位二进制数。另外,存储单元的地址是唯一的,不同存储单元地址互不相同。CPU要想访问某个存储单元,必须通过地址总线给出相应的地址,因此如果地址总线宽度为n,则CPU能管理的存储单元最多为2^n个。除了存储单元以后,存储器里还有MAR(Memory Address Register,存储器地址寄存器)和MDR(Memory Data Register,存储器数据寄存器),分别用于存放CPU正在读或写的存储单元的地址和数据。

再来看一下CPU。CPU中的控制器用于控制计算机各部件完成取指令,分析指令和执行指令等功能。主要组成部分包括IR(Instruction Register,指令寄存器),PC(Program Counter,程序计数器),MAR,MDR,指令译码部件,控制电路。IR存放“正在执行或即将执行的指令”,PC存放“下一条指令的存储单元地址”,具有自动增量计数功能。MAR在访存时用于存放“存储单元的地址”,和存储器上的MAR通过地址总线相连。MDR在访存时用于存放“对存储单元读或写的数据”,和存储器上的MDR通过数据总线相连。指令译码部件对IR中的指令进行译码,以确定IR中存放的是哪一条指令。当确定了是哪条指令之后,控制电路就可以产生对应的控制信号,在时序脉冲的同步下控制各个部件的动作。

CPU中的运算器用于算术运算和逻辑运算。核心部件ALU用于完成计算,X,Y,Z是ALU的数据暂存器,可视为ALU的一部分,F用于存放运算结果的状态(零/正负/进位/溢出)。R0~Rn-1是n个通用寄存器,用于临时存放数据,数据可以来自存储器,也可以来自于其他通用寄存器或ALU的输出。不同寄存器之间传递数据通过CPU的内部总线传递。

4. 计算机执行指令的过程

根据上述的计算机简化模型,我们再来重温一下计算机执行指令的过程。之前我们提到,计算机执行一条指令主要包含4个步骤:取指,译码,执行,回写。我们假设现在执行的指令是ADD R0, [6],表示把通用寄存器R0的内容和地址为6的存储单元的内容相加,运算结果更新到R0中。

1. 取指(Fetch):控制器发出控制信号,将PC寄存器中的内容通过内部总线传递到MAR中。MAR将存储的地址通过地址总线传到存储器的MAR中。与此同时,控制电路会在控制总线上发出相应的控制信号(READ)到存储器的控制逻辑单元,代表这次访问存储器的操作是要读数据。存储器通过地址译码器查找到对应存储单元的内容,并将此内容送到存储器的MDR。然后存储器的控制逻辑单元通过控制总线发送控制信号(READY)给CPU。同时MDR的数据通过数据总线送到CPU的MDR上。然后MDR中的内容通过内部总线传递到IR中。最后PC计数器更新为下一条指令所需要访问的地址。到此,取指阶段完成。

2. 译码(Decode):当前IR寄存器中的指令被送到指令译码器,译出这是一条“ADD R0, [6]”的指令)。这时发现其中一个操作数[6]还在存储器中,因此把要取的地址(0110)放到MAR中,随后的过程类似于第1步,取回来的数据放到MDR上。然后由于后面要进行ADD的操作,因此把两个操作数放到ALU的暂存器处,即R0的数据放到X,MDR的数据放到Y,这样计算所需的操作数就准备好了。

3. 执行(Execute):在控制电路的控制下,ALU就会进行运算,将X和Y的内容执行加法,结果写到Z。

4. 回写(Write-back):将运算结果写入到通用寄存器或存储器。对于这条指令是写到R0上,那么控制电路会给出控制信号,把Z的结果通过内部总线传递到R0上。

 5. 计算机的输入输出

前面的模型我们只讲到了运算器,控制器和存储器,本节我们引入另外两个部分:输入输出设备。毕竟如果没有输入输出设备,即使我们的cpu再强大,也没什么用。

现在我们考虑在模型机上加上输入输出设备,这里我们添加一个简化的输入输出设备——输入通过手动开关控制,输出通过小灯泡表示。这就是第一台微型计算机牛郎星8800所用到的输入输出设备。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

现在我们把这样的输入输出设备接到我们的模型机上。我们可以设想这是一个类似于存储器结构的输入输出芯片,它内部有2个存储单元,每个单元都有自己的地址。这里设定的地址是1110和1111,和存储器里的地址都不相同,因此可以相互区分。

那么这个输入输出设备是如何和计算机的其他部分交互的呢?和存储器类似,也是通过系统总线相连。下面我们通过输入,输出两个简单场景来理解这一过程。

输入的简单场景:CPU通过地址总线发送要读取的地址(1111),地址总线上会有简单的分流逻辑,判断当前访问的对象是输入输出设备而不是存储器。同时控制电路通过控制总线发送READ信号,表示此次操作为一个读操作。然后和之前的指令执行过程类似,1111地址的内容11100000通过MDR返回给数据总线。 

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

输出的简单场景:CPU通过地址总线发送要写入的地址(1110),同时控制电路通过控制总线发送WRITE信号,表示此次操作为一个写操作。然后11001100通过数据总线传送给输入输出设备的MDR,再写入到1110存储单元的位置。 

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

 6. 冯·诺依曼结构和具体实现

现在我们对冯·诺依曼结构已经非常熟悉了,包括五个部分: 运算器,控制器,存储器,输入设备和输出设备。 

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记那这样原理性的框图和现代计算机的具体实现是如何对应的呢?以个人计算机为例,CPU代表的是运算器CA和控制器CC,主存(也常称为内存条)代表存储器M。那么CPU是如何获取指令并开始执行的呢?这块主板上采用的是个人计算机上长期占据主导地位的南北桥结构。CPU对外连接的一块芯片叫做北桥,CPU想要访问主存,就得通过北桥芯片。但这里我们还要注意,计算机刚启动的时候,主存里面是没有信息的,因为当计算机断电之后,主存的信息都会丢失。那在系统启动之后,CPU从哪里获取指令呢?我们可以看到北桥下方还有一块比较大的芯片,它就是南桥,南桥内部集成了很多输入输出设备的控制器,其中包括BIOS芯片,这个芯片存储容量很小,会保存一段比较简单但是十分重要的程序,包括检查主板上有哪些设备(显卡,键盘等),是否工作正常,这颗芯片是一颗只读存储器,当系统断电之后,只读存储器中保存的信息是不会丢失的。所以当CPU启动后,CPU可以依次通过北桥,南桥来访问BIOS芯片,从里面取得指令。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

 整个南北桥的结构在现代计算机的演进中发生着快速的变化。下图和上图是同一个结构,图中红色的箭头代表传输压力大,为了减少性能瓶颈,南北桥的结构发生了一些演变。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

首先,北桥中的主存控制器被移到了CPU芯片当中,这样CPU就能直接访问主存而不需要通过北桥,这样可以大大提高数据的传输率,进而提升系统的性能。现在,显示的这条通道就成了下一个要解决的问题。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

因此在最新的个人计算机的CPU设计中,不仅包括了主存控制器,还包括PCIe控制器,可以直接连接显卡。这样北桥中最重要的部件都被集成到了CPU中,这样北桥就没有存在的必要了。将北桥中剩余的一些功能和南桥整合到一起之后,所谓南北桥的架构其实已经消失了,整个个人计算机的主板由3片式的架构缩减成了2片式。由于没有了北桥,南桥这个名字也显得有些奇怪了,所以它现在往往有一些不同的名字(如PCH)。现在CPU直接连接了主存和显卡,还与原先的南桥直接相连,这样就将原先通过主板的复杂的通路大多移到了芯片的内部,而芯片内部的数据传输率是远远高于主板的,这样就大大地提升了系统的性能。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

那既然从3片缩减成了2片,我们可不可以进一步缩减呢?其实已经有人这么做了。这就是系统芯片的概念。

系统芯片(System-on-a-Chip, SoC):将计算机或其他电子系统集成为单一芯片的集成电路。

【计算机组成 课程笔记】1.2 冯·诺伊曼结构,计算机系统,笔记

这是一个硬币大小的芯片,但在这一颗芯片内部集中了冯·诺依曼结构的所有组件。所以我们可以用这样的芯片制造出非常小巧的计算机。这种计算机只有手掌大小,但它的功能很完备,并拥有丰富的外部接口,与普通的计算机并没有什么差别。这样高集成度的优势就让系统芯片的技术广泛应用于智能手机/平板电脑等移动计算设备上。

那么原先计算机中那么多的芯片和板卡,为什么能够集中到越来越少的芯片当中呢?那就得说到一条著名的定律——摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。文章来源地址https://www.toymoban.com/news/detail-682136.html

到了这里,关于【计算机组成 课程笔记】1.2 冯·诺伊曼结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机组成原理课程论文:分布式存储系统组成和应用

    摘要 分布式存储系统是一种解决大规模数据处理和存储需求的重要技术。本文首先对分布式存储系统进行了概述,包括其定义、优缺点等。然后,详细介绍了分布式存储系统的组成部分,包括存储节点、数据管理软件、网络连接和元数据管理,并结合具体案例进行了说明。接

    2024年02月13日
    浏览(66)
  • 西南交通大学 计算机组成原理实验课程设计

     代码部分: 波形图部分: (上图Load为2节拍,我之前写错了。。。这里忘了改了)

    2024年02月13日
    浏览(49)
  • 笔记1.2 计算机网络结构

    网络边缘 主机、网络应用 接入网络,物理介质 有线或无线通信链路 网络核心(核心网络): 互联的路由器(或分组转发设备) 网络之网络 主机(端系统): 位于\\\"网络边缘\\\" 运行网络应用程序 客户/服务器(client/server)应用模型: 客户发送请求,接收服务器响应 如:we

    2024年02月07日
    浏览(41)
  • 计算机组成原理课程论文: Intel 80386/80486 的体系架构调研

    本文以Intel 80386/80486体系架构为研究对象,详细介绍了该体系架构的基本概念、特点和优势,分析了其在不同领域的应用情况,并对其未来的发展做出一定的展望和评价。 首先,我们介绍了研究背景和目的,阐述了Intel 80386/80486体系架构的重要性和应用领域,引出了本次调研

    2024年02月13日
    浏览(48)
  • 软考 - 计算机组成与体系笔记

    二进制转十进制(十进制以D表示) 从右往左,用二进制位上的数字乘以2的n次幂的和(n从0开始+1累加) 十进制转二进制(二进制以B表示) 十进制数不断除以2直至到0,得到的余数按从下而上的顺序排列得到的数值 二进制与八进制(八进制以O或Q表示) 二进制从右往左,每

    2024年02月09日
    浏览(41)
  • 计算机组成原理 期末复习笔记

    🌱博客主页:大寄一场. 😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注   目录 前言 第一章 计算机系统概论 计算机软件的发展  计算机硬件的基本组成 计算机系统的层次结构 ​编辑 计算机的性能指标 第二章 数据表示 与 第三章 数据运算与运算器 第四章 存储系统 存储

    2024年02月07日
    浏览(88)
  • 【计算机组成原理·笔记】总线控制

    总线上连接多个部件,为了解决: 什么时候由哪个部件发送信息 如何给信息传送定时 如何防止信息丢失 如何避免多个部件同时发送 如何规定接受信息的部件 等一些列问题,需要总线控制线进行统一管理,这就是总线控制,包括两个方面: 判优控制 通信控制 总线判优控制

    2024年02月07日
    浏览(53)
  • 【计算机组成原理·笔记】主存储器概述

    主存和 MDR 通过数据总线通信 CPU 向主存发出读/写指令 MAR 通过地址总线向主存发送读写的目标地址 存储单元的位置由 单元地址号 表示,具体要看机器的 存储字长 和 寻址方式 例:某机器的 字长为32位 ,那么代表每一个存储单元(对应一个字)存放32位个2进制数,也就是

    2024年02月07日
    浏览(76)
  • 计算机组成原理学习笔记-精简复习版

    计算机系统=硬件+软件 计算机硬件的发展: 第一代计算机:(使用电子管) 第二代计算机:(使用晶体管) 第三代计算机:(使用较小规模的集成电路) 第四代计算机:(使用较大规模的集成电路) 冯诺依曼体系结构 主机:主存、运算器、控制器 外部设备:外存、IO设备等 五大部分

    2024年02月11日
    浏览(44)
  • 计算机组成原理笔记(王道考研)(持续更新)

    本文是对王道计算机考研《计算机组成原理》课程的总结,主讲咸鱼学长讲的确实清晰。 王道考研《计算机组成原理》 由于我们学校已经开设过汇编和计算机体系结构,所以计组的笔记内容会比较精炼,高屋建瓴,不适合无基础人听。 如果有不理解的,可以回去看看我前面

    2024年02月08日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包