计算机科学(随便记)

了解点计算机科学以及历史 记录一下

历史

  1. 计算机最早的机电设备 一般以十进制 齿轮计数 到 晶体管
  2. 后来以 开、关两种状态 出现二进制
  3. 有电流为1(true) 没有电流为0(false) 基本的数字电路嘛(逻辑代数部分)
  4. 布尔代数就是逻辑代数中的与或非运算 可以被晶体管很容易实现

image.png

image.png

  1. 真值表 或者 这里 二进制实现更加支持

到硬件部分了

算数逻辑单元ALU

计算机中所有操作都需要这部分

image.png

image.png

加法器就是 2个半加器 组成全加器 多个全加器进行计算 预留进位(可以判断是否溢出)

  • 电脑会有专门做乘除法的计算单元

寄存器,锁存器,内存

锁存器: 锁存器是电平触发的存储单元

image.png

image.png

另一种锁存器:

image.png

image.png

这些能存储一位的数据,经他们组合起来 叫寄存器 通常为8、16….位的

寄存器:用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果

image.png

image.png

多路复用:矩阵

image.png

image.png

多个组成内存

image.png

image.png

再有多个独立内存空间组合成现在使用的内存(RAM)

从基本的电路到一层一层抽象到内存芯片 其中的内容还是蛮多的 ,这里只是介绍一下, 如果想进一步学习,可以去学习 数电模电、和电路(毕竟这个专业对口了=。=)

image.png

image.png

CPU

内存 算数逻辑单元 都有了

我们拼一个cpu(中央处理器)出来

image.png

image.png

根据指令(匹配到对应的操作码) 执行对应操作 到寄存器

取指令 - 解码 - 执行

alu 计算 时钟信号进行控制cpu频率

简化的cpu就设计完成了 – 取指令 - 解码 - 执行 时钟 计算

image.png

image.png

  • ==集成电路&摩尔定律==

摩尔定律

光刻技术:

硅为原材料

image.png

image.png

指令,程序

CPU之所以强大是因为是可编程的

所以将二进制指令改为英文指令写入内存

image.png

image.png

cpu处理指令长度和一些方式:指令长度, 可变指令长度,立即值(立即数)当然只介绍 - 好奇的话可以去了解汇编语言基本指令

真正的CPU

在真正的cpu中相比于上面简单的来说,需要处理的问题要大得多,所以现在cpu会处理的:

  1. 首先超高的时钟 让ram的传输速率跟不上 于是在cpu加上了缓存 一批一批的读取数据
  2. 缓存会有一些处理方式: 缓存命中/ 未命中
  3. 脏位: 数据与缓存不一致, 被修改过
  4. 程序执行会在流水线中执行 – 流水线满了会执行分支预测(90%以上的正确率)
  5. ALU不让他们闲置
  6. 取址 – 解码 – 执行并行处理

性能可以通过多核、多个cpu来实现

中国神威·太湖有40960个cpu,每个256核 现存最快的超级计算机

image.png

image.png

编程

从插线 – 卡纸 – 面板编程(很多开关) – 汇编等

  • 二进制写程序: 纸伪代码,手工转二进
  • 葛丽丝.霍晋(GraceHopper)-哈佛1号计算机首批程序员,海军军官
  • Grace设计了编程语言A-O
  • IBM编程语言:FORTRAN
  • 第一个可移植的:COBOL (真名实姓提到过)
  • 新语言: c,C++ , obj-C, python。。。。java

有了语言 软件或者编译器将器转换为计算机认识的语言

再有一些数据结构 就是现代编程了 不需要过多考虑 计算机的硬件实现

todo

  • 图片
  • P9,20,21
  • 24,25