计算机体系结构一些笔记
1、异构计算:CPU也像人类社会一样存在专业分工。 异构计算(Heterogeneous Computing)是指不同类型的计算单元合作完 成计算任务。每个计算单元采用不同的架构,分别擅长处理某一种类型 的计算任务。整个计算任务分解为小的单位,分别交给适合的计算单元 来处理。异构计算已经是成熟的架构,其基于两个本质思想。 1) 一个本质思想是“专人干专事”。计算任务是多种多样的,以前计算机 中只有一个通用处理器,运行通用的操作系统,“通用”的意思就是什么 都能干。人们在实践中发现,可以把一些专门的工作独立出来,针对这 种工作设计专用处理器,这些特定的场景包括数字信号处理、3D图形 渲染、人工智能算法等。专用处理器是为了这种特定的工作设计的最优 芯片架构,在执行效率上远远高于通用处理器,也有利于降低功耗和缩 小芯片面积。2)另一个本质思想是“把原来软件干的活,交给硬件来做”。在通用处理 器上,具体功能由软件来实现。而软件由一段指令序列组成, CPU一条 条地执行这些指令,一个较为复杂的功能往往需要多条指令,导致一个 软件的执行时间与指令的数量成正比,需要占用大量指令周期才能完成 一项计算任务。专用处理器可以把这样的功能通过一组电路来实现,用 硬件实现等同于使用软件执行多条指令的功能,而总的执行时间远远少 于用软件实现的执行时间。
图形、网络、硬盘、音频功能都由专用处理器(专用处理器又名为协处理器)完成。现在的计算机架构都是一个通用处理器加上若干个专用处理器。专用处理器在架构设计上完全不同于CPU,但是在计算机中的数量远远超过通 用处理器。 台式计算机中常见的专用处理器有图形处理器 (Graphics Processing Unit,GPU)、网络处理器 (Network Processing Unit,NPU)、音频处理器(Audio Processor)、硬盘控制器(Hard Drive Controller),这些专用处理器都是独立工作的 硬件,分别承担了图形处理、网络传输、音频输出、硬盘读写等功能, 在CPU的指挥和调度下协同工作,因此专用处理器还有一个名称“协处 理器”。
2、DMA:、直接存储器访问(Direct Memory Access,DMA)是提高计算机对外设 数据的处理速度的一种方法,外设可以直接向内存传送数据,不需要 CPU执行I/O指令来进中转。CPU通过I/O指令与外设进行数据交互的方式称为“直接 I/O”(Direct I/O),这一方式在面对大批量数据传输时效率较低。由于 每条I/O指令传输的数据有位宽限制(一般是寄存器的最大宽度),因 此需要重复执行多条指令才能完成数据传输。例如在一个32位CPU中, 传输1MB数据就需要执行 32768条指令,占用了太多CPU时间。 DMA机制是在内存与外设之间增加一个硬件模块——DMA控制器。 DMA控制器与CPU独立工作。在CPU需要从外设读取大量数据时,CPU 只需要告诉DMA控制器要读取的外设地址、数据长度,以及放入内存 的起始地址,DMA控制器就可以独立地从外设读取数据、送入内存。 在此期间,CPU可以处理其他计算任务。DMA控制器完成数据传输 后,向CPU发送中断,通知CPU“数据已传输完毕”,这样CPU就可以直 接使用内存中的数据了。DMA控制器与CPU并行工作,完成一种专门任务,这样的硬件模块属 于一种典型的协处理器(Coprocessor),体现了“专人干专事”的思想。 由于DMA控制器用途单一,只需要完成数据传输功能,不需要像CPU 一样执行烦琐的指令流水线,因此可以在单位时间内传输更多的数据。
以上内容都摘自靳国杰的《CPU通识课》,内容仅作为笔记记载