1.计算机硬件组成及主要部件功能
计算机系统的基本硬件组成包括运算器、控制器、存储器、输入设备和输出设备等,其
中运算器、控制器集中在CPU中。
1.1CPU
CPU的主要功能包括:程序控制、操作控制、时间控制以及数据处理。
CPU的组成包括:运算器、控制器、寄存器组和内部总线等。
CPU的基本组成结构如下图所示:
(1)运算器
运算器由算术逻辑单元、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是执行部件。
主要功能是执行所有的算术运算(加、减、乘、除)和逻辑运算(与、或、非)。
①算术逻辑单元ALU:处理数据,实现数据的算术运算和逻辑运算。
②累加寄存器AC:通用寄存器,为ALU执行算术运算或逻辑运算时,提供一个工作区。
③数据缓冲寄存器DR:主要作用是作为CPU和内存、外部设备之间数据传送的中转站。在内存储器进行读写操作时,DR暂时存放由内存储器读写的指令。
④状态条件寄存器PSW:保存算术指令和逻辑指令的结果标志,比如溢出标志V和中断标志I。
(2)控制器
控制器用于控制整个CPU工作,包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑。
①指令寄存器IR:CPU执行指令,将指令从内存储器取到缓冲寄存器,再送入IR暂存,指令译码器根据IR内容产生各种微指令。
②程序计数器PC:具有寄存信息和计数两种功能,主要存储程序第一条指令的地址。
③地址寄存器AR:保存CPU当前所访问的内存单元的地址。
④指令译码器ID:解析指令中的操作码字段,识别指令规定的操作,向操作控制器发出具体的控制信号,控制部件工作。
二者之间的关系:运算器所进行的全部操作都是由控制器指挥。
1.2多核CPU
多核即在一个单芯片上集成了两个及以上的多个处理器内核。其中,每个内核都有自己的逻辑单元、控制单元、中断处理器、运算单元,一级Cache、二级Cache共享或独有。多核CPU系统的最大优点是可以满足用户同时进行多任务处理的要求,相对于单核多线程CPU(CUP交替转换执行多个任务)的效率更高。
1.3存储器
存储器可以按照所处的位置、构成材料、工作方式、访问方式以及寻址方式分类。
①按照位置分类:内存(主存,用来存放机器当前运行所需要的程序和数据)和外存(辅存,比如磁盘)。
②按照材料分类:磁存储器、半导体存储器以及光存储器。
③按照工作方式分类:读写寄存器和只读存储器。
其中,只读存储器种类如下:
1.固定只读存储器ROM:存储在ROM中的程序通常被称为固件,包括bootloader。
2.可编程的只读存储器PROM:一次性写入,写入后不可以修改。
3.可编程可擦除的只读存储器EPROM:内容可以读出,可以写入,写入后还可修改。
4.电擦除可编程只读存储器EEPROM
5.闪存Flash:非易失性存储器,一般存储用户程序
④按访问方式分类:地址或内容。
⑤按寻址方式分类:随机存储器RAM、顺序存储器SAM以及直接存储器DAM。
相联存储器:
相联存储器是一种按内容访问的存储器,其工作原理是将数据作为关键字,按顺序写入信息,读出时将关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字,适用于信息检索。
高速缓冲:
Cache由快速半导体存储器构成,用来存放目前最活跃的程序和数据,Cache存储器中控制部分的功能是判断CPU要访问的信息是否在Cache存储器中,在即命中,不在即没有命中。CPU中Cache分为了多个层级,如下图所示。
CPU在访存时首先查找L1,如果不命中,再去查找L2,依此类推,直至所有级别Cache都不命中,才访问主存。如果是两级Cache的话,L1的容量要小于L2。CPU工作时,送出的是主存地址,而在Cache中读写信息,因此存在映射关系,本文只介绍直接映像,具体如下图所示。
Cache和内存是计算机存储体系中不同层级的独立组件:Cache是CPU附近的高速缓冲区,内存是主存(DRAM)。二者协同工作,但Cache不属于内存。
虚拟存储器:
在概念上,可以将主存存储器看作一个由若干个字节构成的存储空间,每个字节有一个地址编号,主存单元的该地址称为物理地址,当需要访问主存中的数据时,由 CPU给出要访问数据所在的存储单元地址,然后由主存的读写控制部件定位对应的存储单元,对其进行读(或写)操作来完成访问操作。现代系统提供了一种对主存的抽象,称为虚拟存储,使用专门的MMU将虚拟地址转换为物理地址后访问主存。设主存容量为4GB,则其简化后操作和内存模型如下图所示。
1.4总线
计算机系统的总线是设备与设备之间传输消息的桥梁,下面介绍一下总线的分类。
- 数据总线DB:用来传输消息,双向。
- 地址总线AB:用于传送CPU发出的地址信息,单向。
- 控制总线CB:用来传送控制信号、时序信号和状态信息。
如有问题,欢迎大家批评指正!
本文内容参考书籍:嵌入式系统设计师教程第2版