《CPU自制入门》
计算机系统基础
计算机系统的SoC(System-on-a-Chip,片上系统)以CPU为核心,同时实现了负责存储程序和数据的内存、负责和外部进行输入输出的I/O以及它们之间的连接总线。
PC(Personal Computer,个人电脑)
I/O(Input/Output,输入输出装置)进行数据交换
【CPU如何运行】
CPU①读取(Fetch)内存中的指令,然后对其要处理的操作进行②解码(Decode),最后进行③执行。
①读取
PC(Program Counter,程序计数器)寄存器,其中保存着即将执行的指令的地址。
将PC寄存器的值输出给内存,由内存返回该值对应地址中的指令。
②解码
指令由CPU中被称为指令解码器的模块进行解码。
通用寄存器(General Purpose Register)保存地址和运算结果
③执行
CPU可以从内部存储装置——寄存器或外部的内存读取数据并处理,
然后将结果写回寄存器或内存。
CPU执行的指令,由代表操作种类的操作码和代表操作对象的操作数(由寄存器地址、内存地址或立即数指定;立即数是指嵌入指令中的固定常数)两部分组成。
CPU分为RISC(Reduced Instruction Set Computer,精简指令集计算机)和CISC(Complex Instruction Set Computer,复杂指令集计算机)两种。
RISC架构最大的特点是只使用载入和存储指令访问内存,这种架构称为载入存储架构(Load/Store Architecture)。
好处是可以简化指令集和流水线设计。
在这种架构下,运算指令只能对寄存器中的数据进行操作。
【位宽】
位宽/字(word):可以访问的地址空间或数据的大小;可以处理的整数型数据的宽度
eg.32位CPU可以处理32位的数据,可以访问的地址空间为4G字节(2的32次方)
内存:用来存放运行时指令(程序)和数据的存储器,有时也称为主存(Main memory)(和计算机中长期保存数据和程序的存储器区别)
DRAM(Dynamic Random Access Memory,动态随机存储器)通过在电容器中积蓄电荷来保存数据的存储元件。电容器中充电状态是1,放电状态是0,并以此表示数值。
电容器中的电荷一段时间后会衰减,故DRAM需要定期进行重新写入数据的刷新(Refresh)操作。
内存使用地址(数据存储的位置)来管理存储的数据。
字节编址:每个数据单元都有一个地址。大多情况下数据单元是一个字节(8位)长度。
【存储器层级】
“高速小容量”、“中速中等容量”到“低速大容量”等多种存储器组合的混合型架构。
存储层面,速度最快的是CPU中的寄存器。
CPU比内存速度快很多,由CPU直接访问内存效率较低。
为了提高内存访问速度,在CPU和内存间增加了被称为缓存的高速小容量存储器。
【字节序】
将多字节数据存储在内存中时,各字节的存储顺序。
人类更容易理解大端,计算机更适合处理小端。
很多处理器考虑到软件的通用性和可移植性,同时支持两种字节序并可依据程序切换,称为双端序。
【总线】
CPU、内存和I/O之间交换数据的共同通道
总线一般由数据总线(传输交换的数据)、地址总线(指定访问的地址)和控制总线(负责总线访问的控制)构成。
总线协议:各个信号的时序、进行交换的规则。
总线传输:通过总线交换数据的整个过程。
总线的优点:
- 只要遵循总线协议,任何设备都可以简单地进行连接。
- 由于使用的是共享通道,硬件的成本也比较低。
缺点:数据传输的吞吐量较低。
标签:存储,需要,自制,总线,指令,内存,数据,CPU From: https://www.cnblogs.com/asandstar/p/17091245.html