计算机系统的重要概念

基本概念

  • IA32、x86-64是机器码的标准
  • x86-64是IA32的扩展

编译系统

preprocessor, compiler, assembler, linker

计算机系统的重要概念_第1张图片
程序文本到可执行文件

典型系统的硬件组织

计算机系统的重要概念_第2张图片
计算机系统硬件结构

总线,在各组件中传递固定大小的字节块(words)

Cache

cache-memory:由于处理器访问处理器内部存储空间(如寄存器)比访问内存要快得多,所以处理器增加暂存区域存储计算机近期可能需要访问的数据。

L1 cache 包括几万字节,访问速度与访问寄存器速度相差无几
L2 cache 包含十万到百万字节,通过特殊的总线与处理器相连,比L1慢5倍,但仍然比访问内存要快5到10倍
L1 L2使用SRAM(static random access memory)
一些计算机系统也有L3 cache

存储体系

计算机系统的重要概念_第3张图片
存储体系

操作系统

操作系统的目的

(1) 保护硬件,避免软件不安全的直接操作硬件
(2) 将硬件资源抽象,提供统一接口服务给上层应用

操作系统通过进程、线程、虚拟内存、文件系统等设施管理硬件


计算机系统的重要概念_第4张图片
硬件抽象

context switching:上下文切换,指单CPU运行多个程序时,程序切换过程。多核CPU可以在每个核同时运行程序

内存映像

virtual address space:每个进程有同样的内存视图,进程视自己独占所有的资源

计算机系统的重要概念_第5张图片
进程虚拟地址空间

程序代码和数据:所有的程序代码有同样的固定起始地址
堆:heap,程序运行期间动态分配的空间
共享库:动态链接
栈:stack,编译器用来实现函数调用而动态使用的空间
内核虚拟镜像:应用程序不可以访问修改

不同系统通信

通过网络可以屏蔽不同系统的实现差异


计算机系统的重要概念_第6张图片
网络通信
并发实现

并发:concurrency,表示一个系统具有同时存在多个活动的能力的通用概念
并行:parallelism,使用并发使得系统运行更快

1,线程级并发

即多进程,多线程,包括软件和硬件级别的实现

multiprocessor system:多处理器系统,单系统内核控制多个处理器
multi-core:单处理器多个核心

计算机系统的重要概念_第7张图片
不同处理器的分类:单处理器;多处理器
计算机系统的重要概念_第8张图片
多核系统架构 Intel Core i7

hyperthreading:超线程,也称同时多线程( simultaneous multi-threading),单CPU执行多个控制流。CPU的一些硬件组件有多份(如PC指针、寄存器),其他部件只有一份(如浮点运算单元),超线程处理器自行决定本轮时间执行哪个线程;
举例:四核八线程,即CPU有四个核心,每个核心可以同时执行两个线程

2,指令级并行

一个时钟周期执行多条指令,采用流水线技术(pipelining),这种处理器称为超标量体系结构处理器(superscalar processors)

3,单指令,多数据结构并行

SIMD(single-insruction,mltiple-data),即一条指令可以并行执行多个操作(比如一条指令同时对4对单精度浮点数加操作),多用于加速处理图像、声音、视频数据等。

抽象概念

将计算机的操作、硬件抽象出来,则可以不用考虑不同的软硬件实现,使用统一的接口来处理。


计算机系统的重要概念_第9张图片
计算机系统的重要概念:抽象

你可能感兴趣的:(计算机系统的重要概念)