计算机体系理解
一个老师告诉过我其实大学的教学是系统和环环相扣的
先说一下顺序
硬件:
高数–>大学物理–>电路–>数字逻辑/模拟电路–>计算机组成–>嵌入式–>物联网
软件:
高数–>离散数学–>概率论–>c/c++/python/java等语言–>数据结构和算法–>操作系统(Windows/Linux)–>web/安卓软件开发–>数据库–>图像处理/人工智能
我的理解
我的学习线路是从底层到上层的学习:
电路和数字/模拟电路后,我就接触了51单片机和32,然后就是嵌入式和计算机组成原理。这些硬件知识让我知道,为什么计算机可以这样输入输出,我们是怎么控制的(中断、寄存器让你玩转单片机,做出你想做的电子产品)
学习完之后,我就清晰的了解了整个计算机的构成(运算器、存储器、输入输出设备)在此我要好好的推荐一下《计算机导论》这本书,让我醍醐灌顶。
计算机就像一个黑盒子:
输入---->黑盒子---->输出
(时刻记住我想输入什么、输出什么---->输入就是数据结构、黑盒子是算法)
在此之后我还了解了一下计算机的历史,在推荐一本书《浪潮之巅》。从最初的纸带打孔计数器(主要是人口统计用的),到齿轮计算器(可以进行四则运算),之后就是电子管、晶体管的出现计算机从机械到电子器件不仅可以自动运算还可以存储),最后就是硅的出现造就了集成电路,再加上二战特殊时期破译密码的需求。计算机的雏形出现(冯诺依曼体系和图灵机)。计算机从此可以自动,不过还是用于大型的计算工程(导弹、火箭等-----军事能力决定当时的世界地位)。然后就是BIM和苹果个人计算机出现(主要是存储文档、一些小型游戏、时间)。微软推出操作系统让人们更简单的使用,之后就是网景(netspace)浏览器让人们发现了互联网的用途。
了解完历史后我,学习了操作系统,这个操作系统不是课程的(进程管理、存储管理、文件管理等),而是三十天完成一个操作系统。因为有单片机的基础,所以个人电脑相当于大型的单片机,操作系统就是一个大型的软件(一定是那种上电后不停循环执行一个程序)。从BIOS、ROM启动然后磁盘的系统引导程序,引导程序会进入保护模式和加载操作系统的内核(重定位各种中断)、进程管理和文件管理、运行内核和用户应用程序、输入输出管理(屏幕、键盘)、最后实现一个简单的shell(运行计算机管理相关的命令)。
操作系统认识完就要聊一聊计算机网络了,简单地说:类似于电话网络一样,我们将计算机连在一起,每台计算机内保存的数据就可以通过权限访问进行共享。所以我们需要协议(就像人与人之间的语言一样),我们分层进行数据包的拆解,让计算机的软件识别对方的内容。其实计算机不知道任何事情,不过是01数据流罢了,所有的理解都是人的理解。
交流和分享、存储、计算。一切应用都是用户软件。存储需要学习数据库,计算主要是数据结构和算法,交流分享主要是获得权限和协议制定。此时安卓程序、web开发、后台前台管理、windows程序开发等等最上层的开发。
人工智能的理解
计算机对我来说是工具,但是拥有人工智能的计算机对我来说就是仿人,摄像头是眼睛、音箱是嘴巴、麦是耳朵、屏幕是手和脚、鼠标和键盘就是触觉、CPU和内存以及硬盘就是大脑。
每一次世界的变革都是因为人机交互,大型机、个人机、手机、触屏智能机,我相信下一次改变也会是因为人机交互。
不妨大但的预测,人机交互一定趋向与越来愈便捷携带、越来越智能:智能手表、智能音箱(智能家居)、AR和VR、智能眼镜。
机器人一定是历史发展的必然。