一,计算机的分类
- 个人移动设备(PMD),比如平板电脑、手机。
- 桌面计算机(PC),比如台式机、笔记本电脑,包括低端的上网本和高端高配工作站。
- 服务器,强调可用性(365*24)、可扩展性和高吞吐能力。
- 集群/仓库级计算机(WSC),一组桌面计算机或服务器通过局域网连接在一起,运转方式类似于一个更大型的计算机。
- 嵌入式计算机,不能运行第三方软件的计算机,比如微波炉、洗衣机、电梯中使用的微处理器,其主要目标是以最低的价格满足性能的需要。
二,并行度与并行体系结构的分类
在所有的计算机类别中,多种级别的并行度现在已经成为计算机设计的推动的力量,而能耗和成本则是主要约束条件。
应用程序中主要有以下两种并行:
(1)数据级并行(DLP),可以同时操作许多数据项。
(2)任务级并行(TLP),创建一些能够单独处理但大量采用并行方式执行的工作任务。
计算机硬件又以如下4种主要方式来开发这两种类型的应用并行:
- 指令级并行,在编译器的帮助下,利用流水线之类的思想适度开发数据级并行,利用推理执行之类的思想以中等水平开发数据级并行。
- 向量体系结构和图形处理器(GPU),将单条指令并行应用于一个数据集,以开发数据级并行。
- 线程级并行,在一种紧耦合硬件模型中开发数据级并行或者任务级并行,这种模型允许在并行线程之间进行交互 。
- 请求级并行,在程序员或操作系统指定的大量去耦合任务之间开发并行。
三,指令集体系结构
指令集体系结构(ISA),作用相当于是区分软件和硬件的界限。
-
ISA分类,现今几乎所有的ISA都划分到通用寄存器体系结构中,在这种体系结构中,操作数或者是寄存器、或者是存储器地址。80x86有16个通用寄存器和16个通常存入浮点数据的寄存器,而MIPS则有32个通用寄存器和32个浮点寄存器。
通常一条指令均包含操作符和操作数。例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。
MIPS架构(Microprocessor without interlocked piped stages architecture的缩写,无内部互锁流水级的微处理器),是一种采取精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。最早的MIPS架构是32位,最新的版本已经变成64位。
2002年,中国科学院计算所开始研发龙芯处理器,采用MIPS架构,但未经MIPS公司的授权,遭到侵权的控告。
2009年,中国科学院与MIPS公司达成和解,得到正式授权。
处理器三大架构:80x86、ARM和MIPS。 -
存储器寻址,几乎所有的计算机都使用字节寻址来访问存储器操作数。
-
寻址模式,除了指定寄存器和常量操作数之外,寻址模式还指定了一个存储器对象的地址。MIPS寻址模式为:寄存器、立即数、位移量。
-
操作数的类型和大小
-
操作指令,常用的操作类别为:数据传输指令、算术逻辑指令、控制指令和浮点指令。相比于MIPS,80x86的操作指令集要丰富的多,大得多。
-
控制流指令,条件转移、无条件跳转、过程调用和返回等。ARM和MIPS过程调用将返回地址放在一个寄存器中,而80x86调用将返回地址放在存储器中的一个栈内。
-
ISA的编码,有两种基本的编码选择:固定长度和可变长度。所有ARM和MIPS指令的长度都是32位,而80x86为可变长度,变化范围为1~18个字节。后面ARM和MIPS都支持16位的指令,以便缩小程序规模。
2010年出厂的芯片中有61亿个采用了ARM处理器,是采用80x86处理器的芯片的20倍。
四,真正的计算机体系结构
计算机的实现包括两个方面:组成和硬件。