Linux学习笔记 第0章:计算机概论

0.1.0计算机本质

计算机:接受用户输入的命令与数据,经由中央处理器的算术与逻辑单元运算处理后产生储存成有用的信息
算术逻辑单元(Arithmetic&logical Unit:是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由与门 和或门构成的算术逻辑单元,主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。基本上,在所有现代CPU体系结构中,二进制都以补码的形式来表示。

0.1.1计算机硬件五大单元

输入单元、输出单元、控制单元(CPU内部)、算术逻辑单元(CPU内部),关系如图

Linux学习笔记 第0章:计算机概论_第1张图片

0.1.2 CPU架构

1.指令集
  • 精简指令集(RISC)
    指令集较为精简,每个指令运行时间短但是如果任务复杂需要多指令,代表有Oracle的SPARC,IBM Power Architecture,ARM的ARM CPU

  • 复杂指令集(CISC)
    每个小指令可以执行一些较低级的硬件操作,指令多而复杂,所以指令执行时间长

2.X86 X64 X86_64的意思与区别
  • X86
    x86架构的特点是cpu的寄存器是32位的,因此也叫32位cpu。
    基于32位cpu开发的操作系统就叫32位操作系统,因为目前x86架构在32位cpu的知名度,32位操作系统也通常被称为x86系统。
    这里再来讲讲故事:
    (1) 上个世纪70年代末,因特尔生产了著名的16位8086处理器,之后又推出了80186与80286;
    (2) 1985年,因特尔继摩托罗拉之后,第二个研制出32位的微处理器80386;
    (3) 1989年,因特尔推出80486处理器,具有浮点运算功能;
    (4) 当初与因特尔竞争微处理器的摩托罗拉公司是以86开头的,如68000,68010,68020。
    (5) 1993年,因特尔推出奔腾处理器,不再以数字命名其产品;
    后来在微处理器行业摩托罗拉没有竞争过因特尔,而特尔也不再以数字命名其产品(单纯的数字不是不能注册为商标,只是很难而已),所以在工业界和学术界,大家仍然习惯性的把因特尔的处理器称为X86系列,X作为通配符代替前面的数字。这个也就是历史原因,带86的也不一定为32位处理器,只是因为这些带86的32位处理器比较出名,叫的用的都比较多,最后也就习惯了,从386开始时代开始的,一直沿用至今,所有Intel早期的CPU,AMD早期的CPU都支持,Intel官方文档里面称为“IA-32”工业界和学术界,大家仍然习惯性的把因特尔的处理器称为X86系列,X作为通配符代替前面的数字。这个也就是历史原因,带86的也不一定为32位处理器,只是因为这些带86的32位处理器比较出名。
  • X86_64
    x84_64是x86 CPU开始迈向64位的时候,有2选择:1、向下兼容x86。2、完全重新设计指令集,不兼容x86。AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同。而Intel选择了设计一种不兼容x86的全新64为指令集,称之为IA-64(这玩意似乎就是安腾),但是比amd晚了一步,而且IA-64也挺惨淡的,因为是全新设计的CPU,没有编译器,也不支持windows(微软把intel给忽悠了,承诺了会出安腾版windows server版,但是迟迟拿不出东西)。。。后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫x86_64,表示是x86指令集的64扩展,大概是不愿意承认这玩意是AMD设计出来的。
    但是目前X86也有不同,新的X86CPU有很多先进指令集,增强了虚拟化性能,降低耗电
  • X64
    X86_64简称,也就是说实际上,x86_64,x64,AMD64基本上是同一个东西,我们现在用的intel/amd的桌面级CPU基本上都是x86_64,与之相对的arm,ppc等都不是x86_64。
  • 三者区别
    x86、x86_64主要的区别就是32位和64位的问题,x86中只有8个32位通用寄存器,eax,ebx,ecx,edx, ebp, esp, esi, edi。x86_64把这8个通用寄存器扩展成了64位的,并且比x86增加了若干个寄存器(好像增加了8个,变成了总共16个通用寄存器)。同样的MMX的寄存器的位数和数量也进行了扩展。此外cpu扩展到64位后也能支持更多的内存了,等等许多好处。

0.1.3 其他设备

  • 系统单元:CPU,内存,网卡等主板相关组件
  • 存储单元:内存和辅助存储(包括硬盘,光盘等)
  • 输入输出单元

0.1.5 计算机分类

  • 超级计算机:速度最快维护使用成本最高,用于国防,气象,太空,仿真
  • 大型计算机:通常具有数个高速CPU,功能不及超级计算机,用于大型企业主机,证券交易所,企业服务器
  • 迷你计算机:仍保留有大型计算机支持多功能的特性,但是主机可以放置在一般的工作环境通常用作科学研究,工厂流程管理
  • 工作站:价格相对便宜,是针对某种特殊用途而设计的,在个人电脑性能较差的年代性价比较高
  • 微电脑:体积最小,价格最低,包括台式机和笔记本

0.1.6 常用计量单位

  • 位(bit):最小记录单位,通过电位记录0/1
  • 字节(Byte):读音与bit相似,1个Byte=8bit,由于bit太小了,所以说存储简单数据的基本单位Byte
  • 更高位:KB/MB/GB/TB/PB/EB/ZB(1024)
  • CPU速度单位:MHz,GHz
  • 网络速度单位:一般用bit,例如8Mpbs/s为8M bit/s,即为8/8=1MB/s
  • 硬盘容量差异:硬盘最小物理量为512B,最小的组成单位称为扇区,通常硬盘容量是采用扇区数目计算,所以厂商大多使用十进制,但是系统采用的是2进制

0.2 计算机架构

网桥:分为南桥和北桥,北桥负责连接速度较快的CPU,内存,显卡,南桥负责连接速度较慢的设备接口有硬盘,USB设备,网卡,但是北桥的速度还是太慢了,CPU与内存数据交流会浪费很大的带宽,所以现在CPU大多将北桥整合进去了,所以看不到北桥,由CPU直接访问内存
Linux学习笔记 第0章:计算机概论_第2张图片

0.2.1 CPU

  1. 不同CPU有不同的指令集,频率是CPU之间性能比较的一个参数,即每秒钟可以进行的工作次数,例如3.6GHz为 3.6 ∗ 1 0 9 3.6*10^9 3.6109次/秒,由于不同CPU架构不同,二级缓存,运算机制也不同所以频率一般用于同款CPU速度比较
  2. CPU的工作频率:倍频与外频
    早期CPU中存在北桥,设备必须通过北桥才可以与CPU连接,因为各个设备频率不同,于是就有了前端总线(FSB),但是CPU运行比外部快,为了满足与外部设备通信的频率(外频),厂商设计出来倍频,倍频*外频就是CPU内部运算的频率。例如外频1GHz,倍频3,CPU频率3GHz
  3. 超频:通过修改主板设置修改外频或者倍频(倍频一般已经由厂商确定,无法修改)改高频率的方法,目前像Intel的CPU会主动完成超频与降频(Turbo技术)
  4. 总线:
    总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。
  5. 前端总线
    前端总线是处理器与主板北桥芯片或内存控制集线器之间的数据通道,其频率高低直接影响CPU访问内存的速度
  6. 替代北桥
    因为CPU的频率大于北桥频率,数据全部被北桥卡死了,所以北桥成了性能瓶颈,所以出现了如Intel QPI,AMD Hyper Transport技术
  7. 32/64位CPU
    与CPU类似,内存也有工作频率,这个频率来自于CPU内部的内存控制器,例如,在上图中内存最高为1333MHz
  8. 带宽,位宽,字长
    位宽指的是一个时钟周期内可以传输的数据量,而带宽指的是一个特定的时间(大多为1s)传输的数据量,例如:一计算机为位宽64bit,频率1GHz,那么他的带宽为 1 0 9 ∗ 2 6 / 2 3 = 8 G / s 10^9*2^6/2^3=8G/s 10926/23=8G/s,字长与总线的位宽相似,是指CPU每次最多能处理的数据量,字长是指计算机CPU各寄存器之间一次能够传递的数据位,位宽是CPU通过外据总线与外部设备之间一次能够传递的数据位。当然,两者单位不同
  9. 超线程(HT)
    在每一个CPU内部将重要的寄存器分为两组,让程序分别使用者两组寄存器,相当于有两个程序同时竞争运算单元,而非通过操作系统多任务切换。

0.2.2 内存

  • 个人电脑的内存通常认为是RAM,目前较为成熟的技术为SDRAM与DDR SDRAM,区别在于电压不同DDR就是所谓的Double Data Rate现在又有了DDR2,3,4,DDR2为4倍速,DDR3为8倍速,还有DDR3L通过降低工作电压达到节电作用。
  • 多通道设计
    因为数据都要经过内存,内存的位宽当然是越长越好,所以设法把两个内存合在一起,例如一张内存可以达到64bit,两张内存就可以达到128bit,这就是双通道设计理念,显而易见,双通道设计需要两/四张内存,但最好是型号完全一样的因为启用双通道设计后数据是同步写入读出的不是一张写满再写另一张,所以最好容量也一致,这样才会同步写满,
  • DRAM和SRAM
    我们知道,数据要通过内存进入处理器,如果处理器内部可以把很常用的数据存在处理器中,那么可以提高运行速度,但是,处理器内部数据交换频率高,一般内存难以胜任,这个时候就需要静态随机存取内存(SRAM),但是由于晶体管数量多,价格昂贵,不适宜做大内存。还有DRAM(Dynamic Random Access Memory),即动态随机存取存储器,最为常见的系统内存。DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。
  • 只读存储器(ROM)

你可能感兴趣的:(Linux,学习笔记)