标签: computer-architecture

CPU如何将信息写入ram?

我的问题是,CPU如何将数据写入ram?

据我了解,现代 CPU 使用不同级别的缓存来加速 ram 访问。RAM 获取信息命令,然后向 CPU 发送突发数据,CPU 将所需数据(以及一堆接近 CPU 所需地址的额外数据)存储到最高级别的缓存中,然后 CPU 逐渐询问不同的缓存将越来越小的数据块发送到缓存级别,直到它位于 1 级缓存中,然后直接读入 CPU 寄存器。

当 CPU 写入内存时,这个过程是如何工作的?计算机是否会倒退缓存级别(与读取相比,顺序相反)?如果是这样,如何将不同缓存中的信息与主存同步?此外,与读取操作相比,写入操作的速度如何?如果我连续写入 RAM(例如在桶排序的情况下)会发生什么?

提前致谢,

-假的

编辑:我还没有真正得到我可以完全接受的答案。我特别想知道 RAM 写入的同步部分。我知道我们直接从 CPU 写入 L1 缓存,当我们同步不同级别的缓存时,数据会被推送到缓存级别,最终主 RAM 与最高层缓存同步。但是,我想知道的是,缓存何时与主 RAM 同步和同步,以及它们相对于读取命令的速度有多快。

memory cpu computer-architecture

11
推荐指数
2
解决办法
1万
查看次数

高速缓存和寄存器的区别?

高速缓存和寄存器之间有什么区别?我根据定义知道它们,但是当我们拥有它们中的任何一个时,为什么我们还需要另一个?

cache computer-architecture

9
推荐指数
1
解决办法
4万
查看次数

0 和 1 位样式/结构的替代方案

我到处寻找这个答案,甚至至少是这样的问题(即使是汤姆的硬件也没有与此“明确”相关的任何内容)。

我的问题很简单:

在计算机体系结构中,当前处理数据的方式(使用 0 和 1)是否存在或是否有任何替代方案?

我在寻找要购买的新 PC 时遇到了这个问题,并开始研究英特尔和其他处理器公司如何花费数十亿美元在芯片上挤压更多晶体管等(但这只是与我的问题部分相关)。

有些人可能会说“0和1是表示数据的最低形式”,这在此类计算机开始使用此类系统时确实如此。今天仍然如此吗?我们真的没有回到绘图板来寻找可能缩小我们目前面临的处理需求的处理替代方案吗?

我知道对你们中的一些人来说,这个问题可能有一个你认为正确的简单答案,但只要考虑一下,然后一直回到 0 和 1 甚至晶体管本身,这会让你想知道是否有替代方案可以替代每一个架构的方法或步骤存在于那里(不仅仅是 0 和 1 表示)。

我的个人观点与问题 “我相信由于当前 PC 的复杂性,在最低级别执行比 0|1 处理更复杂的事情的能力在今天可能是可能的,仅仅是因为那种类型的处理似乎违背了 PC 设计的复杂解决方案的目的”

computer-architecture

9
推荐指数
1
解决办法
3342
查看次数

增加芯片中晶体管的数量如何提高其速度?

CPU中晶体管的唯一目的是充当定义其指令集的开关吗?如果是这样,那么为什么增加晶体管的数量会提高其速度?

cpu performance computer-architecture

8
推荐指数
1
解决办法
4563
查看次数

如何确定我的处理器是 32 位还是 64 位?

如何确定我的处理器是 32 位还是 64 位?我的处理器是 AMD Phenom 8450 三核。

cpu 64-bit 32-bit computer-architecture

8
推荐指数
2
解决办法
8万
查看次数

就中断的定义而言,术语“异步”和“同步”是什么意思?

引自http://en.wikipedia.org/wiki/Interrupt

中断是指示需要注意的异步信号或指示需要更改执行的软件中的同步事件。

我想知道“异步”和“同步”是什么意思?

operating-systems process computer-architecture cpu-architecture

8
推荐指数
1
解决办法
2万
查看次数

从硬件角度来看,原子操作如何保证一致性?

  1. 据我所知,原子指令确保在执行时,没有其他线程可以修改该数据(就像临界区一样)。我对么?
  2. 这是如何在硬件中实现的?
  3. 硬件如何保证这一点?(硬件内部是否生成三个微指令:解锁、修改、锁定?)
  4. 仅使用互斥锁与原子指令有什么区别?唯一的区别是指令的数量(原子的 1 条指令,普通互斥体的多条指令)?
  5. 指令数量的差异(1 对多)是否保证正确性(如使用互斥锁)和一致性?

computer-architecture multi-threaded

8
推荐指数
2
解决办法
3199
查看次数

计算硬盘块模型读取时间

我的教授发布了一张关于如何使用块模型计算从硬盘检索数据的幻灯片。规格是:

  • 7200 转
  • 5ms 搜索
  • 80MB/s 传输速率
  • 块模型:块大小 4KB

我不明白他是如何进行以下计算的,或者一些数字来自哪里:

5ms + 1000/240 ms + 0.05ms = 9.216ms 读取块。

谁能告诉我 1000/240 毫秒和 0.05 毫秒从何而来?

编辑:如果数字碰巧完全错误,那么你会怎么做?

storage hard-drive latency computer-architecture

8
推荐指数
2
解决办法
3万
查看次数

如何找到所有 SSE 指令的列表?如果 CPU 不支持 SSE,会发生什么?

所以我一直在阅读有关处理器如何工作的信息。现在我正在使用说明(SSE、SSE2 等)。(这很有趣)。

我有很多问题(我一直在维基百科上阅读这些东西):

  1. 我已经看到了在 SSE 上添加的一些指令的名称,但是没有对它们中的任何一个进行解释(也许是 SSE4?它们甚至没有在维基百科上列出)。我在哪里可以阅读他们的工作?

  2. 我如何知道正在使用这些说明中的哪些?

  3. 如果我们知道正在使用哪些,假设我正在做一个比较,(这可能是我问过的最愚蠢的问题,不过我不知道汇编)是否可以直接使用指令在汇编代码上?(我一直在看这个:http : //asm.inightmare.org/opcodelst/index.php?op=CMP

  4. 处理器如何解释指令?

  5. 如果我的处理器没有任何 SSE 指令,会发生什么?(我想如果我们想要进行比较,我们将无法进行,对吗?)

cpu computer-architecture cpu-architecture

7
推荐指数
1
解决办法
7486
查看次数

前端总线是 CPU 还是主板的一部分?

我正在做的事情需要一个非常快速/宽的前端总线(FSB)。FSB 属于哪个组件?它是 CPU 还是主板的一部分?它是可以放在板上的东西,还是从根本上说它是主板的一部分,因此无法更换?

computer-architecture bus

7
推荐指数
1
解决办法
2794
查看次数