计算机科学
计算机科学(随便记)
了解点计算机科学以及历史 记录一下
历史
- 计算机最早的机电设备 一般以十进制 齿轮计数 到 晶体管
- 后来以 开、关两种状态 出现二进制
- 有电流为1(true) 没有电流为0(false) 基本的数字电路嘛(逻辑代数部分)
- 布尔代数就是逻辑代数中的与或非运算 可以被晶体管很容易实现
image.png
到硬件部分了
算数逻辑单元ALU
计算机中所有操作都需要这部分
image.png
加法器就是 2个半加器 组成全加器 多个全加器进行计算 预留进位(可以判断是否溢出)
- 电脑会有专门做乘除法的计算单元
寄存器,锁存器,内存
锁存器: 锁存器是电平触发的存储单元
image.png
另一种锁存器:
image.png
这些能存储一位的数据,经他们组合起来 叫寄存器 通常为8、16….位的
寄存器:用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果
image.png
多路复用:矩阵
image.png
多个组成内存
image.png
再有多个独立内存空间组合成现在使用的内存(RAM)
从基本的电路到一层一层抽象到内存芯片 其中的内容还是蛮多的 ,这里只是介绍一下, 如果想进一步学习,可以去学习 数电模电、和电路(毕竟这个专业对口了=。=)
image.png
CPU
内存 算数逻辑单元 都有了
我们拼一个cpu(中央处理器)出来
image.png
根据指令(匹配到对应的操作码) 执行对应操作 到寄存器
取指令 - 解码 - 执行
alu 计算 时钟信号进行控制cpu频率
简化的cpu就设计完成了 – 取指令 - 解码 - 执行 时钟 计算
image.png
- ==集成电路&摩尔定律==
光刻技术:
硅为原材料
image.png
指令,程序
CPU之所以强大是因为是可编程的
所以将二进制指令改为英文指令写入内存
image.png
cpu处理指令长度和一些方式:指令长度, 可变指令长度,立即值(立即数)当然只介绍 - 好奇的话可以去了解汇编语言基本指令
真正的CPU
在真正的cpu中相比于上面简单的来说,需要处理的问题要大得多,所以现在cpu会处理的:
- 首先超高的时钟 让ram的传输速率跟不上 于是在cpu加上了缓存 一批一批的读取数据
- 缓存会有一些处理方式: 缓存命中/ 未命中
- 脏位: 数据与缓存不一致, 被修改过
- 程序执行会在流水线中执行 – 流水线满了会执行分支预测(90%以上的正确率)
- ALU不让他们闲置
- 取址 – 解码 – 执行并行处理
性能可以通过多核、多个cpu来实现
中国神威·太湖有40960个cpu,每个256核 现存最快的超级计算机
image.png
编程
从插线 – 卡纸 – 面板编程(很多开关) – 汇编等
- 二进制写程序: 纸伪代码,手工转二进
- 葛丽丝.霍晋(GraceHopper)-哈佛1号计算机首批程序员,海军军官
- Grace设计了编程语言A-O
- IBM编程语言:FORTRAN
- 第一个可移植的:COBOL (真名实姓提到过)
- 新语言: c,C++ , obj-C, python。。。。java
有了语言 软件或者编译器将器转换为计算机认识的语言
再有一些数据结构 就是现代编程了 不需要过多考虑 计算机的硬件实现
todo
- 图片
- P9,20,21
- 24,25