当今计算机的基本原理与结构依然是 1946 年冯诺依曼所设计的那一套。
1. 冯诺依曼结构的精髓
- 处理器按照顺序执行指令和操作数据,而无论指令还是数据,它们的本质并没有区别,都是一串二进制数字的序列。那么该如何区分一串二进制序列是指令还是数据呢?
- 计算机加载的第一条必定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
- 把指令和数据分开(事实上指令和数据是分开存放的,存放在不同的位置)放是为了安全和逻辑结构清晰。
- 指令和数据存放的格式一样,但是访问他们的时机不同
- 在取指令时期,cpu 通过指令流取指令,存放在指令寄存器,然后解释并执行指令,
- 在执行指令时期,cpu 通过数据流取数据,存放在数据寄存器。
- 所以指令流取的是指令,数据流取的是数据。