我们怎样才能知道这个处理器支持多少内存呢?

发布于 2024-08-26 02:37:19 字数 178 浏览 2 评论 0原文

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

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

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

I have just started the Assembly language programming and in the first lecture our teacher told us about intel 8080 and intel 8085 and he said there was 64k memory with these processor.

Now i want to know that how we find this amount of memory with specific processor, for example i have a processor 1.8 Ghz , now how i can find out the amount of memory that can be used with this processor.

what i am trying to ask is tell me the method how we can find out this amount of memory?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

终止放荡 2024-09-02 02:37:19

这取决于 CPU 支持多少位(物理)寻址,地址位数通常 <= 地址寄存器中的位数,例如,请

8085/Z80 - 16 bit address registers - 16 bit addressing - 64 kB address space
68008 - 32 bit address registers - 20 bit addressing - 1 MB address space
68000 - 32 bit address registers - 24 bit addressing - 16 MB address space
68020 - 32 bit address registers - 32 bit addressing - 4 GB address space

注意,许多 64 位 CPU 通常仅支持 40 位之类的内容地址空间,即 1 TB。

It depends on how many bits of (physical) addressing the CPU supports, The number of address bits is typically <= the number of bits in an address register, e.g.

8085/Z80 - 16 bit address registers - 16 bit addressing - 64 kB address space
68008 - 32 bit address registers - 20 bit addressing - 1 MB address space
68000 - 32 bit address registers - 24 bit addressing - 16 MB address space
68020 - 32 bit address registers - 32 bit addressing - 4 GB address space

Note that many 64-bit CPUs typically only support something like a 40 bit address space, i.e. 1 TB.

情绪失控 2024-09-02 02:37:19

通常,处理器被设计为单个整数寄存器可以存储任何内存位置的地址。因此,“最大内存量”由寄存器(或处理器)的位数决定。 32 位等于 4 GB。 64 位等于 16 艾字节 RAM。

Usually processors are designed so that a single integer register can store the address of any memory location. Therefore the "maximum amount of memory" is determined by the amount of bits of a register (or the processor). 32 bits equals to 4 GB. 64 bits equals to 16 exabytes of RAM.

月隐月明月朦胧 2024-09-02 02:37:19

取决于架构,但 CPU 将受到其拥有的地址线数量的限制。对于旧的 Pentium Pro 32 位 CPU,支持 36 个地址线,因此 CPU 最多可以支持 64GB。较新的 CPU,例如 i7-860,它是 64 位 CPU,也仅支持 36 个物理地址,因此也限制为 64GB。物理地址空间的大小可以通过使用CPUID指令代码找到,其他CPU可能使用不同的技术或需要阅读数据表。看起来你正在学习 x86,所以在这种情况下,如果你的 CPU 支持的话,CPUID 就是你想要的。

Depends on the architecture but a CPU will be limited by how many address lines it has. With an old pentium pro 32-bit CPU there were 36 address lines supported and therefore the CPU could support up to 64GB. A more recent CPU such as the i7-860 which is a 64-bit CPU, also only has support for 36 physical addresses and therefore is limited to 64GB too. The amount of physical address space can be found by using the CPUID instruction code, other CPUs may use different techniques or require reading the datasheet. Seems like your studying x86 so in that case CPUID is what you want if your CPU supports it.

美羊羊 2024-09-02 02:37:19

您所说的“内存”是指虚拟内存还是物理内存?对于虚拟内存,32 位处理器为 4GB,但您可能无法使用所有虚拟内存,因为操作系统使用其中的一部分。另请注意 CPU 的 PAE(物理地址扩展)以及操作系统是否运行 PAE 内核。这将为您提供超过 4GB 的物理内存供安装和使用,但虚拟地址空间仍保留 4GB。请看一下:

http://en.wikipedia.org/wiki/Physical_Address_Extension

http://msdn.microsoft.com/en-us/库/aa366796(v=vs.85).aspx

http://msdn.microsoft.com/en-us/windows/hardware/gg487503" rel="nofollow">http:// /msdn.microsoft.com/en-us/windows/hardware/gg487503

What are you pointing to by referring to 'memory' virtual memory or physical? In case of virtual memory it is 4GB for 32 bit processors, although you might not get all of them to be used as the OS uses a portion of it. Also note the PAE (Physical Address Extension) for your CPU and if the OS is running a PAE kernel. This will give you more than 4GB of physical memory to be installed and used, but the virtual address space still remains 4GB. Please have a look :

http://en.wikipedia.org/wiki/Physical_Address_Extension

http://msdn.microsoft.com/en-us/library/aa366796(v=vs.85).aspx

http://msdn.microsoft.com/en-us/windows/hardware/gg487503

倾其所爱 2024-09-02 02:37:19

嗯,这取决于某些变量。

例如,8 位处理器的值最多为 255,这是通过 2 的 8 次方并减去 1 得出的。这个数字 255 是 CPU 可以处理的字节数,RAM 不能超过这个数量。

现在,让我们稍微加强一下(没有双关语的意思)。 16-it 处理器的值高达 65,535,这再次是通过取 2 的十六次方,然后减一来计算出来的(我相信您现在已经了解了大局)。这意味着我们可以拥有 65,535 字节 RAM,即 65.535 KB。希望这已经开始有意义了。

32 位处理器的值高达 4,294,967,295(这些数字变得相当大)。这就是 4,294,967,295 字节,或 4.294967295 GB RAM。这项技术在 20 世纪 90 年代开始被大量使用,至今仍处于半流行状态。

但是,当然,我们都知道技术如何快速且频繁地变化,因此,是的,还有 64 位计算机,与 32 位技术一样好。这实际上是当今最常见的处理器类型。因此,它们可以支持 18,446,744,073,709,551,615 的值。是的,这也是它可以容纳的字节数,等于 18.446744073709551615 艾字节。

而且,尽管目前没有处理器可以容纳这个数量,但也有 128 位处理器。它们最多可以容纳 340,282,366,920,938,463,463,374,607,431,768,211,455 字节的数据,这也等于 340.282366920938463463374607431768211455 ...嗯...嗯,一些字节的测量,恰好大于yottabytes,据我所知,没有任何单位除此之外的字节测量。但是,嘿,这只是告诉您 128 位处理器可以处理很多事情,而且我们可能会在不久的将来看到它们。人们之所以说 128 位、64 位、32 位、16 位或 8 位,是因为这比记住所有这些数字所代表的大数字要容易得多。

所以,我希望这会有所帮助。我不确定 8 位的是否正确,因为我知道 NES 有 2 KB RAM,超过 255 字节,但是,我知道其他一切都是正确的。如果不正确,您也可以代表您进行一些研究;)。

Well, it depends on certain variables.

For instance, an 8-bit processor has values of up to 255, which was figured out by taking 2 to the eighth power, and subtracting the value by one. This number, 255, is how many bytes the CPU can handle, and the RAM cannot exceed this amount.

Now, let's step it up a bit (no puns intended). A 16-it processor has values up to 65,535, and that was once again figured out by taking 2 to the sixteenth power, and then subtracted by one (I'm sure you get the big picture now). This means we can have 65,535 bytes of RAM, or 65.535 kilobytes. Hopefully, this is starting to make sense.

A 32-bit processor has values up to 4,294,967,295 (these numbers are getting pretty big). That's 4,294,967,295 bytes, or 4.294967295 gigabytes of RAM. This technology started being used a lot in the 90s, and it still remains semi-popular today.

But, of course, we all know how technology changes quickly and often, so yes, there is also 64-bit computers, as good as 32-bit technology is. This is actually the most common processor type today. So, they can support values of 18,446,744,073,709,551,615. Yeah, and that's also how many bytes it can hold, which is equal to 18.446744073709551615 exabytes.

And, even though currently there are no processors that can hold this amount, there is also 128-bit processors. They can hold up to 340,282,366,920,938,463,463,374,607,431,768,211,455 bytes of data, which is also equal to 340.282366920938463463374607431768211455 ...um... well, some measurement of bytes, that happens to be bigger than yottabytes, and as far as I know, there are not any units of byte measurement beyond that. But, hey, that just tells you a 128-bit processor can handle a lot, and we might be seeing them in the far future. The reason people say 128-bit, 64-bit, 32-bit, 16-bit, or 8-bit is because it's a lot easier than trying to remember all the those than those large numbers that each of them represent.

So, I hope this helps. I'm not sure the 8-bit one is correct, because I know the NES has 2 kilobytes of RAM, which exceeds 255 bytes, but, I know everything else is correct. If it isn't correct, you could do some research on your behalf as well ;).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文