gpt4 book ai didi

caching - 高速缓存和暂存器存储器

转载 作者:行者123 更新时间:2023-12-02 10:35:14 28 4
gpt4 key购买 nike

有人可以解释一下高速缓冲存储器和暂存器存储器之间的区别吗?我目前正在学习计算机体系结构。

最佳答案

便签本只是保存一些东西的地方。缓存,是您通常谈论但不谈论的内存。便签本就像便利贴,您可以在上面写一些东西并随身携带。缓存是您发送给其他人的带有备忘录等说明的文件。

缓存可以位于不同的位置、不同的层(L1、L2、L3...)。暂存器和高速缓存都只是某些芯片中的 sram,具有地址和数据总线以及读/写等控制信号。 (计算机中的许多其他东西也可能用于或不用于可寻址RAM)。在启动期间,在远端(较慢的 ram 端,处理器是近端)的 ram 初始化之前(如果您有缓存,通常是 dram,否则为什么要有缓存),可以将缓存作为可寻址 ram 进行访问。但这在很大程度上取决于系统/设计,可能有一个控制寄存器,使其能够充当简单的RAM,或者可能有一种模式,或者它的正常模式可能是这样的,只要您不寻址超过ram 的大小基于其对齐方式(可能是 32K 边界之间的 32K ram),那么它可能不会尝试逐出任何内容并在缓存的 dram/慢速/远端生成总线周期,从而允许您将其用作 ram,就像便签本。

但是,缓存的正常用例是作为通往 RAM 的理想不可见路径。您不使用缓存寻址来访问缓存 RAM,而是使用 RAM 之外的地址空间,并且缓存只是允许处理器继续运行,而无需等待慢速 RAM。

再次谈论启动,想想启动时需要做的事情,即调出 dram Controller ,这绝对是一件不简单的事情。如果没有别的办法的话,拥有一些片上内存可以让你暂时拥有一些内存用于小堆栈和一些变量。例如,您可以使用像 C 这样的编译语言的编译器,它至少需要一些用于堆栈和变量的 RAM。根据空间的不同,您也可以在那里放置一些程序,运行速度可能比闪存快得多。没有 ram 的替代方案可能是必须仅使用处理器中的通用寄存器或其他寄存器在汇编中编写 ram init,这会执行一项复杂的任务并使其变得更加困难。一旦主系统 RAM 启动,您可能会也可能不会选择不使用片上(暂存器)RAM。

我会并且确实认为,如果您想测试内存以查看它是否正常工作,那么您不需要使用该内存来测试该内存,测试程序不应运行也不应使用被测内存。芯片上有暂存器 RAM(或地址空间中的其他 RAM,例如视频卡 RAM)可用于 DRAM 测试程序。不幸的是,很多人会使用被测内存来保存进行测试的程序中的堆栈和程序以及变量和堆,从而除了一个或少数模式之外,使内存的重要部分未经测试。

关于caching - 高速缓存和暂存器存储器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30563123/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com