计算机系统

来自iCenter Wiki
2017年5月11日 (四) 10:52Zhenchen讨论 | 贡献的版本

跳转至: 导航搜索


计算机硬件体系结构

计算机硬件是信息的存储,传输与处理的基本设备。

基本设计原则

设计原则:计算机硬件的组织方式,如计算、存储、通信之间的模式,应该和功用相适应。


计算机硬件的主要组件(components)

计算机硬件的主要组件(components)有处理器CPU、主存储器(Main Memory)、磁盘(Disk)、传输总线设备(Bus)、外设辅助设备(IO)等等。


处理器架构(CPU architecture)

微架构(micro-architecture)

微架构也被叫做计算机组织(computer organization)。微架构使得指令集架构(Instruction Set Architecture, ISA)可以在处理器上被执行。指令集架构可以在不同的微架构上执行。 计算机结构是一门探讨微架构与指令集两者互动的一门学问。

管线化的结构( pipelined architecture)允许多个指令在同一时间执行,不同的指令在微架构不同的位置执行。管线分有好几个不同的阶段(stage),这些阶段是微架构的基础。这些阶段包含撷取指令,指令解码,执行指令,以及将资料写回。一些结构还包含其他阶段,像是对内存做存取的动作。管线是微架构其中一项主要的工作。

执行单元(Execution units)也是微架构的基本元件。执行单元包含算术逻辑单元(ALU),浮点运算器(FPU),load/store单元,分支预测(branch prediction),以及SIMD。这些单元在处理器内进行计算。执行单元的数量,他们的latency(内存存取资料的时间)及throughput(将资料存到或是读取出内存的速度)影响微架构的效能。

存储等级(Memory Hierarchy)

Register

Cache

RAM(Main memory)

SSD(Solid-state disk)

Disk (magnetic)

Super-scalar CPU (MIMD, Multiple instruction multiple data )

Super-scalar CPUs add the possibility to issue more then one instruction per cycle. As long as these instructions are independent, each of them is dispatched into one of several parallel pipelines. Therefore, a super-scalar CPU can achieve an IPC (Instructions Per Cycle) higher than 1.

ALU (Arithmetic Logic Unit )

Bitwise logical operations

Bitwise shift operations


SIMD (Single instruction multiple data )

Each core has a SIMD unit in a CPU

SIMD execution model

(a) Scalar mode: one operation produces one result.

(b) SIMD mode: one operation produces multiple results.


Intel intrinsic instructions

1. _mm_cmpgt_epi8

2. _mm_cmplt_epi8

3. _mm_cmpeq_epi8

4. _mm_movemask_epi8

5. _mm_and_si128

6. _mm_sad_epu8

7. _mm_cvtsi128_si32

8. _popcnt32

9. _mm_srli_si128


MM (Memory Model )

The resolution of a memory address

CPU指令集

Intel处理器指令集

  • x86
  • x86-64

x86-64(简称x64)是64位版本的x86指令集,向后兼容于16位及32位的x86架构。x64于1999年由AMD设计,AMD首次公开64位集以扩充给x86,称为“AMD64”。其后也为英特尔所采用,现时英特尔称之为“Intel 64”.

  • MMX

MMX(Matrix Math eXtensions)是由英特尔开发的一种SIMD多媒体指令集,共有57条指令。它于1996年集成在英特尔奔腾(Pentium)MMX处理器上,以提高其多媒体数据的处理能力。其优点是增加了处理器关于多媒体方面的处理能力,缺点是占用浮点数寄存器进行运算。

  • SSE {1, 2, 3, 4.1, 4.2}

SSE(Streaming SIMD Extensions) 是继MMX的扩充指令集。SSE加入新的8个128位寄存器(XMM0~XMM7)。

  • AVX

AVX指令集(Advanced Vector Extensions,即高级向量扩展指令集),是Intel的SSE延伸架构,把寄存器XMM 128bit提升至YMM 256bit,以增加一倍的运算效率。

AVX2指令集将整数操作扩展到了256位,并引入了FMA指令集作为扩充。AVX-512则将指令进一步扩展到了512位。

  • FMA

FMA是Intel的AVX扩充指令集,如名称上熔合乘法累积(Fused Multiply Accumulate)的意思一样。


Intel-VT

计算机软件

编程语言(Programming language)

高级编程语言(High level Programming language),如C++, Java, Python 等等,用于创作源代码。

源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)

目标代码(object code) → 链接器(Linker)→ 可执行文件(executables)

机器代码(Machine code)或机器指令 (instructions )

编辑器

IDE 集成开发环境

编译器

链接器

常用软件

操作系统(OS)

Linux、Windows、Mac OS

数据库(database)

关系型数据库

NoSQL

其他工具软件