642:
would be. The bits where you'd think they would go don't have to be zero, they are used for other things (bit 63 is the NX bit, bits 52 through 62 are "available" for the OS to use as it wants). So in terms of anything specifiable by a programmer, even a system programmer, bits 52-63 of physical addresses (nor even of the PTEs they came from) are not the subject of any "must be zero" rule. They just can't be specified at all. There is no place to do so.
270:
243:
119:
92:
330:
187:
211:
61:
32:
542:
and the maximum size of a RAM module. These issues are hinted at in the lede but not mentioned in the article body - which means they shouldn't be in the lede. The section on CPU address limits leaves the reader with the impression that whatever the "address pin" count on the CPU is, that's the RAM limit and that's it. Wrong.
499:
between a set of high bits and a set of low bits, with an accompanying pin to indicate which is valid. The memory subsystem can latch these into two halves of a parallel register that contains the entire address. Thus the number of effective memory address bits could be double the number of "memory address pins".
608:
grossly inadequate. Again, there is perhaps room for an article that describes the evolution of memory support in OSs, why various decisions were made, etc. But a simple list of product characteristics is not what WP articles should be. Especially not when that information is already in the products' articles.
641:
Regarding the notion that the "unsupported" bits of a physical address being required to be zero... it's more like they can't be specified at all, at least not on x64 with 52-bit physical addresses supported. There is just no place in the PTE to specify what bits 52 through 63 of a physical address
607:
As with the chip-by-chip stuff there is little reason here to enumerate operating systems and describe the RAM limits of each - this info should go in each OS's article. Various OSs are different enough from each other that a simple list "this one supports this much, that one supports that much" is
603:
Why is this the starting point? What about OSs for minicomputers, superminis, mainframes? Nobody cares, other than historically, about the RAM limits of CP/M. If we do care about history - and as an encyclopedia, we should - then we should cover older OSs, and non-personal computer OSs. If we don't
541:
CPU address limits may be further constrained by the chipset. A large number of chipsets for
Pentium Pro, and later the 32-bit Xeons, do not support the entire possible address width of their processors. Then there are motherboard limitations such as the sheer number of RAM module sockets available
502:
For another example, on the
Pentium Pro and later Xeons that first supported PAE, PAE does increase the physical address width to 36 bits - but there were only 33 address pins on the CPU, numbered A3 through A36. Bits A0, A1, and A2 never leave the CPU, as RAM is always read and written in 8-byte
474:
A 64-bit address space is enough to give everyone on earth nearly 2 gigabytes of RAM - only problem is, even with 1 nanosecond RAM it would take 595 years to do the first pass through RAM on a power-on self test. In 1981 my desktop PC ran happily with 150 ns RAM and 385 kbytes - today you can get
498:
Even in the days when there were separate "memory address pins" you can't count the pins and say the maximum addressable memory is two to that number bytes. First, the assertion early on that all of the address pins must be valid at the same time is false. Address pins can be shared, for example
534:
is both unsourced and highly dubious. We do have serial interfaces to memory now, wherein addresses and data flow over the same wires. There are such things as multiplexed memory address/data pins. And even before such interfaces, not every CPU was designed with a goal of reducing this supposed
576:(1983), generated 24-bit external addresses with no performance penalty by multiplexing the top 8 bits of the address on the data bus pins during the Φ1 part of the machine cycle, which was unused by the 6502 CPU. (All other operations happen on the Φ2 part of the cycle.)
637:
Nor by the way is there a processor-imposed division of RAM between "kernel" and "user" space. In
Windows at least there's no such OS-imposed division either. The user/kernel division only exists in virtual address space.
633:
The "sign extension" mechanism alluded to is not "sometimes different" for phys/virt. It only happens for virtual addresses, not physical, and discussion of virtual addresses has no place in an article called "RAM limit".
548:
All references to limits of specific processors and operating systems should be left to their respective articles. There is no need to duplicate that information here. There is perhaps room for an article describing the
734:
553:
by which RAM addresses are limited, but it will need to be far better-referenced than this one. I suspect the material would be just a couple of paragraphs that would better be placed in something like the
220:
545:
This entire article reads more like an essay written by someone in an AP high school class who maybe completed a project in digital logic. I do not believe it is salvageable in its present form.
471:
Trying to fix this. As usual, we have a list of specs and no mention of *why* the specs exist. Many technology articles in
Knowledge (XXG) read as if we'd raked through an Area 51 crash.
714:
320:
749:
729:
310:
225:
503:
chunks. These CPUs do allow physical memory to be addressed at the byte level, but anything smaller than an eight-byte chunk is all resolved in the CPU-to-memory cache.
754:
744:
724:
286:
664:
There is no reference in article about motherboard design imposing limitation in the maximal memory capacity. Seems like we should add some comments about it.
177:
42:
699:
344:
167:
277:
248:
495:
Modern CPUs do not have separate "memory address pins". The memory addresses are multiplexed onto the same pins as the data from memory transactions.
709:
201:
429:
On x86, not if the OS enables protected memory. The "16 bits" is then merely the "displacement" from the base address of the current memory segment.
694:
143:
704:
630:
48 "nonzero" bits (actually from 0 upto 2^47 for user and from -2^47 to -0xfff...fff for kernel), sometimes different for phys/virt addreses.
389:
367:
671:
456:
414:
339:
253:
126:
97:
196:
102:
535:
performance problem. In some cases memory access was fast enough even without presenting all the bits of an address in parallel.
739:
72:
719:
449:
page should include limits of other technologies/architectures, or be renamed 'Wintel RAM limits' or something similar.
572:
Note that this is wrong not only for modern CPUs, but even quite old ones. For example, the successor to the 6502, the
530:
must be valid at the same time, otherwise access to memory would be delayed and performance would be seriously reduced.
38:
78:
60:
675:
418:
393:
371:
667:
452:
410:
460:
139:
386:
480:
285:
on
Knowledge (XXG). If you would like to participate, please visit the project page, where you can join
142:
on
Knowledge (XXG). If you would like to participate, please visit the project page, where you can join
538:
And this assertion is the basis for this entire section, rendering the entire section questionable.
31:
617:
407:
Why does it say a 16-bit OS has 15/16M addressable ram...shouldn't a 16-bit OS only have 64K?
366:... there were electrical limits due to loading that limited some systems to three DIMM slots
282:
476:
555:
688:
647:
613:
581:
563:
508:
434:
269:
242:
527:
329:
210:
186:
118:
91:
17:
573:
135:
643:
609:
577:
559:
522:
In fact... the opening sentence of the "CPU addressing limits" section:
504:
430:
131:
604:
care about history then all of the "no longer current" stuff can go.
385:
Someone should write a counterpart article about harddrives, this:
679:
651:
585:
567:
512:
484:
464:
438:
422:
397:
375:
526:
For performance reasons, all the parallel address lines of an
475:
multiple gigabytes, but the speed is hardly 10 times more. --
54:
26:
328:
209:
185:
558:
article, though that one is also sadly lacking references.
735:
Start-Class
Computer hardware articles of Mid-importance
599:
The first major operating system for microcomputers ...
281:, a collaborative effort to improve the coverage of
130:, a collaborative effort to improve the coverage of
715:Start-Class software articles of Low-importance
623:Sign extension in virtual vs physical addresses
491:"Pins" counts are mostly wrong, also misleading
591:And then there's the operating systems section
590:
295:Knowledge (XXG):WikiProject Microsoft Windows
8:
58:
665:
237:
86:
750:Low-importance Microsoft Windows articles
730:Mid-importance Computer hardware articles
41:on 8 February 2009 (UTC). The result of
239:
88:
755:WikiProject Microsoft Windows articles
745:Start-Class Microsoft Windows articles
725:Start-Class Computer hardware articles
598:
525:
298:Template:WikiProject Microsoft Windows
152:Knowledge (XXG):WikiProject Computing
7:
275:This article is within the scope of
124:This article is within the scope of
77:It is of interest to the following
25:
700:Mid-importance Computing articles
660:Motherboard limitations (01/2019)
710:Low-importance software articles
445:Too MSDOS/Windows/Intel focussed
388:would be a good starting point.
268:
241:
117:
90:
59:
30:
315:This article has been rated as
172:This article has been rated as
37:This article was nominated for
695:Start-Class Computing articles
652:01:18, 27 September 2018 (UTC)
155:Template:WikiProject Computing
1:
705:Start-Class software articles
627:A previous edit comment said
398:08:03, 6 September 2009 (UTC)
376:11:52, 15 February 2009 (UTC)
337:This article is supported by
289:and see a list of open tasks.
278:WikiProject Microsoft Windows
218:This article is supported by
194:This article is supported by
146:and see a list of open tasks.
586:13:17, 3 December 2021 (UTC)
221:Computer hardware task force
680:18:31, 1 January 2019 (UTC)
485:15:07, 24 August 2012 (UTC)
771:
465:20:23, 1 August 2012 (UTC)
321:project's importance scale
301:Microsoft Windows articles
178:project's importance scale
618:16:13, 19 June 2017 (UTC)
568:16:03, 19 June 2017 (UTC)
513:07:48, 19 June 2017 (UTC)
439:07:43, 19 June 2017 (UTC)
336:
314:
263:
217:
193:
171:
112:
85:
423:22:28, 4 May 2010 (UTC)
740:All Computing articles
333:
214:
190:
140:information technology
67:This article is rated
720:All Software articles
340:WikiProject Computing
332:
213:
189:
127:WikiProject Computing
71:on Knowledge (XXG)'s
197:WikiProject Software
595:Which starts out:
334:
215:
191:
158:Computing articles
73:content assessment
682:
670:comment added by
518:more on pin count
455:comment added by
413:comment added by
359:
358:
355:
354:
351:
350:
292:Microsoft Windows
283:Microsoft Windows
249:Microsoft Windows
236:
235:
232:
231:
53:
52:
16:(Redirected from
762:
467:
425:
381:harddrive limits
303:
302:
299:
296:
293:
272:
265:
264:
259:
256:
245:
238:
160:
159:
156:
153:
150:
121:
114:
113:
108:
105:
94:
87:
70:
64:
63:
55:
34:
27:
21:
770:
769:
765:
764:
763:
761:
760:
759:
685:
684:
662:
631:
625:
593:
556:Computer memory
520:
493:
450:
447:
408:
405:
383:
364:
362:physical limits
300:
297:
294:
291:
290:
257:
251:
157:
154:
151:
148:
147:
106:
100:
68:
23:
22:
15:
12:
11:
5:
768:
766:
758:
757:
752:
747:
742:
737:
732:
727:
722:
717:
712:
707:
702:
697:
687:
686:
661:
658:
656:
629:
624:
621:
592:
589:
519:
516:
492:
489:
488:
487:
472:
446:
443:
442:
441:
404:
401:
382:
379:
363:
360:
357:
356:
353:
352:
349:
348:
345:Mid-importance
335:
325:
324:
317:Low-importance
313:
307:
306:
304:
287:the discussion
273:
261:
260:
258:Low‑importance
246:
234:
233:
230:
229:
226:Mid-importance
216:
206:
205:
202:Low-importance
192:
182:
181:
174:Mid-importance
170:
164:
163:
161:
144:the discussion
122:
110:
109:
107:Mid‑importance
95:
83:
82:
76:
65:
51:
50:
43:the discussion
35:
24:
18:Talk:RAM Limit
14:
13:
10:
9:
6:
4:
3:
2:
767:
756:
753:
751:
748:
746:
743:
741:
738:
736:
733:
731:
728:
726:
723:
721:
718:
716:
713:
711:
708:
706:
703:
701:
698:
696:
693:
692:
690:
683:
681:
677:
673:
669:
659:
657:
654:
653:
649:
645:
639:
635:
628:
622:
620:
619:
615:
611:
605:
601:
600:
596:
588:
587:
583:
579:
575:
570:
569:
565:
561:
557:
552:
546:
543:
539:
536:
532:
531:
529:
523:
517:
515:
514:
510:
506:
500:
496:
490:
486:
482:
478:
473:
470:
469:
468:
466:
462:
458:
454:
444:
440:
436:
432:
428:
427:
426:
424:
420:
416:
412:
402:
400:
399:
395:
391:
390:76.66.196.139
387:
380:
378:
377:
373:
369:
368:76.66.196.229
361:
346:
343:(assessed as
342:
341:
331:
327:
326:
322:
318:
312:
309:
308:
305:
288:
284:
280:
279:
274:
271:
267:
266:
262:
255:
250:
247:
244:
240:
227:
224:(assessed as
223:
222:
212:
208:
207:
203:
200:(assessed as
199:
198:
188:
184:
183:
179:
175:
169:
166:
165:
162:
145:
141:
137:
133:
129:
128:
123:
120:
116:
115:
111:
104:
99:
96:
93:
89:
84:
80:
74:
66:
62:
57:
56:
48:
44:
40:
36:
33:
29:
28:
19:
672:86.98.87.149
666:— Preceding
663:
655:
640:
636:
632:
626:
606:
602:
597:
594:
571:
550:
547:
544:
540:
537:
533:
524:
521:
501:
497:
494:
457:24.89.139.58
451:— Preceding
448:
415:67.253.73.52
406:
384:
365:
338:
316:
276:
219:
195:
173:
125:
79:WikiProjects
47:no consensus
46:
528:address bus
477:Wtshymanski
409:—Preceding
69:Start-class
689:Categories
551:principles
574:WDC 65816
254:Computing
149:Computing
136:computing
132:computers
98:Computing
668:unsigned
453:unsigned
411:unsigned
103:Software
39:deletion
319:on the
176:on the
403:error?
138:, and
75:scale.
676:talk
648:talk
614:talk
582:talk
564:talk
509:talk
481:talk
461:talk
435:talk
419:talk
394:talk
372:talk
45:was
644:Jeh
610:Jeh
578:Cjs
560:Jeh
505:Jeh
431:Jeh
311:Low
168:Mid
691::
678:)
650:)
616:)
584:)
566:)
511:)
483:)
463:)
437:)
421:)
396:)
374:)
347:).
252::
228:).
204:).
134:,
101::
674:(
646:(
612:(
580:(
562:(
507:(
479:(
459:(
433:(
417:(
392:(
370:(
323:.
180:.
81::
49:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.