堆栈宽度始终与 CPU 寄存器大小相同吗?

2023-12-03

例如,对于8位CPU,堆栈大小预计为8位宽,而16位CPU vs 16位堆栈宽度,以及32位、64位CPU等。对于所有架构都是如此吗?


CPU有数据总线和地址总线。它们可以具有相同的宽度,但通常不是。

堆栈指针是指向内存的指针,因此它通常与地址总线一样宽,除非内部使用了一些(奇怪/模糊的)转换。指令指针(指向当前指令)也是指向内存的指针,并且与堆栈指针一样宽。

其他寄存器主要处理数据,因此具有与数据总线相同的尺寸。但和往常一样,也有例外。

举个老例子。 6502。一个8位cpu(8位数据总线,16位地址总线)。它具有(或多或少)通用寄存器 X 和 Y,以及称为 A 的“累加器”。所有 8 位寄存器。有一个堆栈指针和一个指令指针,堆栈指针有8个显式位和8个隐式位(堆栈总是在同一个256字节区域中),因此堆栈指针寄存器有8位,指令指针有16位。

8086 有一个 16 位数据总线和一个 20 位地址总线。一般寄存器有8位(和16位)。指令指针和堆栈指针为 16 位,但使用段寄存器(也是 16 位)来获取完整的 20 位地址。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

堆栈宽度始终与 CPU 寄存器大小相同吗? 的相关文章

  • Intel的Sandy Bridge CPU中TLB的大小是如何确定的?

    维基百科网页 https en wikipedia org wiki Sandy Bridge https en wikipedia org wiki Sandy Bridge 提到数据TLB对于4KB 2MB和1GB页面分别有64 32和
  • 批处理文件获取 CPU 温度(°C)并设置为变量

    我如何获取批处理文件来计算 CPU 的温度并将其作为变量返回 我知道这是可以做到的 因为我已经看到它已经完成了 该解决方案可以使用任何外部工具 我在谷歌上搜索了至少两个小时 但一无所获 任何人都可以帮忙吗 谢谢 您可以使用wmic exe
  • 用于查找 UNIX 计算机上 CPU 信息的命令

    您知道是否有一个 UNIX 命令可以告诉我 Sun OS UNIX 机器的 CPU 配置是什么 我也在尝试确定内存配置 有没有 UNIX 命令可以告诉我这一点 AFAIK 没有标准的 Unix 命令 我没有使用过Sun OS 但是在Linu
  • 第一个计算机程序是如何创建的? [复制]

    这个问题在这里已经有答案了 可能的重复 第一个编译器是如何编写的 https stackoverflow com questions 1653649 how was the first compiler written 这个问题一直困扰着我
  • GRUB 是否切换到保护模式?

    我想问一下 启动时将CPU切换到保护模式是GRUB还是Linux内核 我还想问 内核本身 vmlinuz 是 ELF 还是纯二进制格式 谢谢 GRUB does让你进入保护模式 GRUB多重引导规范 版本 0 6 96 第 3 2 节 ht
  • 使用javascript检测设备CPU/GPU性能?

    这个问题并不特定于 Three js 但我会用它作为例子 我最近一直在使用 Three js 开发 Web 应用程序界面 并在 WebGL 和 Canvas 渲染器 针对桌面浏览器 之间编写了一些不错的后备程序 但现在的问题变成了如何正确检
  • Android Studio 和 Ryzen CPU?

    我知道它可能会被标记为重复 但没有一个线程对我有帮助 所以我决定自己做一个 I m a Java后端开发人员我决定学习一些 Android 的东西 几年前我在 Android Studio 工作过i5 4570处理器 然后我放弃了 现在我发
  • XNA 的 CPU 使用率高

    我今天刚刚注意到 当我编译并运行一款新的 XNA 4 0 游戏时 其中一个 CPU 线程以 100 的速度运行 并且帧速率下降到 54 FPS 奇怪的是 有时它可以在 60 FPS 下运行 但随后就会下降到 54 FPS 我以前没有注意到这
  • 尝试在 Windows PC 上禁用处理器空闲状态(C 状态)

    我需要防止处理器进入空闲状态 非C0 C状态 诚然 我对处理器 C 和 P 状态了解不多 所以请耐心等待 我们使用来自第三方供应商的相机 该相机偶尔会提供损坏的帧 供应商已确定 当 CPU 进入空闲状态时 它会干扰通过火线传输帧 为了确认这
  • 使CPU的缓存失效

    当我的程序执行具有获取语义的加载操作 具有释放语义的存储操作或可能是完整栅栏时 它会使 CPU 的缓存无效 我的问题是 缓存的哪一部分实际上失效了 只有保存我使用的获取 释放变量的缓存行 或者整个缓存都失效了 L1 L2 L3 等等 当我使
  • Java限制资源使用

    有没有办法限制java使用的核心数量 同样 是否有可能限制该核心的使用量 您可以在 Linux 上使用任务集 您还可以降低进程的优先级 但除非 CPU 繁忙 否则进程将获得尽可能多的 CPU 我有一个将线程专用于核心的库 称为 Java T
  • 哪个更快:x<<1 或 x<<10?

    我不想优化任何东西 我发誓 我只是出于好奇而想问这个问题 我知道在大多数硬件上都有位移位的汇编命令 例如shl shr 这是一个单一命令 但移位多少位 从纳秒角度或从 CPU 角度角度 是否重要 换句话说 以下任一选项在任何 CPU 上都更
  • 使用 AMD FX 4100 四核获取 Linux ubuntu 12.10 上的 CPU 温度

    有很多类似的问题 但我还没有找到解决方案 如何在 Linux Ubuntu 12 10 上使用 C 或 C 获取 CPU 温度无需致电 sensors 我当然可以从文件中读取它 但是我找不到它在 12 10 中的存储位置 简单地读取文本文件
  • Django 开发服务器 CPU 密集型 - 如何分析?

    我注意到本地 windows7 机器上的 django 开发服务器 版本 1 1 1 正在使用大量 CPU 根据任务管理器的 python exe 条目 约为 30 即使处于空闲状态 即没有请求到来进 出 是否有一种既定的方法来分析可能造成
  • 查看x86架构中的cpu缓存内容

    如何查看或转储基于 x86 的架构的 cpu 缓存内容 每次进行缓存刷新时 我如何才能看到刷新了什么 在哪里 你不能 真的 CPU 缓存被设计为对于 CPU 上运行的代码是透明的 它具有加快代码执行速度的效果 但 CPU 管理有关缓存的所有
  • 如何根据CPU能力实现渲染器

    我想知道在 JavaScript 中实现渲染器的最佳方法是什么 这里真正重要的并不是渲染的内容部分 我更想知道何时以及如何有效地运行渲染器代码 目前 我有window setInterval renderFunc 1000 20 每 50
  • CPU是如何做减法的?

    我有一些基本的疑问 但每次我坐下来尝试面试问题时 这些问题和我的疑问就会出现 假设 A 5 B 2 假设A和B都是4字节 那么CPU是怎么做的呢 A B添加 我知道 A 的符号位 MSB 为 0 表示正值 B 的符号位为 1 表示负整数 现
  • 用python控制风扇速度并检测电脑内部温度?

    由于我的电脑风扇噪音很大 我想为自己编写一个程序 在不需要全速运行时 关闭它 我想用python制作它 那么有没有任何模块可以检测温度和 或设置风扇速度 不要使用 python 或 WMI 如果您使用的是 Windows 并且无法使用 sp
  • (Nand2tetris CPU)每个时钟周期发生(什么/多少)?

    在此基础上Nand2俄罗斯方块 https www coursera org learn build a computer lecture gjhcz unit 5 5 project 5 overviewCPU 如下图 我想了解一下 每个
  • Nodejs 异步函数是否使用所有 CPU 核心?

    如果我使用异步函数或带有回调的函数 例如本机 fs 模块 http 等 它们会默认在所有 cpu 核心上运行吗 或者整个系统只使用 1 个核心 Node js 中的一些异步操作 例如文件 I O fsmodule 将通过 libuv 中的线

随机推荐

  • 捆绑包 ID 和 SKU 可以在另一个 iTunes Connect 帐户中重复使用吗?

    我正在从 iTunes Connect 中删除一个应用程序 以便将其重新上传到新公司的新帐户中 从 iTunes Connect 开发者指南中 我了解到只要是从原始帐户以外的另一个帐户完成的 应用程序名称就可以重复使用 但是 Bundle
  • 使用查找/替换来清除 vbNullString

    我有一个电子表格 它在我们的 Enterprise 系统中生成为报告并下载到 Excel 电子表格中 生成的电子表格中的空白单元格并不是真正的空白 即使不存在任何数据 并且空白单元格不包含 空格 字符 例如 A2 中的以下单元格公式返回 T
  • 如何在 Tensorflow 中使用 freeze_graph.py?

    我在冻结 Tensorflow 中的模型时遇到问题 我想在 Unity 中使用它 但它们需要将冻结图作为 bytes 文件而不是 pb 除了 freeze graph py 之外 还有其他方法获取字节文件吗 我不断收到此错误 类型错误 na
  • 在 SQL (MySQL) 中根据今天的日期返回查询结果

    我有一个疑问 我得到了帮助 但我陷入了另一个困境 我的代码是 SELECT a name COUNT AS num FROM table2 b INNER JOIN table1 a ON b status id a id GROUP BY
  • 在网络浏览器中欺骗 URL

    假设我获得了某个页面的源代码 例如http example com 我现在想将此源代码写入 Web 浏览器 使用类似以下内容 myWebBrowser Navigate about blank myWebBrowser Document W
  • 发布到 beta.6 后 angularfire2 无法工作

    angularfire2 发布到 beta 6 后 我无法正确执行我的 Ionic2 应用程序 这就是问题所在 21 54 35 lint finished in 4 51 s 21 54 35 typescript uy Network
  • 带百分比的 SVG 进度圈

    我使用此处找到的代码创建进度圈 http codepen io JMChristensen pen Ablch 但我不希望它那么大 所以我将内圆和外圆的圆半径更改为 40 而不是 90 问题是在我这样做之后 显示百分比的圆停止工作 无论我在
  • 传递给函数的最佳方式是什么 - 变量还是数组/对象?

    将数据传递给函数 变量或数组 对象 的最佳实践是什么 例如 我需要大多数功能的用户信息 我应该传递包含所有信息的完整用户对象 还是只传递我需要的信息 始终是用户名 有时是 id 很少有其他用户信息 function do something
  • 将三个字符的语言代码 (ISO 639-2) 转换为两个字符的代码 (ISO 639-1)

    我正在使用文本转语音 TTS 引擎开发 Android 应用程序 TTS 组件返回可用语言列表作为列表Locale对象 但这两种方法Locale getLanguage and Locale getISO3Language每个Locale对
  • 如何在 Enter 按键时关闭键盘

    我想在按 RETURN 键时关闭键盘 我尝试过将按钮放在视图的背面 但是我怎样才能通过按 RETURN 键来做到这一点呢 BOOL textFieldShouldReturn UITextField textField textField
  • 打开文件对话框以获取 FTP 位置

    当用户浏览 ftp 位置时 我遇到打开文件对话问题 我从 openFileDialogue 获得的路径是本地路径 本地设置临时文件夹 而不是我选择的实际 ftp 路径 如何获取实际的 ftp 路径 您正在哪个版本的 Windows 上运行
  • 获取状态消息的隐私设置?

    有谁知道是否可以查询隐私设置以获取状态更新 我知道您可以将它们用于相册 但对于我的应用程序来说 能够提取不久前的随机状态消息并说 您与所有人分享了这篇文章 您今天还会这样做吗 会很有用 看看人们对在线分享的态度如何变化 我不追求任何花哨的东
  • 如何使用“cp”命令排除特定目录?

    我想复制目录中的所有文件 除了特定子目录中的某些文件 我注意到cp命令没有 exclude选项 那么 我怎样才能实现这一目标呢 rsync快速且简单 rsync av progress sourcefolder destinationfol
  • 更改 observable 但不通知 knockout.js 中的订阅者

    有没有办法忽略可观察值变化的订阅者 我想更改可观察值的值 但不使用 Knockout js 为订阅者执行它 通常这是不可能或不可取的 因为它可能会导致依赖链中的事物不同步 使用限制扩展器通常是限制依赖项接收的通知量的好方法 但是 如果您确实
  • 在完成前一个 AJAX 请求之前中止新的 AJAX 请求

    我有一个函数 可以在输入更改时运行 AJAX 调用 但是 在之前的 ajax 调用完成之前 该函数有可能会再次被触发 我的问题是 如何在开始新的 AJAX 调用之前中止之前的 AJAX 调用 不使用全局变量 参见类似问题的回答here JS
  • 为什么克隆时不执行构造函数[重复]

    这个问题在这里已经有答案了 Animal animal new Animal 101 Constructor is executed Animal clone Animal animal clone Constructor is not e
  • 将浮点数与零进行比较

    C 常见问题解答精简版 29 17 为什么我的浮点比较不起作用 推荐这个平等测试 include
  • 使用 Visual Studio 的调试器查看动态分配的空终止字符串

    有没有办法更改 Visual Studio 调试器的默认行为 以便将鼠标悬停在以 null 结尾的动态分配的字符数组 C 上时 它将显示字符串的完整内容 而不仅仅是第一个字符 我应该提到我正在使用 Visual Studio 2010 如果
  • .NET 中的 SQL 注入

    大家好 我想知道是否有人知道一些详细介绍 NET Web 应用程序 SQL 注入预防的好网站 任何资源都将得到极大的利用 谢谢 我认为 如果您在 google 上搜索一下 防止 NET 中的 sql 注入 您会发现很多好的资源 无论如何 一
  • 堆栈宽度始终与 CPU 寄存器大小相同吗?

    例如 对于8位CPU 堆栈大小预计为8位宽 而16位CPU vs 16位堆栈宽度 以及32位 64位CPU等 对于所有架构都是如此吗 CPU有数据总线和地址总线 它们可以具有相同的宽度 但通常不是 堆栈指针是指向内存的指针 因此它通常与地址