[转帖]电脑硬件入门——基础之计算机架构

电脑硬件,入门,基础,计算机,架构 · 浏览次数 : 0

小编点评

文章介绍了冯·诺依曼架构、哈佛架构和改进型哈佛架构三种计算机架构的知识。 **冯·诺依曼架构** * 输入设备数据直接写入内存中。 * 运算单元进行计算,并将结果写入内存中。 * 输出设备数据从内存中读取。 **哈佛架构** * 指令和数据内存分别存储指令和数据。 * 指令内存中的指令被存储在指令缓存中。 * 数据内存中的数据被存储在数据缓存中。 * 运算单元直接访问内存中的指令和数据。 **改进型哈佛架构** * 将指令和数据内存合并在一起。 * 使用一级缓存来存放指令和数据。 * 使用二级缓存来存储计算结果。 * 使用三级缓存来存储内存中的数据。

正文

https://zhuanlan.zhihu.com/p/63322067

 

谈电脑硬件的文章很多,但一般是从电脑有哪些配件说起。这篇文章我尝试从架构方面来阐述,希望更有助于萌新对电脑的各种配件的作用进行理解吧。

 

1、冯·诺依曼架构[1]

现代计算机,常见的有两种架构,其中一种是冯·诺依曼架构。先看图:

想象一下我们在做数学考试:

  1. 输入设备就是考卷,题目都在卷子上。同样的计算机要计算哪些数据,怎么计算,都来自于输入设备。
  2. 内存就是草稿纸,我们会把要计算的题目抄写到草稿纸上,用草稿纸记录计算的中间过程。同样的,计算机要把来自输入设备的数据,以及要怎么计算这些数据的指令,从输入设备载入到内存中,并且把每一步计算的结果写入到内存。
  3. 运算单元是计算器,我们用计算器来计算每一步的加减乘除。同样的,计算机有专用的运算单元,来计算数据。(假设这次数学考试允许带计算器)
  4. 控制单元就是我们自己了。我们根据试卷上的算式,来决定第一步是算乘法还是加法,乘法是哪两个数相乘,加法又是哪两个数相加。
  5. 输出设备就是答题卡。我们计算完一道题后,需要把草稿纸上的结果抄写在答题卡上。
  6. 其中,我们自己+计算器的组合,在计算机里面是同一个设备——CPU(Central Processing Unit,中央处理器)。

 

2、哈佛架构[2]

另一种计算机架构,是哈佛架构。先看图:

可以看出来,哈弗架构和冯·诺依曼架构最大的不同就是内存分为独立的指令内存和数据内存。这个怎么理解呢?我们换个例子,假设我们毕业了,现在的工作是一名会计。我们的工作是根据一份财务报表制作指南,对账本上的数字进行计算各种指标,制作财务报表。

 

哈弗架构中指令内存中存放的,就是这份制作指南,告诉我们财务报表上的每一个指标要怎么计算;数据内存中存放的,就是我们计算指标需要用到的账本上的数据。当我们计算报表上的某个指标的时候,如果我们发现手上的账本没有相关的数据,我们可以先根据指南计算报表上的其它指标,让其它同事帮忙去找相关的账本,不用停下来浪费时间。

 

所以,和冯·诺依曼架构相比,哈佛架构因为指令内存的读取和数据内存的读写分开,一定程度上可以保证指令的连续性,不会因为需要访问内存上的数据造成指令堵塞。

 

3、改进型哈佛架构[3]

那么我们现在的计算机,到底是那种呢?其实是这两种架构的混合体。对于一台计算机的整体来说,我们可以认为是冯·诺依曼架构,计算机中的内存是统一的,并没有明确分为指令内存还是数据内存。

 

但是现代计算机中,相对于CPU的速度来说,从内存读取数据和写入数据都很慢的,因此CPU内部有另外一种速度更快的存储介质来存放数据和指令,我们称之为缓存(Cache)。打个比方,存储在内存中的数据就是我们书包里面的书,在缓存中的数据就是放在桌面上的书。我们要看一本书,需要把书从书包里面拿出来,放到桌子上摊开才能看。但是桌子的大小是有限的,我们只能在桌上摊开两三本书,更多的书我们只能放到书包里面。现代计算机中缓存通常有多层,每一层都比下一层快,但比下一层可以存放的数据少。如下图:

在内存(Main Memory RAM)之上,有三层CPU内部缓存(Cache)

 

而CPU内部,控制单元和运算单元直接访问的缓存,我们称之为一级缓存(Level 1 Cache,L1 Cache)。现代CPU的一级缓存,都是分为一级指令缓存、一级数据缓存两部分,这个可以通过CPU-Z检测软件看出来。所以事实上我们可以认为现代计算机,其真正的架构是哈佛架构。

Intel i9-9900K的CPU-Z检测结果

从上图红框内容可以看到,Intel的i9-9900K,一共有8个核心,每个核心有32KB的一级数据缓存,32KB的一级指令缓存;每个核心有256KB的二级缓存,不再分为指令缓存还是数据缓存;整个CPU还有一层16MB的三级缓存。

 

这样的架构,称之为改进型哈佛架构。

 

4、丰富多样的输入/输出设备

前面提到的输入、输出设备有很多种具体的设备,最常见的输入设备有:

  • 键盘:我们通过键盘向计算输入各种指令和数据。
  • 鼠标:我们通过鼠标告诉计算机,在计算机显示出来的图像中,我们想对哪个元素进行什么样的操作。
  • 硬盘:计算机运行存储在硬盘上的各种程序,对存放在硬盘上的各种数据进行计算。
  • 网卡:我们可以直接执行来自于网上的程序,也可以直接对网上的数据进行计算。

除此之外,还有很多其它专用的输入设备,例如麦克风、摄像头、扫描仪、视频采集卡、各种传感器等等。

 

比较常见的输出设备有:

  • 显示器:计算机把处理结果显示出来给我们看。
  • 硬盘:我们把处理完毕的数据存放到硬盘上。
  • 网卡:我们把处理完毕的数据传到网上。
  • 打印机:把处理完毕的结果打印到纸上。

除此之外,还有其它专用的输出设备,例如音箱、各种控制器。

 

可以看到,上面的输入/输出设备中,像网卡、硬盘都是同时作为输出设备和输入设备存在的,而其它即使看上去是纯粹的输入设备,绝大部分都会需要接受CPU输出的控制指令、工作参数输入;纯粹的输出设备,也需要向CPU报告设备信息(例如设备类型、型号,工作状态等),所以统称为IO设备(Input/Output Devices)或者输入输出设备。

 

5、其它配件

除了上面提到的CPU、内存和IO设备外,一台完整的计算机,还需要:

  • 主板:把上面这些部件连接在一起,让它们可以协同工作。当然,现代主板上面还有很多功能,例如集成网卡/声卡等等。
  • 电源:给所有这些部件提供电力。
  • 散热器:给发热较大的部件(例如CPU、高性能显卡)散热。
  • 机箱:用于固定安装所有的上述部件的外壳。

 

题图为约翰·冯·诺依曼,来源:[4]


  • 更细节的电脑知识,我会在后续的文章中介绍,请保持关注。
  • 如果你觉得这篇文章对你有帮助,请点赞支持让更多人看到。
  • 如果看完觉得有问题的话,请评论留言指正。

与[转帖]电脑硬件入门——基础之计算机架构相似的内容:

[转帖]电脑硬件入门——基础之计算机架构

https://zhuanlan.zhihu.com/p/63322067 谈电脑硬件的文章很多,但一般是从电脑有哪些配件说起。这篇文章我尝试从架构方面来阐述,希望更有助于萌新对电脑的各种配件的作用进行理解吧。 1、冯·诺依曼架构[1] 现代计算机,常见的有两种架构,其中一种是冯·诺依曼架构。先看图

[转帖]电脑硬件入门——基础之CPU架构解读

https://zhuanlan.zhihu.com/p/65840506 前言 上一篇文章我们从整体上介绍了电脑的各个部件以及功能,CPU可以说是整台电脑中最核心的部件。这篇文章里面,给大家介绍一下CPU里面都有什么。 我们家里用的电脑,CPU只有两家厂商在生产:Intel和AMD。每家厂商都提供

[转帖]从零开始学nginx

1. nginx简介 nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。 nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。 第

[转帖]Jmeter性能测试:高并发分布式性能测试

一、为什么要进行分布式性能测试 当进行高并发性能测试的时候,受限于Jmeter工具本身和电脑硬件的原因,无法满足我们对大并发性能测试的要求。基于这种场景下,我们就需要采用分布式的方式来实现我们高并发的性能测试要求。 二、分布式性能测试原理 要进行分布式性能测试,我们首先要先一台机器作为主控机(Con

[转帖]一代更比一代强!一文带你回顾DDR内存的前世今生

根据冯诺·依曼结构,计算机中要有存储器。所以直到今天,内存和硬盘仍然在电脑中占有非常重要的地位。与大容量的硬盘不同,内存在存取速度上有着非常惊人的表现,但是断电后又不能保存存入的信息。因此在电脑硬件长期的发展过程中,内存一直扮演着中转站的角色。和其他硬件一样,内存遵循着摩根定律,从最远古的SIMM到

[转帖]电脑技巧:磁盘空间分析工具SpaceSniffer介绍

https://zhuanlan.zhihu.com/p/568310893 今天继续给大家分享一款磁盘空间分析工具SpaceSniffer,有需要下载地址可以私信小编获取。 1、简介 SpaceSniffer是由Uderzo公司研发的一款磁盘空间分析软件,安装包体积也只有2.3MB。 功能:主要是

[转帖]电脑小白必读的CPU基础知识大全,CPU知识科普最新全面讲解

http://www.lotpc.com/yjzs/9374.html 对于电脑来说,CPU是最核心的硬件之一,相当于人体的大脑,它决定着一台电脑的运算速度,无论是台式机还是笔记本,CPU的选购至关重要。相信大家对CPU还不是很了解,下面装机之家分享一下CPU知识科普最新全面讲解,想要学习CPU知识

[转帖]40年前电脑、芯片、光刻机,美国第一,中国第二

https://www.mzfxw.com/e/action/ShowInfo.php?classid=12&id=111592 如果讲毛主席时代中国在电脑、芯片等技术产品很厉害,年轻人绝不会相信,说这不可能。 可这是事实,老徐(微信公众号:手抄报)就找到这些资料,有图有真相。 两个年轻人不记得的人

[转帖]MESI协议:如何让多核CPU的高速缓存保持一致

你平时用的电脑,应该都是多核的 CPU。多核 CPU 有很多好处,其中最重要的一个就是,它使得我们在不能提升 CPU 的主频之后,找到了另一种提升 CPU 吞吐率的办法。 不知道上一讲的内容你还记得多少?上一节,我们讲到,多核 CPU 里的每一个 CPU 核,都有独立的属于自己的 L1 Cache

[转帖]win10多网卡指定ip走某个网卡的方案

https://zhuanlan.zhihu.com/p/571614314 我的电脑上有两个网卡,一个网卡A(网线),一个是网卡B(WIFI)。 需求:网卡A和网卡B是不同的网络,网卡A已经把3389端口屏蔽了,网卡B能访问3389端口。 我们需要使用网卡B访问特定3389端口的IP地址,网卡A访