- Linux设备驱动开发详解:基于最新的Linux4.0内核
- 宋宝华
- 4字
- 2023-02-10 17:43:23
2.1 处理器
2.1.1 通用处理器
目前主流的通用处理器(GPP)多采用SoC(片上系统)的芯片设计方法,集成了各种功能模块,每一种功能都是由硬件描述语言设计程序,然后在SoC内由电路实现的。在SoC中,每一个模块不是一个已经设计成熟的ASIC器件,而是利用芯片的一部分资源去实现某种传统的功能,将各种组件采用类似搭积木的方法组合在一起。
ARM内核的设计技术被授权给数百家半导体厂商,做成不同的SoC芯片。ARM的功耗很低,在当今最活跃的无线局域网、3G、手机终端、手持设备、有线网络通信设备等中应用非常广泛。至本书编写时,市面上绝大多数智能手机、平板电脑都使用ARM SoC作为主控芯片。很多ARM主控芯片的集成度非常高,除了集成多核ARM以外,还可能集成图形处理器、视频编解码器、浮点协处理器、GPS、WiFi、蓝牙、基带、Camera等一系列功能。比如,高通的Snapdragon 810就集成了如图2.1所示的各种模块。
图2.1 ARM SoC范例:Snapdragon 810
主流的ARM移动处理芯片供应商包括高通(Qualcomm)、三星(Samsung)、英伟达(Nvidia)、美满(Marvell)、联发科(MTK)、海思(HiSilicon)、展讯(Spreadtrum)等。德州仪器(TI)、博通(Broadcom)则已淡出手机芯片业务。
中央处理器的体系结构可以分为两类,一类为冯·诺依曼结构,另一类为哈佛结构。Intel公司的中央处理器、ARM的ARM7、MIPS公司的MIPS处理器采用了冯·诺依曼结构;而AVR、ARM9、ARM10、ARM11以及Cortex A系列等则采用了哈佛结构。
冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。而哈佛结构将程序指令和数据分开存储,指令和数据可以有不同的数据宽度。此外,哈佛结构还采用了独立的程序总线和数据总线,分别作为CPU与每个存储器之间的专用通信路径,具有较高的执行效率。图2.2描述了冯·诺依曼结构和哈佛结构的区别。
图2.2 冯·诺依曼结构与哈佛结构
许多芯片采用的是如图2.3所示的改进的哈佛架构,它具有独立的地址总线和数据总线,两条总线由程序存储器和数据存储器分时共用。因此,改进的哈佛结构针对程序和数据,其实没有独立的总线,而是使用公用数据总线来完成程序存储模块或数据存储模块与CPU之间的数据传输,公用的地址总线来寻址程序和数据。
图2.3 改进的哈佛结构
从指令集的角度来讲,中央处理器也可以分为两类,即RISC(精简指令集计算机)和CISC(复杂指令集计算机)。CSIC强调增强指令的能力、减少目标代码的数量,但是指令复杂,指令周期长;而RISC强调尽量减少指令集、指令单周期执行,但是目标代码会更大。ARM、MIPS、PowerPC等CPU内核都采用了RISC指令集。目前,RISC和CSIC两者的融合非常明显。