13.1.1 硬件基础

计算机硬件是由许多不同功能模块化的部件组合而成的,并在软件的配合下完成输入、处理、储存和输出等。

示例1:CPU和GPU有什么区别?

解答:

· 作用不同:CPU是指中央处理器,它的作用偏向于调度、协调、管理,当然也有一定的计算能力。GPU是指图像处理器,它的作用主要在图像处理及大型矩阵运算方面,比如学习算法等。

· 结构不同:CPU的结构可以大致分为运算逻辑部件、寄存器部件和控制部件等。GPU则是一块高度集成的芯片,其中包含了图形处理所必需的所有元件。

· 缓存上不同:CPU有大量的缓存结构,目前主流的CPU芯片上都有四级缓存,这些缓存结构消耗了大量的晶体管,在运行的时候需要大量的电力。GPU的缓存很简单,目前主流的GPU芯片最多有两层缓存,而且GPU可以利用晶体管上的空间和能耗做成ALU单元,因此GPU比CPU的效率要高一些。

· 响应方式上不同:CPU要求的是实时响应,对单任务的速度要求很高,所以要用很多层缓存的办法来保证单任务的速度。GPU是先把所有的任务都排好,然后进行批处理,对缓存的要求相对较低。

· 应用方向上不同:CPU所擅长的操作系统等应用需要快速响应实时信息,需要针对延迟优化,所以晶体管数量和能耗都需要用在分支预测、乱序执行、低延迟缓存等控制部分。GPU适合对于具有极高的可预测性和大量相似的运算以及高延迟、高吞吐的架构运算。

示例2:内存有哪几种存储组织结构,请分别说明?

解答:

(1)顺序存储方式:顺序存储方式就是在一块连续的存储区域一个接着一个地存放数据。顺序存储方式把逻辑上相邻的节点存储在物理位置上相邻的存储单元里,节点间的逻辑关系由存储单元的邻接关系来体现。顺序存储方式也称为顺序存储结构,一般采用数组或结构数组来描述。

(2)链接存储方式:链接存储方式比较灵活,不要求逻辑上相邻的节点在物理位置上相邻,节点间的逻辑关系由附加的引用字段来表示。一个节点的引用字段往往指向下一个节点的存放位置。链接存储方式也称为链式存储结构。

(3)索引存储方式:索引存储方式是采用附加的索引表的方式来存储节点信息的一种存储方式。索引表由若干索引项组成。索引存储方式中索引项的一般形式为(关键字、地址)。其中,关键字是能够唯一标识一个节点的数据项。索引存储方式还可以细分为两类,即稠密索引和稀疏索引。稠密索引中每个节点在索引表中都有一个索引项,其中索引项的地址指示节点所在的存储位置。稀疏索引中一组节点在索引表中只对应一个索引项,索引项的地址指示一组节点的起始存储位置。

(4)散列存储方式:散列存储方式是根据节点的关键字直接计算出该节点的存储地址的一种存储方式。

在实际应用中,往往需要根据具体的数据结构来决定采用哪种存储方式。同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。这4种基本存储方法既可以单独使用,也可以组合起来对数据结构进行存储描述。