参考书籍:Linux鸟哥的私房菜
所谓的计算机就是一种计算器,而计算器其实是:『接受用户输入指令和数据, 由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息』。
关亍计算机的组成部分,主要分为三部分:
- 输入单元:包括键盘、鼠标、卡片阅读机、扫描仦、扃写板、控制屏幕等等一堆;
- 主机部分:这个就是系统单元,被主机机壳保护住了,里面含有 CPU内部的控制单元、算数逻辑单元和主存储器等;
- 输出单元:例如屏幕、打印机等等
输入和输出单元与主存储器交互,CPU实际要处理的数据都来自于主存储器,也是CPU发出命令告诉主存储器是流出还是流入数据
关于指令集
- 百度解释:指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序。
简单的说:指令集就是CPU硬件和软件交互的接口 - 精简指令集:RISC的英文全称是Reduced Instruction Set
Computer,中文是精简指令集计算机。特点是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水线技术。
如:ARM构架 - 复杂指令集:CISC,(Complex Instruction Set
Computing的缩写)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的
如x86架构
关于64位和32位
x86是32位
CPU(其实就是一个芯片)用于访问内存的引脚数是32。
x86-64 == x64 是64位
CPU用于访问内存的引脚数是64。
在64位CPU中,CPU的64个引脚(用于访问内存)输出0 或1,排列组合成的数就是数据地址,CPU拿着地址在内存中找到该数据
32位的雷同
所以说32位机子和64位在编程时候,指针(一个十六进制数)的长度也是不同的
在鸟哥的书里说道:
- 32或者64位表示CPU的字组大小(每次能够处理的数据量)
- 也能表示总线带宽(总线每秒可传输的数据量)
我们通常以CPU的字组大小来称呼该架构
关于多核和单核
多核就是CPU内部多个运算核心
单核就是CPU内部就一个运算单元
关于CPU的工作效率
- 微指令集决定了CPU的工作效率
- 也可以通过CPU的频率(CPU每秒工作的次数)比较
(速度 -》 周期 -》 频率) CPU的主频,即CPU内核工作的时钟频率 CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系
CPU的外频,通常为系统总线的工作频率(系统时钟频率), CPU与外部设备传输数据的频率(也包括与主存储器的交互),具体是指CPU到芯片组之间的总线速度。(短板效应,大家一起工作,最终决定效率的是最慢的那个人,所以说CPU与外部部件运行的理论速度大致相等时候才最好,外频是最高的)
- CPU的倍频,他就是个倍数
主频=外频×倍频
内存
内存包括:
- 主存储器
所有的数据都放在主存储器中,因此主存储器的数据宽度越大越好 主存储器的主要组件是动态随机存取内存(DRAM)
CPU与主存储器的外频越相同越好
- CPU内部的第二层高速缓存 主要使用静态随机存取内存(SRAM)
- 还有很多很多。。。
软件
分为系统软件和应用程序