ram 和 rom 大小如何取决于 cpu?

how ram and rom size is depend on cpu?

我很想知道 CPU 是如何工作的。假设在 8 位微控制器(8051)中,ram 和 rom 如何取决于 cpu?根据这些主题,我心中有一些令我困惑的问题。像 1 = 如何定义 ram 和 rom 大小(在 8051 微控制器中)?
2 = 8 位控制器是什么意思? 3 = ROM 大小是否取决于 CPU 大小?如果不是,那么我与 8 位控制器接口的 ROM 是多少?

我搜索了更多有关我的问题的信息,但没有找到任何解决方案,所以请帮助我

是否有一些文档和书籍(微控制器)所以请建议我

谢谢,

请根据我的知识在下面找到您的问题的答案。

1) 8051单片机的内存分为程序内存和数据内存。程序存储器(ROM)用于永久保存正在执行的程序,而数据存储器(RAM)用于临时存储和保持中间结果和变量。

2) 8 位微控制器在任何特定时间处理 8 位数据。 MCU 使用的位数(有时称为位深度或数据宽度)告诉您寄存器的大小(每个寄存器 8 位)、内存地址的数量(仅 2^8 = 256 个地址)以及它们的最大数量可以处理(同样,2^8 = 256 个整数,或从 0 到 255 的整数)。 8 位微控制器的寻址有限,但一些 8 位微控制器使用分页,其中页面寄存器的内容决定使用哪个板载内存库。

3) 是的,最大 rom 大小可以通过 CPU 寻址,具体取决于地址总线的宽度。例如,在 8085 微处理器中,地址总线的宽度为 16 位,因此它最多可以寻址 2^16 = 65536(8 位值)。

与上面的答案没有太大区别...

所有这些都没有明确的定义,它们通常是俚语、工程师用语或营销用语。 8 位稍微牢固一些,但也有例外。这意味着处理器操作或大部分操作的最大大小为 8 位宽,因此如果您愿意,可以使用 8 位宽的 alu。有些人试图让寄存器大小定义位大小、指令大小、cpu 内核上的一些地址位数等。x86 也是 8 位、16 位、32 位, 64 位, 128, 256, 512 或 1024 基于上述概念?可能是任何取决于你问的人...

根据时间范围,8051 被认为是 8 位的,其中的大部分内容都是 8 位的。

8051 已被大量克隆,如前所述,银行业务有时用于扩展内存 space,因此这取决于您使用的具体 cpu/part/core 总容量使用权。 ROM/RAM 尺寸也特定于您使用的零件,您可以从零件供应商的数据表开始,然后根据需要使用其他文档。 part/IP 供应商是您在任何特定时间使用的 8051 变体的 RAM/ROM 信息的权威来源。

一般来说,不仅仅是 8051s 的微控制器往往 ROM/FLASH 比 RAM 多,当您开始编写应用程序并发现您需要比另一个更多的原因时,应该很明显。

正如 Guna 所回答的那样,最大寻址 space 由 "the bus" 上的地址位数决定,但如上所述 can/will 因实现而异,有一些可以寻址 1 兆字节,有些只能寻址 K 字节。

一些 CPU 架构比其他架构更受控制,无论是通过文档和版本,还是通过 IP 的所有权和控制(例如,没有克隆在诉讼中幸存)。所以有些会有固定地址 space 大小,目前没有例外,但也有像 8051 这样被大量克隆的(8051 仍在广泛使用,很有可能你的计算机已经在至少有一个,如果不是互联网上的服务器和像这样的网站肯定会)它们的原始时钟方案和地址 space 选项因实施而异。所以这不是 CPU name/type/brand 决定最大数量 ram/rom 的情况,它几乎永远不会确定你在特定实现、特定芯片或板.

8051资料很容易找,网站数不胜数,多了space提供链接。从一些仍在积极生产 8051 芯片的芯片供应商开始。 Silicon labs、microchip、cypress,也许还有其他公司。

例如,只需几秒钟就可以找到特定部件的数据表,其中规定:

512 字节 RAM

8 kB (F990/1/6/7、F980/1/6/7)、4 kB (F982/3/8/9) 或 2 kB (F985) 闪存;在系统可编程

部件的价格在很大程度上受 ROM/FLASH 大小和 RAM 大小的影响,因此特定系列的部件基本上具有相同的设计,但根据您的需要使用不同大小的内存,如果可以的话保持程序更小你可以购买一个部件,比如说比家庭中的另一个部件少一美元,但可能具有相同的占地面积,以便设计较大的部件并切换到较小的部件,反之亦然希望较小的部件,如果你程序太大,必须切换到更大的程序并处理利润损失。