gpt4 book ai didi

caching - 2 计算机基础问题

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

问题 1:

内部寄存器和内部缓存到底存在哪里?据我了解,当程序加载到主内存中时,它包含文本部分、堆栈、堆等。但是,寄存器是位于主存的固定区域中,还是物理上位于 CPU 上而不驻留在主存中?这也适用于缓存吗?

问题 2:

设备 Controller 到底如何使用直接内存访问而不使用 CPU 在本地缓冲区和主内存之间调度/移动数据?

最佳答案

基本答案:

  1. CPU registers直接在CPU上。 L1、L2 和 L3 caches通常是在芯片上;但是,它们可能在多个内核或处理器之间共享,因此它们并不总是“物理上位于 CPU 上”。然而,它们也从来不是主内存的一部分。一般原则是,内存距离 CPU 越近,速度越快、成本越高(因此也越小)。高速缓存中的每个项目都有一个与其关联的特定主内存地址(但是,同一插槽可以在不同时间与不同地址关联)。然而,寄存器和主存之间没有直接关联。这就是为什么如果您在 C 中使用 register 关键字(并非经常需要,因为编译器通常是更好的优化器),则不能使用 & 运算符。
  2. DMA Controller 直接执行传输。 CPU 监视总线,以便知道何时“在其背后”进行更改,从而使其缓存失效。

关于caching - 2 计算机基础问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541884/

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