计算机硬件入门系列(一)——计算机的物理构成

内核开发
6 1310


  作为一个计算机爱好者,往往对计算机是如何跑起来的很感兴趣。

  但是,计算机相关专业出身的同学在“正统”的计算机课程里学到的计算机体系知识(比如: 计算机组成原理),更多的是深入分析CPU的工作原理(译码等等),而不是如何把CPU用好。

  以至于作为一个程序员,对如何才能把“计算机”的硬件资源榨取干净,反而是懵懵懂懂。大学本科4年下来,大部分科班出身的同学都是懵懵懂懂!

  我希望把我自己的一些学习心得记录下来。一方面做知识总结、查漏补缺,另外一方面希望能对计算机感兴趣,但又百思不解的同学有所帮助。

  在做知识记录之前,我先强调以下几点:

    1,把计算机用熟练的第一步是弄清楚计算机是由哪几个部件构成的。

    2,把计算机用熟练的第二步是弄清楚计算机各个部件之间是通过什么方式来进行通信交互的(计算机拆分成各个部件就成了芯片、芯片和芯片之间交互叫芯片通信)。

    3,把计算机用熟练的第三步是弄清楚计算机各芯片的接口编程通用方法(cpu、sdram、内存控制器、nor flash等等芯片,每个芯片都有自己的控制接口)。


   计算机是由哪几个部件构成的?

  《计算机导论》里讲到“计算机由5个部分组成: 控制器,运算器,存储器,输入设备,输出设备。”

  这话是绝对正确的!

  但是,它对于我们要把计算机用熟练的目标,基本上是零帮助......

  全天下计算机科班出生的同学都知道计算机由5大部分组成,只是,这5大部分是一个逻辑概念!而我们用的却是物理设备!

  把逻辑概念背得再熟练,动手的时候,碰到的却是物理设备。嗝屁了!

  那么,从物理设备的角度来看,计算机是怎么构成的呢?

  我们分两种常见的平台来说:

  第一种平台——x86: 80x86的cpu、主板芯片组、主板插槽、ROM BIOS、硬盘、RAM主存

  x86 CPU: 比较常见,大家都很熟悉。最常见的是intel的cpu。

  主板芯片组: 大家修电脑的时候,维修人员常说的南桥、北桥就是“主板芯片组”,《计算机组成原理》里的总线就是在主板芯片组里面。注意,主板芯片组一般是CPU厂商生产的,比如intel生产的。但是,一般他们不直接生产主板,而是把芯片组卖给主板厂商,主板厂商去做生产(比如:技嘉、华硕),然后售卖。

  主板插槽: 主板为了能和其他的芯片通信,需要“用电线把各个芯片的引脚连通”,这些电线就是通过主板插槽连通的。

  ROM BIOS: 计算机启动的时候,有boot代码需要执行,这些代码都存储在ROM BIOS里面。没有BIOS计算机就无法启动。

  硬盘: CPU通过总线从ROM BIOS获取到机器指令后,会做硬件初始化(最基本的包括主存控制器初始化),初始化完毕后,会把硬盘的第一个block读取进RAM主存里去。

  主存RAM: 当计算机初始化完成以后,主存RAM就可以进行直接正常读写操作(包括数据和机器指令)。

  第二种平台——ARM

  ARM CPU: arm的cpu概念和x86的cpu大不相同!ARM的CPU是个soc,比如s3c2440是个soc,它不仅仅包含了我们普遍观念上的cpu(类似80x86 cpu),它还包含了其他本应该出现在“主板”上的芯片(类比x86平台的中断控制器、DMA控制器、硬盘控制器等等)。s3c2440的“真正CPU”是ARM920T核!

  主板芯片组: ARM的CPU本身就是集成了CPU核的一块“主板”!

  主板插槽: x86的平台是通用计算机,对外设需要能插拔,所以需要有插槽。arm平台是专有平台,是soc,不需要插拔,也就只有引脚,而没有插槽!

  BIOS: ARM平台对应的芯片叫做nor flash,功能与BIOS一样。

  硬盘: ARM平台对应的芯片叫做nand flash。

  主存RAM: ARM平台对应的芯片也叫做(SD)RAM。


  无论是通用PC,还是SOC,拥有以上物理部件后,就具备了一台计算机的正常功能。那么,问题来了,一台计算机的这6大功能部件,各个芯片是如何彼此配合,最终构建出美妙的计算机世界呢?

  请看下一篇文章——《计算机硬件入门系列(二)——计算机的物理芯片通信》


  • LMOS LMOS
    2018-03-16

    沙发

    0 回复
  • LMOS LMOS
    2018-03-16

    很好

    0 回复
  • yason.li yason.li
    2018-03-16

    由浅入深讲的通俗易懂,期待下一篇教程!

    0 回复
  • safeoy safeoy
    2018-03-17

    0 回复
  • yuan郭  yuan郭
    2018-03-29

    Good!

    0 回复
  • 莫尘       莫尘
    2018-03-30

    666

    0 回复