微型计算机l技术1
* * 5.微机的工作过程 计算机的工作原理是:“存储程序” + “程序控制” CPU 总线 内存 标 志 寄存器 地址总线 AB 程序 数据 数据总线 DB 控制总线 CB 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指令寄存器 数据暂存器 控制电路 指令译码器 地 址 寄存 器 指 令 指 针 寄存器 R1 R2 R3 R4 寄存器组 运 算 器 IP * 取指令 执行指令 微机的工作过程分两阶段: * 取指令阶段( CPU读内存操作): 地址经地址寄存器 → 地址总线 → 地址译码器, 选中指令所在的内存单元 CPU发出内存读控制信号 指令从内存 → 数据总线 → 数据暂存器 → 指令寄存器 指令译码器对指令进行译码 由IP给出指令在内存的地址 标 志 寄存器 地址总线 AB 程序 数据 数据总线 DB 控制总线 CB 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指令寄存器 数据暂存器 控制电路 指令译码器 地 址 寄存 器 指 令 指 针 寄存器 R1 R2 R3 R4 寄存器组 运 算 器 IP * 执行指令阶段: 经译码后的指令,由控制电路发出控制信号去执行。 CPU 总线 内存 标 志 寄存器 地址总线 AB 程序 数据 数据总线 DB 控制总线 CB 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指令寄存器 数据暂存器 控制电路 指令译码器 地 址 寄存 器 指 令 指 针 寄存器 R1 R2 R3 R4 寄存器组 运 算 器 IP * 不同的指令,CPU的具体执行过程不同。 CPU 可执行的操作通常有数据传送、算术逻辑运算等等。 当一条指令需要从内存或I/O端口取得或存放数据时; CPU在执行阶段,需对指令指定的内存单元或I/O端口进行读/写操作。 * 例 指令1:将寄存器R1与R3的内容相加,结果存在R3中。 指令1在CPU 内部即可完成 CPU 总线 内存 标 志 寄存器 地址总线 AB 程序 数据 数据总线 DB 控制总线 CB 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指令寄存器 数据暂存器 控制电路 指令译码器 地 址 寄存 器 指 令 指 针 寄存器 R1 R2 R3 R4 寄存器组 运 算 器 IP * 例 指令2:将内存中的数据2送至CPU的寄存器R2中 指令2的执行阶段包括一个到内存取数(即读内存)的过程。 CPU 总线 内存 标 志 寄存器 地址总线 AB 程序 数据 数据总线 DB 控制总线 CB 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指令寄存器 数据暂存器 控制电路 指令译码器 地 址 寄存 器 指 令 指 针 寄存器 R1 R2 R3 R4 寄存器组 运 算 器 IP * 例 指令3:将寄存器R3的内容送至数据3的内存单元中 指令3的执行阶段包括一个向内存存数(即写内存)的过程。 CPU 总线 内存 标 志 寄存器 地址总线 AB 程序 数据 数据总线 DB 控制总线 CB 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指令寄存器 数据暂存器 控制电路 指令译码器 地 址 寄存 器 指 令 指 针 寄存器 R1 R2 R3 R4 寄存器组 运 算 器 IP * 当一条指令取走后, 指令指针寄存器会被修改成下一条要执行指令的地址, 这样,当一条指令执行后,又进入取指令阶段, 如此不断的重复。 CPU 总线 内存 标 志 寄存器 地