计算机体系架构之 Part One:计算机组成原理

由于博主最近要开始找国服工作了,所以在复习以往专业知识的同时,整理了一些关于计算机体系架构的知识点,希望能收获大家的大神“观战”。

  1. 计算机的工作流程:编写程序(例如你写的 C 代码)、输入程序(在你的 VS 中编写该代码)、存储程序(存储你代码中的命令和数据)、转换为指令序列(在你的 VS 中编译该代码)、执行指令与数据(在你的 VS 中执行该代码)、输出结果(执行结果的显示,例如 1+1=2)。
  2. 数字计算机可分为:专用机(工控机、ATM)和通用机(PC)(这里像不像 ASIC 和 FPGA 的对比哈哈);或者是微型机、小型机、大型机、超算机。
  3. 电子计算机的诞生:计算机之父是冯·诺依曼;冯·诺依曼体系奠定了现代电子计算机的理论基础,其主要内容有两点:A、用二进制代码表示指令和数据;B、采用存储程序的工作方式,让计算机自动地执行指令,完成数据操作(核心思想)。(一个思想,就让美国成为了电子计算机的先驱,而类似的例子数不胜数,我们是不是该思考一下为什么呢)
  4. 输入设备和输出设备:主要是执行输入输出信息的转换,输入时是原始信息如二进制代码,输出时是处理结果如字符图像。
  5. 运算器和控制器:即 CPU;运算器主要由 ALU (算术逻辑单元)组成,以全加器为核心;控制器主要产生微控制命令,实现控制操作。
  6. 存储器:主要是存储数据和数字化后的程序;概念涉及到存储单元:例如在存储器中保存一个 8 位的二进制数的 8 个存储电路,组成一个存储单元,如 8'b0000_1111 就是一个存储单元所存的二进制代码;概念涉及到存储地址:存储器由许多的存储单元组成,每个存储单元的编号,就是存储地址,如 8'b0000_1111 所在的编号是 12,那么 12 就是其存储地址。
  7. 总线:能为多个部件分时共享的一组信息传送通路,主要是数据总线 DB、地址总线 AB、控制总线 CB;而我们在设计电路的时候,也是需要对这些总线进行设计和分配的。
  8. 接口:实现总线与各类外设进行连接,具有缓冲、转换、连接等功能的部件,如 VGA、HDMI、USB等等;
  9. 北桥芯片南桥芯片:二者是基于 Intel 处理器的 PC 主板芯片组的两枚芯片;北桥设计用来处理高速信号如 PCIE、DDR,南桥设计用来处理低速信号如 USB、WIFI。
  10. 硬件与软件:硬件就是计算机的“肉体”,是有形的设备,如键盘、显示屏、CPU、硬盘、内存条(哈哈刚好也就是输入输出运算控制存储);而软件就是计算机的“灵魂”,是无形的信息,如指令和数据(程序),是需要依附在硬件上的。(所以你想想你是搞硬件开发还是软件开发呢)
  11. 软、硬件系统层次架构:计算机系统是一个由多层次的软件与硬件组成的系统,其基本框架就是:软件部分自顶向下分别是系统分析级、用户程序级、应用程序级、操作系统级;软硬分界:机器指令级;硬件部分自顶向下分别是:微程序级、硬件逻辑级。
  12. 软、硬件的优点与缺点:软件易于实现各种逻辑和运算功能,但是常受到速度指标和软件容量的制约;硬件可以实现高速逻辑和运算功能,但是常受到计算指标和复杂功能的制约。(其实,计算机中的软件,理论上都可以“固化”或“硬化”成硬件,以实现高速的速度执行的目的,这就是为什么 AI 芯片能够发展的原因,其实质就是现在软件上实现算法的功能,如基于 TensorFlow 框架和 Python 编程的人脸识别算法实现之后,就可以根据其具体实现的步骤、数据流图,实现在硬件如 GPU、FPGA、ASIC 上,然后各自的硬件都有各自的优缺点,这些后续会讲哟)
  13. 关于计算机系统的一些性能指标:
    基本字长:指的是一次数据操作的基本位数,如我们常说的 32 位、64 位操作系统指的就是其基本位数,位数越高,精度越高,可处理的单位时间指令和数据就越多;
    机器字长:由内部寄存器的位宽度决定的;
    CPU 主频 = 外频 X 倍频系数;外频,即基频,指的是系统时钟频率,一般不超过 300 MHz;而 CPU 主频现在可以高达 3 GHz 以上;(而我的酷睿 i5 的 CPU 只有 2.5 GHz ...)
    IPS:Instructions Per Second,即每秒执行指令数;CPU 的 IPS 可以高达上亿;
    CPI:Clock-cycle Per Instruction,即执行一次指令所占的时钟数;
    FLOPS:每秒执行浮点运算的次数;(这个指标貌似在神经网络的硬件实现论文中是很常见也很重要的哟)
    数据传输速率:单位时间内数据的传输数量,单位为 B/S。(常见于 DDR 的数据传输速率,如 DDR3 的数据传输速率可以高达 10 GB/S 以上)
  14. 按字节编址:指的是存储空间的最小编址单位是字节、每个地址的存储单元可以存放 8 Bits 的数据、一次寻址一个字节。
  15. 计算机如何区分存储器中的指令和数据呢:
    方式一:通过不同时间段来区分指令和数据,即在取指令阶段(或取值微指令)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
    方式二:通过地址来源区分,由 PC 提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。

你可能感兴趣的:(计算机体系架构)