Skip to content

Latest commit

 

History

History
74 lines (48 loc) · 3.3 KB

结构-计算机组成原理.md

File metadata and controls

74 lines (48 loc) · 3.3 KB

计算机组成原理

time: 2018.12.29

重要性

计算机组成结构,同计算机操作系统一起,作为计算机应用编程的2大基石。
一名卓越的软件工程师,对于这2者不说精通原理,但是要做到其基本结构与实现功能要了然于胸。

虽然说大学学了这些课程,但是不知道它学来干嘛,都是混过去的,现在工作中学习、拓展视野需要它们,现在重新捡起来吧。

  1. 知晓原理:知道常规开发的软件,是如何运行起来的
  2. 技术扩展:不再受限于前端开发 + 服务端开发,也要拓展学习 服务器开发网络开发人功智能计算机硬件 等技术,在前端发展到尽头,难不成不吃饭了?

学习计划安排:
回到成都,待租房稳定下来,开始组装台式机,将台式机各组件同书上计算机组成做对比,看各部分的集成情况;
计算机操作系统在计算机组成原理搞定之后,立马开始学习

1 计算机基本架构

  1. cpu
  2. 内存
  3. io 总线、总线接口:地址总线、数据总线、控制总线,连接各设备的线作用不同
  4. 其他输入输出设备:显示器、鼠标、键盘、usb、磁盘等

2 内存基本介绍

存储:电荷、磁极
输入:电流信号
输出:电流信号

内存用于存储数据,是通过 cpu 来操作,通过总线传递信息。存放在内存中的数据就是 0 和 1。

内存的实现方式

  1. 磁盘:通过磁极的不同来表示01;通电增强磁性,改变数据;磁头扫描,通电返回感应电流表示状态
  2. 纸袋打孔:有孔1,无孔0
  3. 电容电压改变(电荷差):高电位1,低电位0,写入数据就是注入电荷的过程,读数据就是放电荷的过程,为了保存数据,读完之后数据需要恢复也就需要再次充电。实际物理存储就是 晶体管 + 电容器
  4. 脉冲信号:脉冲波,波峰1,波谷0

问题:知道了这些存储方式,那么如何去读取呢?

  1. 内存模块是如何提供读取接口的?通电感知电荷、电压
  2. 总线是如何传递数据的?
  3. 控制器是如何处理这段指令的?电流

汇编每一条语句就对应一条二进制指令

3 cpu 工作原理

3.1 cpu 基本构成

  1. pc 寄存器:程序计数器,存储的是PC中存放下一次访存的cpu执行指令地址
  2. 通用寄存器
  3. 算术逻辑单元:运算器、控制器集合
  4. 对外总线接口

每个类型的 cpu,都有其固定的执行规则,即存储数据之后应该返回数据的第一条指令地址等规则。

3.2 寄存器原理

什么是寄存器?
答:每个寄存器由多个锁存器构成,每个锁存器保存一个 bit 信号。锁存器:逻辑电路 + 电容 + 晶体管。

3.3 控制器原理

控制器是什么?是逻辑电路,通过输入不同的电流信号,由自身的电路连接、电阻值来改变电流流转及信号

执行流程

  1. 将二进制代码的第一条指令的地址放入 pc 寄存器
  2. 根据 pc 寄存器中的指令地址,通过地址总线,前往内存读取真实指令
  3. 内存器收到地址,根据地址查看真实二进制指令,并返回二进制指令,并放入数据总线接口
  4. 控制器根据收到的指令数据,分析并执行具体指令