CPU详解

CPU工作流程

计算机五大组成部分的基本工作流程就是:输入单元=>主存储器=>CPU=>主存储器=>输出单元

而CPU会从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。
所以总结CPU的大致工作流程就是:取指一>解码一>执行,详细见下图

CPU分类和指令集

# x86架构64位(重要)
x86是针对cpu的型号或者说架构的一种统称。64位指的是cpu一次性能从内存中取出多少位二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。
cpu具有向下兼容性:64的cpu既能运行32位的程序也能运行64位的程序;换句话说,32位的程序可以在32位的cpu上运行也可以在64位的cpu上运行。;64位的程序只能在64位的cpu上运行。


# cpu指令集(了解)
# 1.1、精简指令集(了解)
  精简指令集(Reduced Instruction Set Computing,RISC):这种CPU的设计中,微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。
  SPARC架构的计算机常用于学术领域的大型工作站中,包括银行金融体系的主服务器也都有这类的计算机架构;
  PowerPC架构的应用,如Sony出产的Play Station 3(PS3)使用的就是该架构的Cell处理器。
  ARM是世界上使用范围最广的CPU了,常用的各厂商的手机、PDA、导航系统、网络设备等,几乎都用该架构的CPU。

# 1.2、复杂指令集
  复杂指令集(Complex Instruction Set Computer,CISC)与RISC不同,在CISC的微指令集中,每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因此指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。
    
# 总结:
    CPU按照指令集可以分为精简指令集CPU和复杂指令集CPU两种,区别在于前者的指令集精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。后者的指令集每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。

内核态与用户态(重要)

代表cpu的两种工作状态
	1、内核态:运行的程序是操作系统,可以操作计算机硬件
	2、用户态:运行的程序是应用程序,不能操作计算机硬件

内核态与用户态的转换
    应用程序的运行必然涉及到计算机硬件的操作,那就必须有用户态切换到
    内核态下才能实现,所以计算机工作时在频繁发生内核态与用户态的转换

多线程与多核芯片

2核4线程:
	2核代表有两个cpu,4线程指的是每个cpu都有两个线程=》假4核

4核8线程
	4核代表有4个cpu,8线程指的是每个cpu都有两个线程=》假8核

存储器

存储器是计算机第二重要的部分。目前速度快+容量大+价格便宜是人们所希望的。但是鱼和熊掌不可兼得,于是就产生了如下存储器结构

RAM:内存
ROM:“只读内存”
存放计算机厂商写死计算机上的一段核心程序=》BIOS
CMOS:存取速度慢,断电数据丢失,耗电量极低

硬盘:
机械硬盘:磁盘
    磁道:一圈数据,对应着一串二进制(1bit代表一个二进制位)
    8bit比特位=1Bytes字节
    1024Bytes=1KB
    1024KB=1MB
    1024MB=1GB
    1024GB=1TB
    1024TB=1PB

    200G=200*1000*1000B

    扇区:
    一个扇区通过为512Bytes
    站在硬盘的解读,一次性读写数据的最小单为为扇区

    操作系统一次性读写的单位是一个block块=》8扇区的大小=4096Bytes


    柱面

固态硬盘

IO延迟(重要)

# 机械硬盘转速
7200转/min
120转/s
1/120转/s=转一圈需要花费8ms

平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,受限于物理工艺水平,目前机械硬盘可以达到的是5ms
平均延迟时间:转半圈需要花费4ms,受限于硬盘的转速

IO延迟=平均寻道时间+平均延迟时间

优化程序运行效率的一个核心法则:能从内存取数据,就不要从硬盘取

总线

操作系统的启动流程(重要)

BIOS介绍:
	BIOS:Basic Input Output System
	BIOS被写入ROM设备


裸机:
    cpu
    ROM:充当内存,存放BIOS系统
    CMOS:充当硬盘


操作系统的启动流程(*****)
    1.计算机加电

    2.BIOS开始运行,检测硬件:cpu、内存、硬盘等

    3.BIOS读取CMOS存储器中的参数,选择启动设备

    4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)

    5.根据分区信息读入bootloader启动装载模块,启动操作系统

    6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户安装设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核


应用程序的启动流程(*****)
	1、双击exe快捷方式--》exe文件的绝对路径,就是在告诉操作系统说:我有一个应用程序要执行,应用程序		的文件路径是(exe文件的绝对路径)

	2、操作系统会根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存

	3、然后控制cpu从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动
posted @ 2020-03-02 23:35  the3times  阅读(1639)  评论(0编辑  收藏  举报