0%

计算机组成原理

一、绪论

特别需要注意的是,计算机组成知识绝大多数是“特例性质”的,而不是“通用性质”的,不过基于“日常,概念入门,抓住主要矛盾,触类旁通”的角度来看,“特例性质”的计算机组成知识已经足够。
什么是“特例性质”的知识?只在特定背景下才成立的知识。计算机组成千变万化,它可以具有不同的硬件架构(比如“CPU有冯诺依曼架构和哈佛架构之分”),不同的部件组合,不同的连接设施,不同的指令集等。因此,很多知识只在特定的“计算机组成”背景下才成立,比如“很多处理器相关的知识是在X86处理器下才成立的”,“LOCK前缀指令不是在所有计算机上都存在的”。

二、计算机组成

计算机由5部分构成:控制器,运算器,存储设备,输入设备和输出设备。
而现代CPU包含了“控制器”和“运算器”,因此“控制器”和“运算器”归在一起介绍;另外有些设备既是输入设备,也是输出设备,因此“输入设备”和“输出设备”也归在一起介绍。

三、字长

对于“字长”,类似于“总线”,只需要知道这个概念的大致含义,深究并不会带来太大价值。

常见的“字长”分类是:机器字长,指令字长,存储字长。

机器字长:CPU内运算器在一个时钟周期内最多能运算的二进制位数。
指令字长:一个指令字包含的二进制位数。
存储字长:一个存储单元包含的二进制位数。

四、32位和64位

在计算机范畴中,常听到32位和64位的概念,那么它们是什么含义呢?其实只有明确了32位和64位所修饰的名词,才能确定具体含义。常被修饰的名词有:CPU,操作系统和计算机整体架构。

4.1、CPU

32位:CPU内通用寄存器位宽可寻址内存范围机器字长都为32位。
64位:CPU内通用寄存器位宽可寻址内存范围机器字长都为64位,可能兼容32位,也可能不兼容32位。

4.2、操作系统

32位操作系统支持32位CPU;64位操作系统支持64位CPU,可能兼容32位CPU,也可能不兼容32位CPU。

4.3、一个计算机整体的架构是32位还是64位

一个计算机整体的架构是32位还是64位主要由CPU决定:

  • 当是32位CPU时,其他硬件组件(比如内存,总线等)和软件(操作系统,应用程序)都只能支持32位,因此该计算机整体的架构是32位的
  • 当是64位CPU时,当该CPU兼容32位且其他硬件组件(比如内存,总线等)和软件(操作系统,应用程序)都仍只支持32位,该计算机整体的架构是32位的;当其他硬件组件(比如内存,总线等)和软件(操作系统,应用程序)都支持64位,该计算机整体的架构是64位的

参考文献

[1]https://baike.baidu.com/item/64%E4%BD%8D%E5%A4%84%E7%90%86%E5%99%A8
[2]https://baike.baidu.com/item/64%E4%BD%8D%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F
[3]https://www.zhihu.com/question/20536161

您的支持将鼓励我继续分享!