前言
本文将从一个生活中的场景出发讲解CPU的总体结构、内存访问方式、程序执行原理。下一篇文章将讲解CPU的基本组成结构。旨在为学编程的小伙伴提供必备的CPU知识。
人计算的要素
计算机的理论模型图灵机是模拟人用纸笔计算过程而提出的。关于图灵机笔者已发文讲解过了,这里只关注“人计算”这个原始场景,从中推导出人计算过程中的要素,之后使用此结构来理解计算机核心的构成。
- 计算场景
计算算法:底面积(s)=长(a)*宽(b),长方体体积(v)=底面积(s)*高(h)计算过程: s=3*5=15 v=15*6=90
2.计算过程要素
由上面计算场景可以提炼出人计算过程中的要素:
- 计算题目
题目是计算任务,可分成两部分:数据、计算逻辑。
计算逻辑有若干计算步骤,如计算底面积、计算体积;计算步骤有先后顺序。
- 纸
题目写在纸上,纸作为题目信息的存储载体。
- 读题
题目信息通过光线传输到眼睛成像,大脑识别图像含义,题目信息进入大脑。
- 大脑
大脑中的记忆:记忆内容包括读入的题目信息、计算状态(计算到哪一步了)、计算步骤产生的结果
大脑中的计算逻辑:按运算规则计算,如题目中的乘法。
- 写答案
用笔把计算结果写到纸上存储起来。
计算核心的总体结构
通过与人计算过程要素对应来理解计算机核心的总体结构,具体如下:
- 程序
程序对应计算题目,程序有两部分:数据结构、算法。
算法:程序指令对应计算步骤(如:计算底面积、体积),可以对不同类型(如:整数、浮点、字符)数据进行多种运算(如:算术、比较、逻辑等);程序控制逻辑对应计算步骤的顺序(如:顺序、分支、循环)。
数据结构:数据结构对应题目中参与计算的数据(如:长、宽、高),常见数据结构如数组、链表、队列、栈、树等。
- 内存
内存对应纸,程序以二进制形式存储在内存中。
- CPU
CPU对应大脑,CPU负责程序执行。
- 总线
总线事务对应读题、写答案,即读写内存。以CPU为主体来看就是输入(向CPU输入信息)、输出(从CPU输出信息)。