计算机在某种意义上是一种通信系统。数据经常在CPU、内存和各种设备之间移动。CPU使用I/O地址将数据指向特定的设备。设备反过来使用中断(interrupt)通知CPU和操作系统的需要。
冯诺依曼体系结构:
CPU控制单元:
算术逻辑单元(ALU):
冯·诺依曼循环:
取指令阶段:获取下一条指令并将其存储在指令寄存器中
执行阶段:ALU或I/O单元执行指令。
- ALU执行计算
- I/O单元加载或存储主存和寄存器之间的数据。
PC = <machine start address>;
IR = memory[PC];
haltFlag = CLEAR;
while(haltFlag not SET) {
execute(IR);
PC = PC + sizeof(INSTRUCT);
IR = memory[PC]; // fetch phase
};