如何学习计算机科学(个人见解)

如何学习计算机科学(个人见解)

简介

人类社会中一切的发展过程都遵循从简单到复杂的规律,人的学习也是一样,也遵循着这样的规律。经过长时间的发展,现代社会已经变得非常庞大且复杂。科技发展日新月异,需要学习的东西越来越多,也越来越复杂,致使一个人不可能把所有的东西都学会。这里单纯就学习计算机科学谈一点自己的见解。

经历

我原本学习的是机械专业,学习过C语言后面又接触过飞思卡尔,基于现有库的基础上编写程序;在后面又学习STM32,在学习的过程中便一直纳闷:程序在芯片中到底是如何运行的。后面看到的CM3内核权威指南,有些地方看懂了,但更疑惑了:1.内核中的CPU中的寄存器有什么用?2.寄存器是什么?3.为什么存储器映射会映射出4GB的空间?4.指令集是什么?这是我在学习单片机时的坎坷历程:便学习如何应用,边探索自己的疑问?
不知到为什么总有一种执念:想了解编写的程序到底在硬件芯片上是如何运行的?在这种执念下,不断了解底层的技术科普,终于解开了心中的一些疑惑。疑惑解开了虽有一些豁然的感觉,但好像对真正的编程提升并没有多大的帮助。不仅让人思考,到底该怎么去学习这些内容。

见解

通过计算机发展的历史可以发现,计算机通过不断的抽象和封装达到的如今的复杂程度。那到底该如何学习这些知识呢?
1.搞清自己当前学习内容的前提,这些前提便是我们学习这些知识的公理。
2.我们既可以向前探索这些前提是如何实现的,又可以探索新学内容的后续新知识。
3.搭建整体的知识框架,不断的向其中添加细节内容。并完善知识体系。

细节知识点

指令集:一个CPU能够执行的特定指令的集合,不同的CPU使用的指令集不同。
指令集存储于CPU内部,是软件和硬件之间的桥梁。

MCU和CPU的区别?

MCU以STM32芯片为例,MCU可认为是一个简版的计算机,其中的cortex-M3内核便是CPU,RAM相当于内存条,flash相当于硬盘,外设相当于输入输出设备。一块CPU实际上只包含控制器和运算器(ALU)两部分。
如何学习计算机科学(个人见解)_第1张图片

你可能感兴趣的:(嵌入式)