这个专栏将记录我自制简易CPU的漫漫长路。
想要制作CPU,第一个问题就是,CPU有什么功能和它有什么结构。第一篇解答的就是这个问题。
第一篇:CPU基础知识
CPU的功能
- 指令控制:程序就是一个指令序列,要保证序列的顺序不能颠倒
- 操作控制:从内存取出指令的操作信号,把各种操作信号送往部件,然后控制这些部件按 指令的要求进行动作
- 时间控制:对各种操作进行时间上的管理
- 数据加工:对数据进行算数运算和逻辑运算
CPU的结构
CPU的基本组成
控制器
组成
由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器
功能
-
程序计数器(PC):
- 程序执行之前,必须将它的起始地址送入PC
- 当执行程序时,CPU将自动修改PC的内容,让PC自动+1
-
指令寄存器(IR):
用来保存当前正在执行的一条指令
- 当执行一条指令时,先把它从指令cache存储器(简称指存)读出,然后再传送到PC中
- 对操作码进行测试,以便识别所要求的操作。
-
指令译码器:
- 对指令进行译码或测试,以便识别所要求的操作
- 操作码经过译码之后,即可向操作控制器发出具体操作的特定信号
-
时序产生器:个人认为相当于是CPU的脉搏,它给予了CPU生命,让他可以进行工作
-
操作控制器:个人认为,指令译码器将操作码进行译码之后,指令译码器就可以向操作控制器发出具体操作的特定信号。
运算器
组成
算术逻辑单元(ALU)、通用寄存器、数据缓冲寄存器(DR)和状态条件寄存器(PSW)
功能
-
ALU:执行算数活着逻辑运算
-
通用寄存器(R0-R3):当ALU进行算术或者逻辑运算时,为ALU提供一个工作区
-
PSW:
PSW实际上就是由各种状态条件标志拼凑而成的寄存器
- 保存由算术指令和逻辑指令运算或者测试结果建立的各种条件代码
- 保存中断和系统工作状态等信息,以便使CPU和系统能够及时了解机器运行状态和程序运行状态
-
DR:
用来暂时存放ALU的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。
- 作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲
- 补偿CPU和内存、外围设备之间在操作速度上的差别