主控芯片
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主控芯片
SSD主控本质是一颗处理器,主要基于ARM架构。
也有部分SSD厂家采用RISC架构,使其具备CPU级别的运算能力。不同架构、核心/晶体管数量的多少、频率的高低关乎主控的性能。
而ARM与RISC架构的区别,就要提到RISC与CISC的区别。就简单来说,ARM是RISC的
RISC(Riduced Instruction Set Computer)精简指令集计算机
CISC(Complex Instruction Set Computer)复杂指令集计算机
CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。早期的CPU全部是CISC架构,它的设计目的是
CISC
要用最少的机器语言指令来完成所需的计算任务。RISC和CISC是设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有:
(1)指令系统:RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC 计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。
(2)存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC机器的存储器操作指令多,操作直接。
(3)程序:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。
(4)中断:RISC机器在一条指令执行的适当地方可以响应中断;而CIS
CISC
C机器是在一条指令执行结束后响应中断。
(5)CPU:RISCCPU包含有较少的单元电路,因而面积小、功耗低;而CISCCPU 包含有丰富的电路单元,因而功能强、面积大、功耗大。
(6)设计周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC微处理器结构复杂,设计周期长。
(7)用户使用:RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC 微处理器结构复杂,功能强大,实现特殊功能容易。
(8)应用范围:由于RISC指令系统的确定与特定的应用领域有关,故RISC机器更适合于专用机;而CISC机器则更适合于通用机。
ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于行动通讯领域,符合其主要设计目标为低耗电的特性。
所谓"体系结构",是指程序员在某CPU上进行程序设计时能够使用的处理器资源,其中最重要的是处理器所提供的指令系统和寄存器组。注意体系结构(architecture)和组成(structure)的区别:前者是处理器的逻辑抽象,是程序员关注的部分。后者是具体实现,一般为计算机系统设计人员关注。一般来说,arachitecture,structure是不同层次的概念,但两者也有一定的联系。
以指令系统的设计为例:相同的指令系统可以通过“硬连接”或“微程序”的方法来实现。前者通过CPU的硬件电路来实现,后者通过"微程序"来实现。如果指令集以硬连接实现,那么对于复杂指令来说,电路设计就非常困难;反之,若用微程序来实现指令集,可以实现复杂指令。现代CISC处理器一般都使用微码来实现。
在使用微码技术的处理器中,实际存在着两套不同层次的指令:一套是面向程序员的,高层的指令;一套是面向硬件实现的,底层的微码。在指令与微码之间存在着一个“解释器”,它将指令翻译成对应的微码序列。由此可以想象,指令与微码之间的关系实际上时“子程序调用”思想的推广。
对于CISC和RISC的实现而言, 它们所侧重的复杂性不同: CISC处理器的实现复杂性更高, 而RISC编译器的复杂性
更高.
微码相对于指令的特点:
1,微码代表的都是非常简单的基本操作,而指令可能非常复杂。
2,微码的取指操作很快:所有的微码都位于ROM中,而指令位于内存中。[note_1] 3,微码的格式很规则,简单。因此易于译码。
4,微码的执行速度很快,而指令相对较慢。
从处理器架构来看,可以将使用微码技术的现代CISC的基本单元视为一个快速的RISC内核。这样问题就出来了:如果不引入“解释器”,而直接使用RISC微码作为指令,那会怎样呢?——这正是RISC的思想。
下面我们来看看使用微码实现的CISC指令集的优缺点:
CISC指令集又复杂化的倾向,即向高级语言看齐,处理器厂商纷纷提供一些功能强大的复杂指令,例如:Intel针对X86处理器在MOVE基础上提供了“成串”MOVE指令,可以将内存中数据按字节成块复制,相当于:
while (n--) *dest++ = *src++;
这方便于复制数据结构。对于其他的复杂操作,也可以通过一条指令就实现。CISC
复杂指令的寻址方式也种类繁多,操作数可以直接来自内存。但复杂指令为现代处理器技术中广泛使用的流水线技术引入了问题:在微处理器中指令的执行一般分为“预指”,“取操作数”,“运算”,“存放”等操作。对于CISC 复杂指令,他们的执行时间各不相同[note_2](有的可在4,5个时钟周期内完成,有的却需要几十个,即便对于简单指令,也会由于寻址方式的不同造成不同的执行时间)。更糟糕的是,指令长度也不一致,同一指令的长度也会因不同的寻址方式而变化。针对这些指令,如何设计流水线长度呢?若按最短指令设计流水线,当碰到复杂指令时流水线就会发生中断;若按最长指令设计流水线,执行较短指令时就会跳过某些工位,使流水线不能完全充满。
针对上述情况,以及20-80定律(80%的情况下执行的是占指令集20%的常用指令)。多数复杂指令很少用到。当使用高级语言进行程序设计时,编译器为了兼容早期的CPU,一般不会生成特殊的复杂指令。如果舍弃这些不常用的复杂指令,就能简化CPU的设计。这正是RISC的出发点。
RISC的特点
1,RISC指令系统较小:种类的数量较少,只提供简单指令。这些指令大多都能在4,5个时钟周期内完成。
2,指令的操作数必须预存于寄存器中,这样取指操作的时间也统一了。
3,指令长度,寻址方式,格式都整齐划一:这样可以充分利用流水线,基本上可实现一个时钟脉冲执行一条指令的目标。
4,RISC的子程序调用与CISC的不同:在CISC中,程序调用、返回时需将上下文保存在堆栈中,需要内存操作。而RISC将它们存放在寄存器中,而且参数也使用寄存器传递。(若