飞腾CPU体系结构(一)

第一节 CPU体系结构

1.1 CPU体系结构定义

CPU体系结构可以指基于某一类CPU的计算机硬件系统给运行于其之上的软件提供的接口和界面。

从程序员的角度来看,CPU体系结构是指程序员能观察到的基于某一类CPU的计算机硬件系统具有的共同属性。如果一个二进制软件可以能直接运行在两台计算机系统之上,而且无论花费多少运行时间,所获得的结果完全相同,那么这两台计算机硬件系统具有相同的CPU体系结构。具有相同CPU体系结构的计算机硬件系统,将具有相同的软件运行结果;软件运行的速度主要取决于CPU的实现技术和计算机的组成技术。
从CPU设计者角度来看,CPU体系结构涉及到数据表示、寻址模式、通用寄存器、CPU系统寄存器、指令集、CPU状态、CPU权限级、内存子系统等各种组件;这些组件看似独立,但相互之间的关联性很大。例如,指令集本身就依赖数据表示、寻址模式、通用和CPU系统寄存器;CPU状态又和CPU系统寄存器,CPU权限级有密切关系等等。

1.2 CPU体系结构分类

CPU体系结构可以分为两大类:复杂指令集体系结构CISC,例如X86_64体系结构;精简指令集体系结构RISC,除了X86之外的其他体系结构,例如ARM64、MIPS64和PowerPC等,都属于RISC体系结构。
CISC和RISC体系结构具有以下主要差别。

首先,从指令编码长度来看,CISC采用了变长指令编码长度;RISC一般采用等长指令编码,通常采用32位指令编码长度。
其次,CISC没有定制专门的访存指令,算术指令都可以直接寻址内存单元;而RISC有专门定制的访存指令,其他指令不能直接访问内存单元。
另外,CISC将内存空间和IO空间相互独立编址,因此具有两个完全独立的内存空间和IO空间,并实现专用IO空间访问指令;而RISC将内存和IO进行统一编址,内存和IO都是在同一个地址空间上不同范围,内存单元和IO端口的都采用相同的专门访存指令进行访问。
还有,CISC体系结构的指令数量远远多于RISC体系结构;CISC体系结构提供的通用寄存器一般也少于RISC;大多数RISC对数据有严格的对齐要求,而CISC没有这方面的限制。

1.3 CPU位宽

CPU的位宽主要是指程序员编程的数据宽度和地址宽度,CPU位宽取决于两个设计因素:其一,通用寄存器的最大位宽;其二,访存指令寻址时的地址位宽。
需要特别说明的是,CPU位宽并不依赖于CPU系统寄存器的宽度,也不依赖于CPU物理地址宽度。上世纪九十年代主流是32位的CPU;当前绝大多数通用CPU是64位的并且向前兼容32位,单纯32位CPU一般应用于嵌入式。

1.4 ARM体系结构

ARM体系结构是一种精简指令集体系结构RISC,具有以下基本特点:通用寄存器数量较多;采用load/store专用访存指令,其他指令不能直接访问地址单元,地址由寄存器或指令本身决定;内存单元地址和外设端口号采用统一编址方式,系统主存和外设统一分布在CPU物理地址空间的不同范围。
飞腾CPU遵循的ARMv8标准架构,所有的指令编码长度为32位,支持64位虚拟地址,4个权限级,支持64位执行状态并兼容32位执行状态。本文重点介绍飞腾CPU的64位执行状态AArch64。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值