美文网首页
CSAPP translation page 9

CSAPP translation page 9

作者: 木子9268 | 来源:发表于2019-07-15 17:55 被阅读0次

1.5高速缓存非常重要

    这个简单的例子有重要的经验,系统花费大量的时间把信息从一个地方传送到另外一个地方. hello程序里面的机器指令最初(originally)是存储在磁盘里面的. 当程序加载(loaded), 它被复制到主存里面去. 处理器运行这个程序时, 指令从主存被复制到处理器. 类似的(Similarly), 字符串数据”hello, world\n”,最初在磁盘, 被复制到主存, 然后从主存被复制到显示器设备. 从程序员的角度(perspective), 很多的复制就是开销(overhead), 减慢了程序”真正的工作”.因此系统设计者主要的目标是让这些复制操作尽可能的运行得更快.

    根据机械原理(physical laws),大的存储(storage)设备比小的存储设备慢. 快的设备比同类(counterparts )慢的设备更加的昂贵. 例如, 典型系统上的磁盘驱动器(disk drive)可能比主存大(larger)1000倍(times),但是它从磁盘读取一个字可能会比主存慢10,000,000倍.

    类似的(Similarly ),一个典型的寄存器文件(register file)只储存(stores)几百位的信息, 相反(opposed),主存可以存储10亿(billions)字节. 然而, 处理器能够从寄存器读取数据比主存快100倍.  更麻烦的是(even more troublesome),  随着近些年来半导体(semiconductor )技术的发展, 处理器和主存之间(processor-memory)的差距(gap)在增加(increase). 使处理器运行比主存运行更容易也更便宜.

    针对(to deal with)处理器和主存之间的差距, 系统设计者采用了小而更快的存储设备,它被称为高速缓存存储器(cache memories, 简称cache,或高速缓存), 作为暂时的集结区域(temporary staging areas,暂时的集结区域), 存放处理器近期可能会需要的信息. 图1.8展示了一个典型系统的高速缓存器(cache memories). 在处理器芯片上的L1高速缓存的容量可以达到数万字节,访问(accessed)速度几乎和寄存器文件一样快(as fast as). 一个容量为数百万计到数千万计的一个大的L2高速缓存由一条特别的总线连接到处理器. 访问(access)L2高速缓存的事件可能比访问L1高速缓存的时间长5倍., 但它仍比访问主存快5到10倍. L1高速缓存和L2高速缓存是用被称为静态随机访问存储器(SRAM, static random access memory )的硬件(hardware)技术实现的(implemented). 新的更强大的系统甚至有三级(levels)高速缓存:L1,L2,L3. . 系统能够通过高速缓存的局部性(locality)原理获取一个更大存储器和更快的访问速度, 即程序有能够访问(access)本地区域的数据和代码的趋势(tendency). 通过在高速缓存中存放我们可能经常访问的数据, 大多数内存操作(memory operation)可以使用更快的高速缓存执行(perform).

相关文章

  • CSAPP translation page 9

    1.5高速缓存非常重要 这个简单的例子有重要的经验,系统花费大量的时间把信息从一个地方传送到另外一个地方. hel...

  • CSAPP translation page 1

    1.1信息就是位(bits)+上下文(context) 我们的hello 程序生命开始就是一个源程序(或者称为一个...

  • CSAPP translation page 6

    总线 在整个系统中运行的是称为总线(buses)的电导管(electrical conduits)集合,它们在组件...

  • CSAPP translation page 3

    这里,GCC编译器驱动程序读取hello.c源文件然后翻译成一个可执行的目标文件hello. 翻译执行的4个阶段在...

  • CSAPP translation page 4

    旁注: GNU项目 GCC是CNU项目开发出来的许多实用工具之一.GNU项目是理查德·马修·斯托曼(Richard...

  • CSAPP translation page 7

    第6章详细的讲关于输入/输出设备像磁盘的工作. 在第10章, 你将要学习怎样使用Unix的输入/输出接口从应用程序...

  • CSAPP translation page 10

    这本书当中的一个重要结论(lessons)之一就是,意识到高速缓存存储器的应用程序员能够利用(exploit)它们...

  • CSAPP translation page 8

    •加载:从主存复制一个字节或一个字到寄存器(register)里, 覆盖寄存器以前的内容. •储存:从寄存器复制一...

  • CSAPP translation page 2

    旁注: C编程语言的起源 C语言在1969年到1973年由贝尔实验室由丹尼斯•里奇(Dennis Ritchie)...

  • CSAPP translation page 13

    1.7.1进程 当程序例如hello程序运行在现代系统当中, 操作系统给我们了一个程序只运行在系统里面的错觉(il...

网友评论

      本文标题:CSAPP translation page 9

      本文链接:https://www.haomeiwen.com/subject/tjkokctx.html