问题标签 [computer-architecture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
427 浏览

assembly - 英特尔处理器的虚拟操作处理

诚然,我有一个有点愚蠢的问题。基本上,我想知道英特尔处理器是否提供了一些特殊机制来有效地执行一系列虚拟指令,即 NOP 指令?例如,我可以想象可能存在某种预取机制来识别 NOPS,丢弃它们并尝试获取一些有用的指令。或者这些 NOPS 是否作为正常指令发送到执行单元,这意味着我每个周期可以大致处理 5 个 nops(假设有 5 个执行单元)

谢谢,莱因哈德

0 投票
3 回答
5456 浏览

computer-architecture - NX 标志如何工作?

您能否解释一下 NX 标志是什么以及它是如何工作的(请保持技术性)?

0 投票
4 回答
15787 浏览

assembly - CPU 从用户模式切换到内核模式:它到底做了什么?它是如何实现这种转变的?

CPU从用户模式切换到内核模式:它到底做了什么?它是如何实现这种转变的?

编辑:

即使它依赖于架构,也请给我一个答案。架构由您决定。告诉我你知道的架构。

我想知道所有事情都会涉及到什么。

0 投票
5 回答
2927 浏览

assembly - 我们如何才能发现这个处理器支持多少内存?

我刚刚开始汇编语言编程,在第一堂课中,我们的老师告诉我们有关英特尔 8080 和英特尔 8085 的信息,他说这些处理器有 64k 内存。

现在我想知道我们如何使用特定处理器找到这个内存量,例如我有一个 1.8 Ghz 的处理器,现在我如何找出这个处理器可以使用的内存量。

我想问的是告诉我如何找出这个内存量的方法?

0 投票
3 回答
2485 浏览

assembly - 16位处理器、内存寻址和内存单元

假设处理器的累加器寄存器是 16 位的,现在我们可以称这个处理器为 16 位处理器,即这个处理器支持 16 位寻址。

现在我的问题是我们如何计算可以通过 16 位寻址来寻址的存储单元的数量?根据我的计算 2 的 16 次方变为 65055 这意味着内存现在有 65055 个单元如果我们采用 1KB=1000 字节那么这将变为 65055/1000=65.055 现在这意味着 65 千字节内存可以与具有 16 的处理器一起使用位寻址。现在如果我们取 1KB=1024 Bytes 那么这就变成了 65055/1024=63.5 ,这意味着这个处理器可以使用 63 KB 的内存,但是人们说可以使用 64 KB 的内存。
现在告诉我我是对还是错以及为什么我错了为什么人们说 64kb 内存可以与具有 16 位寻址的处理器一起使用?

0 投票
6 回答
17812 浏览

memory - 32 位与 64 位……或者,“处理信息”到底是什么意思

我无法理解 32 位处理器和 64 位处理器之间的区别。我知道 32 位处理器一次可以访问 32 位,而 64 位处理器一次可以访问 64 位。但是,一次访问一定数量的位究竟意味着什么?

0 投票
1 回答
1066 浏览

assembly - 段寄存器、IP寄存器和内存寻址问题!

在下面的文字中,我问了两个问题,我也描述了我对这些问题的了解,以便您了解我的想法。您对以下文本的宝贵意见是必需的。

以下是第一个问题的详细信息

我们知道,如果我们有 1 兆字节的内存,那么我们需要 20 位来寻址这个内存。另一件事是每个存储单元都有一个物理地址,该地址在 1Mb 内存中为 20 位。IAPX88 中的 IP 寄存器为 16 位。现在我的观点是,我们根本无法通过 IP 寄存器访问内存,因为内存需要 20 位地址才能寻址,而 IP 寄存器是 16 位的。如果我们有一个 64k 的内存,那么 IP 寄存器可以访问这个内存,因为这个内存需要 16 位来寻址。但是如果 1mb 内存 IP 不能。如果不是为什么,请告诉我我是否正确?假设内存的物理地址是 11000000000000000101 现在我们如何通过 16 位访问这个内存位置。

以下是下一个问题的详细信息:

我的下一个问题是,假设IP寄存器指向内存位置,而段寄存器也指向一个内存位置(段的开始),内存是1MB,我们如何通过这两个16位访问一个内存位置寄存器告诉我如何访问 20 位可寻址内存位置的步骤顺序。如果你的答案是,我们取段值,我们把它左移 4 位,然后加上 IP 值得到 20 位地址,那么这就提出了另一个问题,就是地址总线(地址总线应该是 20位宽),段寄存器和 IP 寄存器的寄存器均为 16 位,现在如果地址总线为 20 位宽,则这意味着地址总线连接到这两个寄存器。

0 投票
9 回答
1735 浏览

bits - 6 个三元组如何等于 9.5 位?

这个 reddit线程说6 trits ~ 9.5 bits

替代文字

6 trits ~ 9.5 bits 怎么样?

0 投票
1 回答
996 浏览

exception-handling - ARM7 处理器何时增加其 PC 寄存器?

我想了一会儿这个问题:ARM7(具有3个管道)处理器何时增加其PC寄存器。

我原本以为,一条指令执行完后,处理器首先检查最后一次执行是否有异常,然后根据当前状态将 PC 增加 2 或 4。如果发生异常,ARM7 将改变其运行模式,将 PC 存储在当前模式的 LR 中,并开始处理当前异常,而无需修改 PC 寄存器。

但是在分析返回指令时没有任何意义。我无法弄清楚为什么当从未定义指令异常返回而从预取中止异常返回 LR-4 时,PC 将被分配 LR,这两个异常不是都发生在解码状态吗?更重要的是,根据我的教科书,无论在发生异常之前处理器处于什么状态(ARM 或 Thumb),PC 从预取异常返回时总是被分配 LR-4。但是,如果原始状态是 Thumb,我认为应该为 PC 分配 LR-2,因为 Thumb 指令是 2 个字节长,而不是 ARM 指令持有的 4 个字节,我们只想回滚当前状态的指令. 我的推理是否有任何缺陷或教科书有问题。

似乎是一个很长的问题。我真的希望任何人都可以帮助我得到正确的答案。

提前致谢。

0 投票
3 回答
535 浏览

memory-management - 寻址模式如何在物理级别上工作?

我正在尝试学习有关处理器的基本知识,每所大学的每个 CS 部门都应该教授这些知识。然而我在网上找不到它(谷歌没有帮助),我也无法在我的课堂材料中找到它。

您知道有关寻址模式如何在物理级别上工作的任何好的资源吗?我对英特尔处理器特别感兴趣。