计算机的基本硬件系统是由运算器,控制器,存储器,输入设备,输出设备五大部件组成。
# 运算器,控制器等部件集成在一起,统称为中央处理单元CPU,CPU是硬件系统的核心,用于数据的加工处理,能完成成各种算术运算,逻辑运算,控制功能。
# 存储器是计算机的记忆设备,有内部存储器和外部存储器两种区分,内部存储器(内存)其容量小但速度快,一般用于临时存放程序,数据和中间结果;外部存储器的容量大,但速度慢,可以用于长期的存放数据和程序。
# 输入和输出设备合称为外部设备(外设),输入设备用于输入原始数据和各种命令,输出设备用于输出计算机运算的结果
...
## CPU的组成
CPU由运算器,控制器,寄存器组和内部总线组成
主要的功能:指令控制,操作控制,时间控制和数据加工
1:运算器
由算术逻辑单元,累加寄存器,数据缓冲寄存器,状态条件寄存器组成
主要的功能:数据加工处理部件,完成计算机中的各种算术和逻辑运算,相对于控制器来说,运算器接收控制器的命令而进行工作,运算器为执行部件
# 执行所有的算术运算:加,减,乘,除
# 执行逻辑运算并进行逻辑测试:与,或,非,判断两个值是否相等
1)算术逻辑单元 ALU:运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算
2)累加寄存器 AC:是一个通用寄存器,其功能是当运算器的算术逻辑单元执行算术运算或逻辑运算时,为ALU提供一个工作区
3)数据缓冲寄存器 DR:在对内存存储器进行读写操作时,用DR暂时存放由内存存储器读写的一条指令或则数据字
4)状态条件寄存器 PSW:保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码和内容
# 控制器
用于控制整个CPU的工作,控制器决定了计算机运行过程的自动化,不仅要能保证程序的正确执行,还要能处理异常的事件
控制器包括:指令控制逻辑,时序控制逻辑,总线控制逻辑,中断控制逻辑
1)指令寄存器IR:当CPU要执行一条指令时,先将指令从内存中读取到缓冲寄存器中,在将指令送入IR,指令译码器根据IR的内容产生各种指令,控制部件的工作,完成所需的功能
2)程序计数器PC:当CPU要执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到IR中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。
3)地址寄存器AR:AR保存当前CPU所访问的内存单元的地址,因为CPU和内存的读写速度由差异,所以需要使用AR来保存地址信息,直到内存读/写操作完成为止
4)指令译码器ID:一条指令由地址码和操作码组成,为了执行一条指令,必须对指令进行分析,以便能识别完成的操作,指令译码器可对指令中的操作码段进行分析
# CPU中的寄存器
程序计数器:用于存放指令的地址。令当程序顺序执行时,每取出一条指令,PC内容自动增加一个值,指向下一条要取的指令。当程序出现转移时,则将转移地址送入PC,然后由PC指向新的程序地址。
程序状态寄存器:用于记录运算中产生的标志信息,典型的标志为有进位标志位、零标志位、符号标志位、溢出标志位、奇偶标志等。
地址寄存器:包括程序计数器、堆栈指示器、变址寄存器、段地址寄存器等,用于记录各种内存地址。
累加寄存器:是一个数据寄存器,在运算过程中暂时存放被操作数和中间运算结果,累加器不能用于长时间地保存一个数据。
## 何为多核CPU
核心是CPU中重要的组成部分,多核即在一个单芯片上集成两个甚至多个处理器内核,其中每个逻辑都有自己的逻辑单元,控制单元,运算单元
...
## 计算机中存储系统的分类
# 按位置分类(内存,外存)
内存(主存):用来存储当前运行所需的程序和数据,熟读快,但存储容量小,断电后内存中的内容不保存,CPU能直接访问内存
外存(辅存):用来存储档期那不运行的数据,速度慢,但容量大,能长期保存数据,CPU无法直接访问内存(将其以文件为单位调入主存后才可直接被CPU访问)
# 按存储材料分类(磁存储器,半导体存储器,光存储器)
磁存储器:用磁性作为介质,磁盘,磁带
半导体存储器:是一种以半导体电路作为存储媒体的存储器
光存储器:光盘
# 按工作方式分类(读写存储器,只读存储器)
读写存储器:能读取数据,也能存储数据
只读存储器:只能读取,不能存储
# 按访问方式分类(按地址访问存储器,按内容访问存储器)
相联存储器:是一种按内容访问的存储器,工作原理就是将数据或数据的某一部分作为关键字,将该关键字和存储器中的每个关键字进行比较,找出存储器中与关键字相同的数据
# 按寻址方式分类(随机存储器,顺序存储器,直接存储器)
随机存储器:对任存储单元中读取或写入数据,访问任何单元所需的时间相同
顺序存储器:访问数据所需的时间与数据所在的位置有关,例如磁带
直接存储器:介于随机存储器和顺序存储器之间的一种寻址方式,例如磁盘是一种直接存储器,对磁道的寻址是随机的,但在一个磁道中的访问时顺序的
## 高速缓存Cache
Cache位于CPU和主存之间的高速存储子系统,采用高速缓存的目的:提高存储器的平均访问速度,使存储器的速度与CPU的速度相匹配。Cache的地址变换和数据块的替换由计算机硬件实现
特点:容量小,速度快,成本高,被集成到CPU中以来提高访问速度
- 它位于CPU和主存之间,由硬件实现;
- 容量小,一般在几KB到几MB之间;
- 速度一般比主存快5到10倍,由快速半导体存储器制成;
- 其内容是主存内容的副本(所以Cache无法扩大主存的容量),对程序员来说是透明的
- Cache既可存放程序又可存放数据
- 目的时提高存储器的平均访问速度,使主存的速度与CPU匹配
# Cache的组成
控制部分:用来判断CPU所要访问的信息是否存在Cache中,如果信息存在则命中,命中直接对Cache存储器寻址;若不在则不命中,不命中时按照特定的替换原则,决定主存的某一块信息放到Cache中
Cache存储部分:用来存放主存的部分复制信息
# Cache中的印象方法
从Cache中读取信息,需要地址因映像,即将主存中的地址映射成Cache存储器中的地址
直接映像:主存的快与Cache中的块的关系是固定的,主存中的块只能存放在Cache存储器相同的块号中
全相联映像:主存的任意一块都可以调入Cache的任意一块的空间中
组相联映像:为直接映像和全相联映像的折中,将Cache的块分成组,组采用直接映像,而块采用全相联映像。通过直接映像来确定组号,在一组中利用全相联映像方法来决定Cache中的块号
# 替换算法(目的是为了提高Cache的命中率)
随机替换算法:利用随机数安生去产生一个要替换的块号,将该块替换出去
先进先出算法:将最先进入Cache的信息替换出去
近期最少使用算法:将近期最少使用的Cache中的信息替换出去
优化替换算法:先执行程序,统计Cache的替换情况,在第二次执行程序时可以利用最有效的方式来进行替换
## 虚拟存储器
程序员在使用存储系统时,可以使用的存储空间远远大于主存的物理空间,但实际上并没有那么大的主存,故该存储空间被成为虚拟存储器。虚拟存储器由主存,辅存,存储管理单元,和操作系统中的管理软件组成的存储系统。
虚拟存储器的大小取决于计算机访存能力的大小而根计算机的实际外存大小无关
虚拟存储器使存储系统既有相当于主存的访问速度有具有与外存相当大小的存储空间
方法:将正在使用的程序放在内存中执行,而暂时不适用的程序放到磁盘的某块地方,该地方称为虚拟内存,这种机制的和核心在于快地映射内存地址
## 磁盘存储器
磁盘存储由盘片,驱动器,控制器,接口组成
盘片用于存储信息
驱动器用于驱动磁头沿着盘面运动来寻找所要读取磁道的位置,驱动盘片以额定的速度旋转,控制数据的写入和读取
控制器用于接收主机的命令,转换成驱动器的控制命令
接口:主机和驱动器间的连接逻辑
## 光盘存储
记录密度高,存储容量大,采用非接触式信息,信息可长期保存,制造成本低,存取时间长
## 磁盘阵列技术
磁盘阵列是由多台磁盘存储器组成,具有速度快,容量大,可靠性高的特点
# 输入设备:输入设备的任务是把人们编好的程序和原始数据送到计算机中去,并且将他们转换成计算机内存所能识别和接受的信息方式。
按照输入信息的形态可分为字符(包括汉字)输入、图形输入、图像输入及语言输入等。目前,常见的输入设备有:键盘、鼠标、扫描仪等。辅助存储器(磁盘、磁带)也可以看作输入设备。另外,自动控制和检测系统中使用的模数(A/D)转换装置也是一种输入设备。
# 输出设备:输出设备的任务是将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
目前最常用的输出设备是打印机和显示器。辅助存储器也可以看做输出设备。另外,数模(D/A)转换装置也是一种输出设备。
任何连接两个或两个以上的电子元器件都可以称为总线
内部总线:用于芯片,芯片内总线和元件级总线,芯片内总线用于集成电路芯片内各个部分的连接,元件级总线用于一块电路板中各个元器件的连接
系统总线:用于插件板,用于连接计算机中的各个硬件(CPU,硬盘,内存,各个接口等)(ISA,EISA,PCI)
外部总线:通信总线,用于设备一级的连接,计算机可以通过外部总线和其它设备之间进行连接(RS-232-C,SCSI,USB,IEEE-1934)
数据总线:传送数据信息,CPU一次传输的数据与数据总线带宽相等
控制总线:传送控制信号和时序信号,如读/写、片选、中断响应信号等
地址总线:传送地址,它决定了系统的寻址空间
附加:并行总线适合近距离高数据传输 串行总线适合长距离高数据传输 专用总线在设计上可以与连接设备实现最佳的匹配
## 指令系统指的是:一个CPU能够处理的全部指令的集合,是一个CPU的根本属性。
前面个讲过,一条指令包括两部分,操作码和地址码,操作码知名操作的类型,地址码指明操作数及运算结果的存放地址
## 寻址方式
注释:寻址方式就是CPU根据指令中给出的地址信息来寻找有效的地址信息
# 立即寻址:操作数就包含在指令中。指令中地址码字段直接给出操作数本身,而不是其访存地址,不需要访问任何地址
# 直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。
# 寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。
# 寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。
# 间接寻址:指令中给出操作数地址的地址。
# 相对寻址:指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条 指令的地址加上该偏移量。
# 变址寻址:操作数地址等于变址寄存器的内容加偏移量。
# CISC RISC
CISC:计算机复杂指令集计算机
# 简介:是20世纪六、七十年代发展起来的系列计算机。这种计算机所支持的指令系统趋于多用途、强功能化。指令系统围绕着缩小与高级语言的语义差距以及有利于操作系统的优化而设计。
# 指令系统的复杂化使得设计周期变长,正确性难于保证,不易维护
# 而且在复杂的指令系统中,只有少数基本指令是经常使用的,需要大量硬件支持的复杂指令利用率却很低
RISC:计算机精简指令集计算机
# 指令系统中只包含使用频率较高但不复杂的指令。
# 指令长度固定,指令格式少,寻址方式少。
# 只有存取数指令访问主存,其他指令都在寄存器之间运算。
# 大部分指令在一个机器周期内完成,采用流水技术。
# CPU中增加了通用寄存器的数量。
# 硬联逻辑控制,不用微程序控制技术。
# 采用优化的编译,以有效地支持高级语言。
...