33、程序分析中涉及的系统概述

程序分析中涉及的系统概述

1. 引言

本附录涵盖了一系列对程序性能有显著影响的概念。其中两个部分与内存使用(包括虚拟内存管理)相关,一个部分关于运行时支持功能(垃圾回收),还有一个部分是关于将源代码转换为优化目标代码的编译器(优化编译器)。这些在软件执行时都起着重要作用。

2. 内存层次结构

大多数现代计算系统都有一个内存层次结构,包括寄存器、缓存、主内存和外部内存。寄存器是执行操作的地方,因为只有寄存器可以执行操作。操作需要操作数,这些操作数必须从存储中获取。由于应用程序及其数据通常都存储在磁盘(常见的外部内存)上,代码和相关数据在使用前必须先安装到主内存,再到缓存。

以下是内存层次结构的相关信息:
| 内存类型 | 特点 | 访问时间 | 数据传输单位 |
| ---- | ---- | ---- | ---- |
| 寄存器 | 执行操作的地方 | 极快 | 单个操作数 |
| 缓存 | 速度比主内存快3 - 10倍 | 较快 | 缓存行(数百字节) |
| 主内存 | 数据存储和处理的主要区域 | 适中 | 缓存行 |
| 外部内存(磁盘) | 大容量存储 | 慢(数十毫秒) | 块(约10³字节) |

访问磁盘是以块为单位,一个块大约是10³字节或字。由于磁盘是机械设备,过去二十年来访问时间没有显著增加。从磁盘检索一个块大约需要数十毫秒,这对于现代计算系统来说是很长的时间,相当于数百万条指令甚至更多。

一旦数据在主内存中,必须将其传输到缓存,寄存器才能获取数据。数据以缓存行为单位传输到缓存,而不是单个数据项。缓存行大约是数百字节。缓存的访问时间随着

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值