从工作两年的高度来俯瞰计算机学习脉络,对事物有了一个清晰的重新认识。
计算机系统可以理解为通电之前与通电之后,即硬件系统与软件系统。
通电之前,硬件系统,纯粹的物理实体组织
相关科目:《数字电路》《模拟电路》 《离散数学》 《计算机导论》 《计算机组成原理》
冯诺依曼体系结构,利用总线结构实现控制
《计算机组成原理》电子工业出版社
计算机硬件组成、总线结构和性能指标等
第2章 介绍数据信息和指令信息的表示方法;
原码、反码、补码、定点浮点表示、数据校验、指令寻址等
第3章 介绍CPU子系统;
运算器、寄存器、控制器、总线(控制总线 数据总线 地址总线)
第4章 介绍存储子系统,讨论存储原理和主存储器的设计方法;
半导体存储(RAM、ROM)、磁表面存储、主存储器与CPU和系统总线连接
第5章 介绍I/O子系统,包括接口的基本知识,系统总线,以及中断和DMA等I/O传送控制机制;
系统总线、中断方式与接口、DMA方式与接口
第6章 介绍常用输入/输出设备的工作原理及信息转换过程;
第7章 一个计算机硬件系统模型
1. 存储单元:计算机的最小信息单位是bit,即一个二进制位,8个bit组成一个Byte(字节),一个Byte即为一个存储单元。所以,一个CPU有N根地址线,则可以访问到2的N次方个存储单元。存储器被划分成若干个存储单元,每个存储单元从0开始顺序编号。 2. 内存地址空间:主板上核心器件(CPU 存储器)和主要器件(扩展插槽, 插有RAM内存和各类接口卡)通过总线相连,CPU控制时,把它们总的看作一个由若干存储单元组成的逻辑存储器。 3. IO端口:每个连接到I/O总线上的设备都有自己的I/O地址集,即所谓的I/O端口,此端口与网络协议的端口是不同的概念。针对IO端口,CPU的寻址方式有两种,a. IO端口与存储器统一编址(某个外设有128个存储单元,则占用了整个地址总线上的128个地址)b. IO端口与存储器独立编址(某个外设虽然有128个存储单元,但只会将外设的寄存器独立编址一个特定端口60H,主存储空间也有这个60H号存储单元,必须用特定命令in和out来对60H端口读和写)
通电之后,软件系统,为人机交互做准备
1. BIOS自检,进入《操作系统》,让计算机做好准备开始接收命令
《操作系统》精髓与设计原理– 机械工业出版社
进程、处理机管理、存储管理、设备管理、文件系统、作业管理、用户接口
计算机只懂得机器语言(机器语言:每一个CPU都有自己的机器指令集),所以如果让计算机能接收命令,就必须传递给它能懂的语言。因为机器语言太难学了,所以为了方便交流,就发明了易理解的语言,机器语言->《汇编语言》->高级语言(C Java Python)。但殊途同归,最后传递给机器一定是机器语言,其中的关键点就是语言翻译器,即《编译原理》
《汇编语言(第3版)》 王爽 – 清华大学出版社
初学者必备好书,推荐一下
《编译原理》-机械工业出版社
词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术
2. 为了提高计算机的执行能力,又发明了其他技术,比如《数据结构》《算法导论》《数据库系统》等。
《数据结构C语言版》-严蔚敏
数据抽象、线性表、栈和队列、串(模式匹配)、数组和广义表(矩阵)、树(遍历、赫夫曼)、图、动态存储、查找、排序(内部排序、外部排序)、文件
《数据库系统概论》-王珊萨师煊版本
DB系统组成(数据库、数据库管理系统及其开发工具、应用系统、数据库管理员和用户)、DB理论和SQL语句、DB安全、DB规范化及设计等
SQL语句类型:
A、数据操纵语言(DML):用来操纵数据库中数据的命令。包括:select、insert、update、delete。
B、数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。包括:create、alter、drop。
C、数据控制语言(DCL):用来控制数据库组件的存取许可、权限等的命令。包括:grant、deny、revoke。
D、其他语言元素:如流程控制语言、内嵌函数、批处理语句等。
3. 计算机可以和人交互之后,还需要实现计算机与计算机之间的沟通,所以《计算机网络》出现了
《计算机网络》-谢希仁
物理层(信道复用)、数据链路层(数据链路和帧)、网络层(网际协议IP、地址解析协议ARP、IP数据格式)、传输层(TCP、UDP协议)、应用层(FTP、HTTP、POP3协议)、网络安全(密钥、签名)、无线网络、下一代因特网(IPv6)
后记:
所以其他的技术进阶都是在这些基础科学之上的,什么OO思维方法,什么进程间通信,什么信息安全等,认清学习的背景感觉还是很重要的。
这整个技术发展过程中,抓住时代的浪潮就产生了一批高逼格的公司,围绕半导体芯片产生了Intel,围绕操作系统产生了MicroSoft,围绕网络设备产生了Cisco,围绕整机产生了HP。计算机基础革命已经结束,剩下的只是在基础理论上性能的提高。以后的社会应该是智能化和网络化的,所以关于计算机一切新的,比如大数据,比如人工智能,都将是光明的。