How much RAM could one put in a typical 80386 setup? The 2019 Stack Overflow Developer Survey Results Are InWhat exactly were those 808X computers that would switch to 80386 upon Ctrl-Alt-Del?386SX, NES and how much did data lines really cost anyway?

How to support a colleague who finds meetings extremely tiring?

How to answer pointed "are you quitting" questioning when I don't want them to suspect

What is the meaning of the verb "bear" in this context?

Does a dangling wire really electrocute me if I'm standing in water?

How can I autofill dates in Excel excluding Sunday?

How to manage monthly salary

Why hard-Brexiteers don't insist on a hard border to prevent illegal immigration after Brexit?

What to do when moving next to a bird sanctuary with a loosely-domesticated cat?

Reference request: Oldest number theory books with (unsolved) exercises?

FPGA - DIY Programming

Why do we hear so much about the Trump administration deciding to impose and then remove tariffs?

A poker game description that does not feel gimmicky

Output the Arecibo Message

Did Section 31 appear in Star Trek: The Next Generation?

What do the Banks children have against barley water?

What does ひと匙 mean in this manga and has it been used colloquially?

How to type this arrow in math mode?

Return to UK after having been refused entry years ago

Origin of "cooter" meaning "vagina"

Time travel alters history but people keep saying nothing's changed

Why is the maximum length of OpenWrt’s root password 8 characters?

Are there incongruent pythagorean triangles with the same perimeter and same area?

Falsification in Math vs Science

What does Linus Torvalds mean when he says that Git "never ever" tracks a file?



How much RAM could one put in a typical 80386 setup?



The 2019 Stack Overflow Developer Survey Results Are InWhat exactly were those 808X computers that would switch to 80386 upon Ctrl-Alt-Del?386SX, NES and how much did data lines really cost anyway?










19















I read on Wikipedia that 80386 could theoretically handle 4GiB of RAM. Knowing how long ago that was, I find it impossible to believe that anyone could actually connect as much to the CPU. So, given the constraints from motherboards and actual RAM chips existing at that time, how much RAM could one put together with an 80386?










share|improve this question







New contributor




d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1





    Keep in mind that that's the virtual address space, and many operating systems used it to keep nice round numbers for process-space blocks.

    – chrylis
    Apr 5 at 16:09






  • 1





    I'm not claiming to know of any other kind of computer that used the 386, but when you say, "setup," can we assume that you mean, "made-for-Windows PC?"

    – Solomon Slow
    Apr 5 at 17:04







  • 1





    @chrylis The virtual address space of the 386 was 32 bit, but here we are talking about physical pins connected with wires. It is so physical address space, as it only can be.

    – peterh
    Apr 5 at 22:52






  • 1





    @peterh That was directed at the implicit question of "why so much address space if you couldn't possibly add it to the motherboard?"

    – chrylis
    Apr 6 at 1:08






  • 1





    It's probably worth noting that, with custom hardware and purpose-specific software, you could attach an infinite amount of ram to any processor (provided it has some sort of of IO). That's rather not what you're asking, though.

    – Fake Name
    Apr 6 at 6:47















19















I read on Wikipedia that 80386 could theoretically handle 4GiB of RAM. Knowing how long ago that was, I find it impossible to believe that anyone could actually connect as much to the CPU. So, given the constraints from motherboards and actual RAM chips existing at that time, how much RAM could one put together with an 80386?










share|improve this question







New contributor




d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1





    Keep in mind that that's the virtual address space, and many operating systems used it to keep nice round numbers for process-space blocks.

    – chrylis
    Apr 5 at 16:09






  • 1





    I'm not claiming to know of any other kind of computer that used the 386, but when you say, "setup," can we assume that you mean, "made-for-Windows PC?"

    – Solomon Slow
    Apr 5 at 17:04







  • 1





    @chrylis The virtual address space of the 386 was 32 bit, but here we are talking about physical pins connected with wires. It is so physical address space, as it only can be.

    – peterh
    Apr 5 at 22:52






  • 1





    @peterh That was directed at the implicit question of "why so much address space if you couldn't possibly add it to the motherboard?"

    – chrylis
    Apr 6 at 1:08






  • 1





    It's probably worth noting that, with custom hardware and purpose-specific software, you could attach an infinite amount of ram to any processor (provided it has some sort of of IO). That's rather not what you're asking, though.

    – Fake Name
    Apr 6 at 6:47













19












19








19








I read on Wikipedia that 80386 could theoretically handle 4GiB of RAM. Knowing how long ago that was, I find it impossible to believe that anyone could actually connect as much to the CPU. So, given the constraints from motherboards and actual RAM chips existing at that time, how much RAM could one put together with an 80386?










share|improve this question







New contributor




d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












I read on Wikipedia that 80386 could theoretically handle 4GiB of RAM. Knowing how long ago that was, I find it impossible to believe that anyone could actually connect as much to the CPU. So, given the constraints from motherboards and actual RAM chips existing at that time, how much RAM could one put together with an 80386?







386






share|improve this question







New contributor




d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Apr 5 at 12:08









d33tahd33tah

19817




19817




New contributor




d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






d33tah is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 1





    Keep in mind that that's the virtual address space, and many operating systems used it to keep nice round numbers for process-space blocks.

    – chrylis
    Apr 5 at 16:09






  • 1





    I'm not claiming to know of any other kind of computer that used the 386, but when you say, "setup," can we assume that you mean, "made-for-Windows PC?"

    – Solomon Slow
    Apr 5 at 17:04







  • 1





    @chrylis The virtual address space of the 386 was 32 bit, but here we are talking about physical pins connected with wires. It is so physical address space, as it only can be.

    – peterh
    Apr 5 at 22:52






  • 1





    @peterh That was directed at the implicit question of "why so much address space if you couldn't possibly add it to the motherboard?"

    – chrylis
    Apr 6 at 1:08






  • 1





    It's probably worth noting that, with custom hardware and purpose-specific software, you could attach an infinite amount of ram to any processor (provided it has some sort of of IO). That's rather not what you're asking, though.

    – Fake Name
    Apr 6 at 6:47












  • 1





    Keep in mind that that's the virtual address space, and many operating systems used it to keep nice round numbers for process-space blocks.

    – chrylis
    Apr 5 at 16:09






  • 1





    I'm not claiming to know of any other kind of computer that used the 386, but when you say, "setup," can we assume that you mean, "made-for-Windows PC?"

    – Solomon Slow
    Apr 5 at 17:04







  • 1





    @chrylis The virtual address space of the 386 was 32 bit, but here we are talking about physical pins connected with wires. It is so physical address space, as it only can be.

    – peterh
    Apr 5 at 22:52






  • 1





    @peterh That was directed at the implicit question of "why so much address space if you couldn't possibly add it to the motherboard?"

    – chrylis
    Apr 6 at 1:08






  • 1





    It's probably worth noting that, with custom hardware and purpose-specific software, you could attach an infinite amount of ram to any processor (provided it has some sort of of IO). That's rather not what you're asking, though.

    – Fake Name
    Apr 6 at 6:47







1




1





Keep in mind that that's the virtual address space, and many operating systems used it to keep nice round numbers for process-space blocks.

– chrylis
Apr 5 at 16:09





Keep in mind that that's the virtual address space, and many operating systems used it to keep nice round numbers for process-space blocks.

– chrylis
Apr 5 at 16:09




1




1





I'm not claiming to know of any other kind of computer that used the 386, but when you say, "setup," can we assume that you mean, "made-for-Windows PC?"

– Solomon Slow
Apr 5 at 17:04






I'm not claiming to know of any other kind of computer that used the 386, but when you say, "setup," can we assume that you mean, "made-for-Windows PC?"

– Solomon Slow
Apr 5 at 17:04





1




1





@chrylis The virtual address space of the 386 was 32 bit, but here we are talking about physical pins connected with wires. It is so physical address space, as it only can be.

– peterh
Apr 5 at 22:52





@chrylis The virtual address space of the 386 was 32 bit, but here we are talking about physical pins connected with wires. It is so physical address space, as it only can be.

– peterh
Apr 5 at 22:52




1




1





@peterh That was directed at the implicit question of "why so much address space if you couldn't possibly add it to the motherboard?"

– chrylis
Apr 6 at 1:08





@peterh That was directed at the implicit question of "why so much address space if you couldn't possibly add it to the motherboard?"

– chrylis
Apr 6 at 1:08




1




1





It's probably worth noting that, with custom hardware and purpose-specific software, you could attach an infinite amount of ram to any processor (provided it has some sort of of IO). That's rather not what you're asking, though.

– Fake Name
Apr 6 at 6:47





It's probably worth noting that, with custom hardware and purpose-specific software, you could attach an infinite amount of ram to any processor (provided it has some sort of of IO). That's rather not what you're asking, though.

– Fake Name
Apr 6 at 6:47










3 Answers
3






active

oldest

votes


















31














I very much doubt that anyone would ever have seriously considered fitting 4 GiB in a 386-based system, let alone designing such a beast. (To put this into context, I remember seeing early 1 GiB Alpha servers on the factory floor of Digital’s plant in Scotland in 1994, and those machines were priced at around $250,000...)



The Red Hill hardware guide provides a number of examples. 386SX systems were limited to 16 MiB at most anyway, because of the limited number of address lines. For 386DX systems, a common configuration included 8 SIMM slots, for up to 32 MiB of RAM, but Red Hill’s golden oldies page lists one SIPP-based motherboard which might have been usable with 64 MiB. Some manufacturers produced expansion boards to add more memory — e.g. ALR systems had expansion boards supporting up to 48 MiB each. In early 1993, in the US, 4 MiB of RAM cost over $100.



I bought a 386DX/33 in 1992, with 8 MiB of RAM out of a maximum 32 MiB, and that was considered large at the time — enough to run Windows 3.1 or OS/2 very comfortably. I kept that system for four years, eventually switching to Linux, and never needed to add more memory.



In those days, even servers had “small” base configurations as presented in advertisements — see this 1990 ALR advert with a 386/33 and 5 MiB of RAM for a cool $6,290...






share|improve this answer




















  • 1





    Sorry, I dont want to create confusion. The processors sure had the addresses. I always believed motherboards were not equipped to handle that much memory as it was not needed.

    – Bernhard Döbler
    Apr 5 at 13:48






  • 1





    Ah, right, yes — adding lines costs money and would only be done if it was useful!

    – Stephen Kitt
    Apr 5 at 13:53






  • 1





    Well, it was obviously Intel 80x86 architecture you were talking about, so just as a side note I remember a tech guy at my uni showing me his fully packed Sparcstation 10 in 1994, which had 512mb, so half of the GB.

    – Gnudiff
    Apr 5 at 18:28






  • 1





    Address lines aren't really a limit if you use EMS or paging in protected mode. You could put an unlimited amount of ram on the ISA bus if you were happy with having a driver to interface with it.

    – R..
    Apr 5 at 22:23






  • 1





    @R. as long as you don’t mind a hefty speed penalty ;-).

    – Stephen Kitt
    Apr 5 at 22:25


















19














We can see the datasheet of the 386DX here. The most important part is its pinout.



We have address lines from A2 to A31. It means, that yes, it could have handled 4GB memory on a motherboard. Although it is very unlikely, that any ordinary PC motherboard had been built with the required number of memory sockets at the time.



It is more likely, that it was used at most to make memory-mapped IO easier in embedded environments.1



(A0 and A1 are missing, because the cpu could address only 4byte memory operations. Essentially, it was an only 30-bit CPU, working with 32-bit "bytes". This trick is usual since the early 16-bit era.)



For example, the Weitek Abacus FPU was memory-mapped to 0x0C000000. Floating-point calculations could be done by writing the commands into a 64kB-block starting at far higher as any physical RAM ever could end (at the time... 192MByte), and then reading out the result with mov operands.




enter image description here






share|improve this answer




















  • 3





    Exactly, thanks. It’s worth noting that the 386, while it addressed 32-bit words as you point out, could operate on individual octets by using the bus enable pins (BE0–3).

    – Stephen Kitt
    Apr 5 at 13:51






  • 1





    Why didn’t they reduce the address pins to a more reasonable number? I mean … nobody expected you to have the full 2^32 bytes of RAM back then, right? A2–A24 for 32MiB RAM should have been perfectly sufficient.

    – Michael
    Apr 5 at 14:42






  • 3





    Would be fun to see someone fitting a modern 4GiB RAM module via some type of adapter to a real 386 chip and get it to work.

    – Ruslan
    Apr 5 at 14:59






  • 4





    @Michael I think they had two reasons: 1) they didn't know at the moment, how strongly should they remain compatible with their own CPU sockets of the future. At the time it was yet a real possibility that 586, 686 will be still socket-compatible (or will have at least a socket-compatible version) 2) These CPUs wasn't designed only for PCs, but also for embedded environments. If you access some hardware by memory-mapped IO, it means that you communicate with the chip with memory read/write operations. Essentially, the CPU can see the chip as if it would be a memory module.

    – peterh
    Apr 5 at 15:15






  • 2





    @Michael The 386SX did that... it narrowed the address bus to 16MB, which was much more realistic in terms of installed RAM. On 386DX hardware, there were also products like the Weitek 1167/3167 FPU's that were memory mapped into addresses way beyond 16MB. (These devices accepted their instruction stream over the address bus, in fact.)

    – mschaef
    Apr 5 at 15:30


















6














As someone who had a 386, I was happy just to upgrade from 4MB RAM to 8MB RAM. Just think of all the cool things I can do now?! At that point, my motherboard could not contain anymore RAM IC's, so the only way to upgrade further would have been to get denser chips. But by the time I needed more RAM I was on to a 486. Yes, you're correct about the theoretical maximum but, at least for consumer level machines, ain't nobody doin' that.






share|improve this answer








New contributor




StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 2





    My family had a 386sx machine that capped out at 5MB, assuming it was fully populated with 1MB SIMMs (and 1MB was soldered on the motherboard). A few years later, we had a 486 that could go to 32MB if you used 4MB SIMMs, and then to 64MB via a machine-specific memory expansion board. (We never took that machine past 8MB.)

    – mschaef
    Apr 5 at 15:33






  • 1





    IME there were no programs that really needed more than what half of what your RAM could be, for any x86. Modern, "typical", memory-hungry programs are a relatively new invention. If you ever rocked an x86 maxed-out, it was past its service length (and affordable) or doing something atypical.

    – Mazura
    Apr 5 at 21:54











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "648"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






d33tah is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f9579%2fhow-much-ram-could-one-put-in-a-typical-80386-setup%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









31














I very much doubt that anyone would ever have seriously considered fitting 4 GiB in a 386-based system, let alone designing such a beast. (To put this into context, I remember seeing early 1 GiB Alpha servers on the factory floor of Digital’s plant in Scotland in 1994, and those machines were priced at around $250,000...)



The Red Hill hardware guide provides a number of examples. 386SX systems were limited to 16 MiB at most anyway, because of the limited number of address lines. For 386DX systems, a common configuration included 8 SIMM slots, for up to 32 MiB of RAM, but Red Hill’s golden oldies page lists one SIPP-based motherboard which might have been usable with 64 MiB. Some manufacturers produced expansion boards to add more memory — e.g. ALR systems had expansion boards supporting up to 48 MiB each. In early 1993, in the US, 4 MiB of RAM cost over $100.



I bought a 386DX/33 in 1992, with 8 MiB of RAM out of a maximum 32 MiB, and that was considered large at the time — enough to run Windows 3.1 or OS/2 very comfortably. I kept that system for four years, eventually switching to Linux, and never needed to add more memory.



In those days, even servers had “small” base configurations as presented in advertisements — see this 1990 ALR advert with a 386/33 and 5 MiB of RAM for a cool $6,290...






share|improve this answer




















  • 1





    Sorry, I dont want to create confusion. The processors sure had the addresses. I always believed motherboards were not equipped to handle that much memory as it was not needed.

    – Bernhard Döbler
    Apr 5 at 13:48






  • 1





    Ah, right, yes — adding lines costs money and would only be done if it was useful!

    – Stephen Kitt
    Apr 5 at 13:53






  • 1





    Well, it was obviously Intel 80x86 architecture you were talking about, so just as a side note I remember a tech guy at my uni showing me his fully packed Sparcstation 10 in 1994, which had 512mb, so half of the GB.

    – Gnudiff
    Apr 5 at 18:28






  • 1





    Address lines aren't really a limit if you use EMS or paging in protected mode. You could put an unlimited amount of ram on the ISA bus if you were happy with having a driver to interface with it.

    – R..
    Apr 5 at 22:23






  • 1





    @R. as long as you don’t mind a hefty speed penalty ;-).

    – Stephen Kitt
    Apr 5 at 22:25















31














I very much doubt that anyone would ever have seriously considered fitting 4 GiB in a 386-based system, let alone designing such a beast. (To put this into context, I remember seeing early 1 GiB Alpha servers on the factory floor of Digital’s plant in Scotland in 1994, and those machines were priced at around $250,000...)



The Red Hill hardware guide provides a number of examples. 386SX systems were limited to 16 MiB at most anyway, because of the limited number of address lines. For 386DX systems, a common configuration included 8 SIMM slots, for up to 32 MiB of RAM, but Red Hill’s golden oldies page lists one SIPP-based motherboard which might have been usable with 64 MiB. Some manufacturers produced expansion boards to add more memory — e.g. ALR systems had expansion boards supporting up to 48 MiB each. In early 1993, in the US, 4 MiB of RAM cost over $100.



I bought a 386DX/33 in 1992, with 8 MiB of RAM out of a maximum 32 MiB, and that was considered large at the time — enough to run Windows 3.1 or OS/2 very comfortably. I kept that system for four years, eventually switching to Linux, and never needed to add more memory.



In those days, even servers had “small” base configurations as presented in advertisements — see this 1990 ALR advert with a 386/33 and 5 MiB of RAM for a cool $6,290...






share|improve this answer




















  • 1





    Sorry, I dont want to create confusion. The processors sure had the addresses. I always believed motherboards were not equipped to handle that much memory as it was not needed.

    – Bernhard Döbler
    Apr 5 at 13:48






  • 1





    Ah, right, yes — adding lines costs money and would only be done if it was useful!

    – Stephen Kitt
    Apr 5 at 13:53






  • 1





    Well, it was obviously Intel 80x86 architecture you were talking about, so just as a side note I remember a tech guy at my uni showing me his fully packed Sparcstation 10 in 1994, which had 512mb, so half of the GB.

    – Gnudiff
    Apr 5 at 18:28






  • 1





    Address lines aren't really a limit if you use EMS or paging in protected mode. You could put an unlimited amount of ram on the ISA bus if you were happy with having a driver to interface with it.

    – R..
    Apr 5 at 22:23






  • 1





    @R. as long as you don’t mind a hefty speed penalty ;-).

    – Stephen Kitt
    Apr 5 at 22:25













31












31








31







I very much doubt that anyone would ever have seriously considered fitting 4 GiB in a 386-based system, let alone designing such a beast. (To put this into context, I remember seeing early 1 GiB Alpha servers on the factory floor of Digital’s plant in Scotland in 1994, and those machines were priced at around $250,000...)



The Red Hill hardware guide provides a number of examples. 386SX systems were limited to 16 MiB at most anyway, because of the limited number of address lines. For 386DX systems, a common configuration included 8 SIMM slots, for up to 32 MiB of RAM, but Red Hill’s golden oldies page lists one SIPP-based motherboard which might have been usable with 64 MiB. Some manufacturers produced expansion boards to add more memory — e.g. ALR systems had expansion boards supporting up to 48 MiB each. In early 1993, in the US, 4 MiB of RAM cost over $100.



I bought a 386DX/33 in 1992, with 8 MiB of RAM out of a maximum 32 MiB, and that was considered large at the time — enough to run Windows 3.1 or OS/2 very comfortably. I kept that system for four years, eventually switching to Linux, and never needed to add more memory.



In those days, even servers had “small” base configurations as presented in advertisements — see this 1990 ALR advert with a 386/33 and 5 MiB of RAM for a cool $6,290...






share|improve this answer















I very much doubt that anyone would ever have seriously considered fitting 4 GiB in a 386-based system, let alone designing such a beast. (To put this into context, I remember seeing early 1 GiB Alpha servers on the factory floor of Digital’s plant in Scotland in 1994, and those machines were priced at around $250,000...)



The Red Hill hardware guide provides a number of examples. 386SX systems were limited to 16 MiB at most anyway, because of the limited number of address lines. For 386DX systems, a common configuration included 8 SIMM slots, for up to 32 MiB of RAM, but Red Hill’s golden oldies page lists one SIPP-based motherboard which might have been usable with 64 MiB. Some manufacturers produced expansion boards to add more memory — e.g. ALR systems had expansion boards supporting up to 48 MiB each. In early 1993, in the US, 4 MiB of RAM cost over $100.



I bought a 386DX/33 in 1992, with 8 MiB of RAM out of a maximum 32 MiB, and that was considered large at the time — enough to run Windows 3.1 or OS/2 very comfortably. I kept that system for four years, eventually switching to Linux, and never needed to add more memory.



In those days, even servers had “small” base configurations as presented in advertisements — see this 1990 ALR advert with a 386/33 and 5 MiB of RAM for a cool $6,290...







share|improve this answer














share|improve this answer



share|improve this answer








edited Apr 5 at 13:19

























answered Apr 5 at 12:16









Stephen KittStephen Kitt

39.8k8162173




39.8k8162173







  • 1





    Sorry, I dont want to create confusion. The processors sure had the addresses. I always believed motherboards were not equipped to handle that much memory as it was not needed.

    – Bernhard Döbler
    Apr 5 at 13:48






  • 1





    Ah, right, yes — adding lines costs money and would only be done if it was useful!

    – Stephen Kitt
    Apr 5 at 13:53






  • 1





    Well, it was obviously Intel 80x86 architecture you were talking about, so just as a side note I remember a tech guy at my uni showing me his fully packed Sparcstation 10 in 1994, which had 512mb, so half of the GB.

    – Gnudiff
    Apr 5 at 18:28






  • 1





    Address lines aren't really a limit if you use EMS or paging in protected mode. You could put an unlimited amount of ram on the ISA bus if you were happy with having a driver to interface with it.

    – R..
    Apr 5 at 22:23






  • 1





    @R. as long as you don’t mind a hefty speed penalty ;-).

    – Stephen Kitt
    Apr 5 at 22:25












  • 1





    Sorry, I dont want to create confusion. The processors sure had the addresses. I always believed motherboards were not equipped to handle that much memory as it was not needed.

    – Bernhard Döbler
    Apr 5 at 13:48






  • 1





    Ah, right, yes — adding lines costs money and would only be done if it was useful!

    – Stephen Kitt
    Apr 5 at 13:53






  • 1





    Well, it was obviously Intel 80x86 architecture you were talking about, so just as a side note I remember a tech guy at my uni showing me his fully packed Sparcstation 10 in 1994, which had 512mb, so half of the GB.

    – Gnudiff
    Apr 5 at 18:28






  • 1





    Address lines aren't really a limit if you use EMS or paging in protected mode. You could put an unlimited amount of ram on the ISA bus if you were happy with having a driver to interface with it.

    – R..
    Apr 5 at 22:23






  • 1





    @R. as long as you don’t mind a hefty speed penalty ;-).

    – Stephen Kitt
    Apr 5 at 22:25







1




1





Sorry, I dont want to create confusion. The processors sure had the addresses. I always believed motherboards were not equipped to handle that much memory as it was not needed.

– Bernhard Döbler
Apr 5 at 13:48





Sorry, I dont want to create confusion. The processors sure had the addresses. I always believed motherboards were not equipped to handle that much memory as it was not needed.

– Bernhard Döbler
Apr 5 at 13:48




1




1





Ah, right, yes — adding lines costs money and would only be done if it was useful!

– Stephen Kitt
Apr 5 at 13:53





Ah, right, yes — adding lines costs money and would only be done if it was useful!

– Stephen Kitt
Apr 5 at 13:53




1




1





Well, it was obviously Intel 80x86 architecture you were talking about, so just as a side note I remember a tech guy at my uni showing me his fully packed Sparcstation 10 in 1994, which had 512mb, so half of the GB.

– Gnudiff
Apr 5 at 18:28





Well, it was obviously Intel 80x86 architecture you were talking about, so just as a side note I remember a tech guy at my uni showing me his fully packed Sparcstation 10 in 1994, which had 512mb, so half of the GB.

– Gnudiff
Apr 5 at 18:28




1




1





Address lines aren't really a limit if you use EMS or paging in protected mode. You could put an unlimited amount of ram on the ISA bus if you were happy with having a driver to interface with it.

– R..
Apr 5 at 22:23





Address lines aren't really a limit if you use EMS or paging in protected mode. You could put an unlimited amount of ram on the ISA bus if you were happy with having a driver to interface with it.

– R..
Apr 5 at 22:23




1




1





@R. as long as you don’t mind a hefty speed penalty ;-).

– Stephen Kitt
Apr 5 at 22:25





@R. as long as you don’t mind a hefty speed penalty ;-).

– Stephen Kitt
Apr 5 at 22:25











19














We can see the datasheet of the 386DX here. The most important part is its pinout.



We have address lines from A2 to A31. It means, that yes, it could have handled 4GB memory on a motherboard. Although it is very unlikely, that any ordinary PC motherboard had been built with the required number of memory sockets at the time.



It is more likely, that it was used at most to make memory-mapped IO easier in embedded environments.1



(A0 and A1 are missing, because the cpu could address only 4byte memory operations. Essentially, it was an only 30-bit CPU, working with 32-bit "bytes". This trick is usual since the early 16-bit era.)



For example, the Weitek Abacus FPU was memory-mapped to 0x0C000000. Floating-point calculations could be done by writing the commands into a 64kB-block starting at far higher as any physical RAM ever could end (at the time... 192MByte), and then reading out the result with mov operands.




enter image description here






share|improve this answer




















  • 3





    Exactly, thanks. It’s worth noting that the 386, while it addressed 32-bit words as you point out, could operate on individual octets by using the bus enable pins (BE0–3).

    – Stephen Kitt
    Apr 5 at 13:51






  • 1





    Why didn’t they reduce the address pins to a more reasonable number? I mean … nobody expected you to have the full 2^32 bytes of RAM back then, right? A2–A24 for 32MiB RAM should have been perfectly sufficient.

    – Michael
    Apr 5 at 14:42






  • 3





    Would be fun to see someone fitting a modern 4GiB RAM module via some type of adapter to a real 386 chip and get it to work.

    – Ruslan
    Apr 5 at 14:59






  • 4





    @Michael I think they had two reasons: 1) they didn't know at the moment, how strongly should they remain compatible with their own CPU sockets of the future. At the time it was yet a real possibility that 586, 686 will be still socket-compatible (or will have at least a socket-compatible version) 2) These CPUs wasn't designed only for PCs, but also for embedded environments. If you access some hardware by memory-mapped IO, it means that you communicate with the chip with memory read/write operations. Essentially, the CPU can see the chip as if it would be a memory module.

    – peterh
    Apr 5 at 15:15






  • 2





    @Michael The 386SX did that... it narrowed the address bus to 16MB, which was much more realistic in terms of installed RAM. On 386DX hardware, there were also products like the Weitek 1167/3167 FPU's that were memory mapped into addresses way beyond 16MB. (These devices accepted their instruction stream over the address bus, in fact.)

    – mschaef
    Apr 5 at 15:30















19














We can see the datasheet of the 386DX here. The most important part is its pinout.



We have address lines from A2 to A31. It means, that yes, it could have handled 4GB memory on a motherboard. Although it is very unlikely, that any ordinary PC motherboard had been built with the required number of memory sockets at the time.



It is more likely, that it was used at most to make memory-mapped IO easier in embedded environments.1



(A0 and A1 are missing, because the cpu could address only 4byte memory operations. Essentially, it was an only 30-bit CPU, working with 32-bit "bytes". This trick is usual since the early 16-bit era.)



For example, the Weitek Abacus FPU was memory-mapped to 0x0C000000. Floating-point calculations could be done by writing the commands into a 64kB-block starting at far higher as any physical RAM ever could end (at the time... 192MByte), and then reading out the result with mov operands.




enter image description here






share|improve this answer




















  • 3





    Exactly, thanks. It’s worth noting that the 386, while it addressed 32-bit words as you point out, could operate on individual octets by using the bus enable pins (BE0–3).

    – Stephen Kitt
    Apr 5 at 13:51






  • 1





    Why didn’t they reduce the address pins to a more reasonable number? I mean … nobody expected you to have the full 2^32 bytes of RAM back then, right? A2–A24 for 32MiB RAM should have been perfectly sufficient.

    – Michael
    Apr 5 at 14:42






  • 3





    Would be fun to see someone fitting a modern 4GiB RAM module via some type of adapter to a real 386 chip and get it to work.

    – Ruslan
    Apr 5 at 14:59






  • 4





    @Michael I think they had two reasons: 1) they didn't know at the moment, how strongly should they remain compatible with their own CPU sockets of the future. At the time it was yet a real possibility that 586, 686 will be still socket-compatible (or will have at least a socket-compatible version) 2) These CPUs wasn't designed only for PCs, but also for embedded environments. If you access some hardware by memory-mapped IO, it means that you communicate with the chip with memory read/write operations. Essentially, the CPU can see the chip as if it would be a memory module.

    – peterh
    Apr 5 at 15:15






  • 2





    @Michael The 386SX did that... it narrowed the address bus to 16MB, which was much more realistic in terms of installed RAM. On 386DX hardware, there were also products like the Weitek 1167/3167 FPU's that were memory mapped into addresses way beyond 16MB. (These devices accepted their instruction stream over the address bus, in fact.)

    – mschaef
    Apr 5 at 15:30













19












19








19







We can see the datasheet of the 386DX here. The most important part is its pinout.



We have address lines from A2 to A31. It means, that yes, it could have handled 4GB memory on a motherboard. Although it is very unlikely, that any ordinary PC motherboard had been built with the required number of memory sockets at the time.



It is more likely, that it was used at most to make memory-mapped IO easier in embedded environments.1



(A0 and A1 are missing, because the cpu could address only 4byte memory operations. Essentially, it was an only 30-bit CPU, working with 32-bit "bytes". This trick is usual since the early 16-bit era.)



For example, the Weitek Abacus FPU was memory-mapped to 0x0C000000. Floating-point calculations could be done by writing the commands into a 64kB-block starting at far higher as any physical RAM ever could end (at the time... 192MByte), and then reading out the result with mov operands.




enter image description here






share|improve this answer















We can see the datasheet of the 386DX here. The most important part is its pinout.



We have address lines from A2 to A31. It means, that yes, it could have handled 4GB memory on a motherboard. Although it is very unlikely, that any ordinary PC motherboard had been built with the required number of memory sockets at the time.



It is more likely, that it was used at most to make memory-mapped IO easier in embedded environments.1



(A0 and A1 are missing, because the cpu could address only 4byte memory operations. Essentially, it was an only 30-bit CPU, working with 32-bit "bytes". This trick is usual since the early 16-bit era.)



For example, the Weitek Abacus FPU was memory-mapped to 0x0C000000. Floating-point calculations could be done by writing the commands into a 64kB-block starting at far higher as any physical RAM ever could end (at the time... 192MByte), and then reading out the result with mov operands.




enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Apr 5 at 19:21

























answered Apr 5 at 13:47









peterhpeterh

601419




601419







  • 3





    Exactly, thanks. It’s worth noting that the 386, while it addressed 32-bit words as you point out, could operate on individual octets by using the bus enable pins (BE0–3).

    – Stephen Kitt
    Apr 5 at 13:51






  • 1





    Why didn’t they reduce the address pins to a more reasonable number? I mean … nobody expected you to have the full 2^32 bytes of RAM back then, right? A2–A24 for 32MiB RAM should have been perfectly sufficient.

    – Michael
    Apr 5 at 14:42






  • 3





    Would be fun to see someone fitting a modern 4GiB RAM module via some type of adapter to a real 386 chip and get it to work.

    – Ruslan
    Apr 5 at 14:59






  • 4





    @Michael I think they had two reasons: 1) they didn't know at the moment, how strongly should they remain compatible with their own CPU sockets of the future. At the time it was yet a real possibility that 586, 686 will be still socket-compatible (or will have at least a socket-compatible version) 2) These CPUs wasn't designed only for PCs, but also for embedded environments. If you access some hardware by memory-mapped IO, it means that you communicate with the chip with memory read/write operations. Essentially, the CPU can see the chip as if it would be a memory module.

    – peterh
    Apr 5 at 15:15






  • 2





    @Michael The 386SX did that... it narrowed the address bus to 16MB, which was much more realistic in terms of installed RAM. On 386DX hardware, there were also products like the Weitek 1167/3167 FPU's that were memory mapped into addresses way beyond 16MB. (These devices accepted their instruction stream over the address bus, in fact.)

    – mschaef
    Apr 5 at 15:30












  • 3





    Exactly, thanks. It’s worth noting that the 386, while it addressed 32-bit words as you point out, could operate on individual octets by using the bus enable pins (BE0–3).

    – Stephen Kitt
    Apr 5 at 13:51






  • 1





    Why didn’t they reduce the address pins to a more reasonable number? I mean … nobody expected you to have the full 2^32 bytes of RAM back then, right? A2–A24 for 32MiB RAM should have been perfectly sufficient.

    – Michael
    Apr 5 at 14:42






  • 3





    Would be fun to see someone fitting a modern 4GiB RAM module via some type of adapter to a real 386 chip and get it to work.

    – Ruslan
    Apr 5 at 14:59






  • 4





    @Michael I think they had two reasons: 1) they didn't know at the moment, how strongly should they remain compatible with their own CPU sockets of the future. At the time it was yet a real possibility that 586, 686 will be still socket-compatible (or will have at least a socket-compatible version) 2) These CPUs wasn't designed only for PCs, but also for embedded environments. If you access some hardware by memory-mapped IO, it means that you communicate with the chip with memory read/write operations. Essentially, the CPU can see the chip as if it would be a memory module.

    – peterh
    Apr 5 at 15:15






  • 2





    @Michael The 386SX did that... it narrowed the address bus to 16MB, which was much more realistic in terms of installed RAM. On 386DX hardware, there were also products like the Weitek 1167/3167 FPU's that were memory mapped into addresses way beyond 16MB. (These devices accepted their instruction stream over the address bus, in fact.)

    – mschaef
    Apr 5 at 15:30







3




3





Exactly, thanks. It’s worth noting that the 386, while it addressed 32-bit words as you point out, could operate on individual octets by using the bus enable pins (BE0–3).

– Stephen Kitt
Apr 5 at 13:51





Exactly, thanks. It’s worth noting that the 386, while it addressed 32-bit words as you point out, could operate on individual octets by using the bus enable pins (BE0–3).

– Stephen Kitt
Apr 5 at 13:51




1




1





Why didn’t they reduce the address pins to a more reasonable number? I mean … nobody expected you to have the full 2^32 bytes of RAM back then, right? A2–A24 for 32MiB RAM should have been perfectly sufficient.

– Michael
Apr 5 at 14:42





Why didn’t they reduce the address pins to a more reasonable number? I mean … nobody expected you to have the full 2^32 bytes of RAM back then, right? A2–A24 for 32MiB RAM should have been perfectly sufficient.

– Michael
Apr 5 at 14:42




3




3





Would be fun to see someone fitting a modern 4GiB RAM module via some type of adapter to a real 386 chip and get it to work.

– Ruslan
Apr 5 at 14:59





Would be fun to see someone fitting a modern 4GiB RAM module via some type of adapter to a real 386 chip and get it to work.

– Ruslan
Apr 5 at 14:59




4




4





@Michael I think they had two reasons: 1) they didn't know at the moment, how strongly should they remain compatible with their own CPU sockets of the future. At the time it was yet a real possibility that 586, 686 will be still socket-compatible (or will have at least a socket-compatible version) 2) These CPUs wasn't designed only for PCs, but also for embedded environments. If you access some hardware by memory-mapped IO, it means that you communicate with the chip with memory read/write operations. Essentially, the CPU can see the chip as if it would be a memory module.

– peterh
Apr 5 at 15:15





@Michael I think they had two reasons: 1) they didn't know at the moment, how strongly should they remain compatible with their own CPU sockets of the future. At the time it was yet a real possibility that 586, 686 will be still socket-compatible (or will have at least a socket-compatible version) 2) These CPUs wasn't designed only for PCs, but also for embedded environments. If you access some hardware by memory-mapped IO, it means that you communicate with the chip with memory read/write operations. Essentially, the CPU can see the chip as if it would be a memory module.

– peterh
Apr 5 at 15:15




2




2





@Michael The 386SX did that... it narrowed the address bus to 16MB, which was much more realistic in terms of installed RAM. On 386DX hardware, there were also products like the Weitek 1167/3167 FPU's that were memory mapped into addresses way beyond 16MB. (These devices accepted their instruction stream over the address bus, in fact.)

– mschaef
Apr 5 at 15:30





@Michael The 386SX did that... it narrowed the address bus to 16MB, which was much more realistic in terms of installed RAM. On 386DX hardware, there were also products like the Weitek 1167/3167 FPU's that were memory mapped into addresses way beyond 16MB. (These devices accepted their instruction stream over the address bus, in fact.)

– mschaef
Apr 5 at 15:30











6














As someone who had a 386, I was happy just to upgrade from 4MB RAM to 8MB RAM. Just think of all the cool things I can do now?! At that point, my motherboard could not contain anymore RAM IC's, so the only way to upgrade further would have been to get denser chips. But by the time I needed more RAM I was on to a 486. Yes, you're correct about the theoretical maximum but, at least for consumer level machines, ain't nobody doin' that.






share|improve this answer








New contributor




StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 2





    My family had a 386sx machine that capped out at 5MB, assuming it was fully populated with 1MB SIMMs (and 1MB was soldered on the motherboard). A few years later, we had a 486 that could go to 32MB if you used 4MB SIMMs, and then to 64MB via a machine-specific memory expansion board. (We never took that machine past 8MB.)

    – mschaef
    Apr 5 at 15:33






  • 1





    IME there were no programs that really needed more than what half of what your RAM could be, for any x86. Modern, "typical", memory-hungry programs are a relatively new invention. If you ever rocked an x86 maxed-out, it was past its service length (and affordable) or doing something atypical.

    – Mazura
    Apr 5 at 21:54















6














As someone who had a 386, I was happy just to upgrade from 4MB RAM to 8MB RAM. Just think of all the cool things I can do now?! At that point, my motherboard could not contain anymore RAM IC's, so the only way to upgrade further would have been to get denser chips. But by the time I needed more RAM I was on to a 486. Yes, you're correct about the theoretical maximum but, at least for consumer level machines, ain't nobody doin' that.






share|improve this answer








New contributor




StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 2





    My family had a 386sx machine that capped out at 5MB, assuming it was fully populated with 1MB SIMMs (and 1MB was soldered on the motherboard). A few years later, we had a 486 that could go to 32MB if you used 4MB SIMMs, and then to 64MB via a machine-specific memory expansion board. (We never took that machine past 8MB.)

    – mschaef
    Apr 5 at 15:33






  • 1





    IME there were no programs that really needed more than what half of what your RAM could be, for any x86. Modern, "typical", memory-hungry programs are a relatively new invention. If you ever rocked an x86 maxed-out, it was past its service length (and affordable) or doing something atypical.

    – Mazura
    Apr 5 at 21:54













6












6








6







As someone who had a 386, I was happy just to upgrade from 4MB RAM to 8MB RAM. Just think of all the cool things I can do now?! At that point, my motherboard could not contain anymore RAM IC's, so the only way to upgrade further would have been to get denser chips. But by the time I needed more RAM I was on to a 486. Yes, you're correct about the theoretical maximum but, at least for consumer level machines, ain't nobody doin' that.






share|improve this answer








New contributor




StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










As someone who had a 386, I was happy just to upgrade from 4MB RAM to 8MB RAM. Just think of all the cool things I can do now?! At that point, my motherboard could not contain anymore RAM IC's, so the only way to upgrade further would have been to get denser chips. But by the time I needed more RAM I was on to a 486. Yes, you're correct about the theoretical maximum but, at least for consumer level machines, ain't nobody doin' that.







share|improve this answer








New contributor




StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this answer



share|improve this answer






New contributor




StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









answered Apr 5 at 15:16









StealthKKStealthKK

611




611




New contributor




StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






StealthKK is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 2





    My family had a 386sx machine that capped out at 5MB, assuming it was fully populated with 1MB SIMMs (and 1MB was soldered on the motherboard). A few years later, we had a 486 that could go to 32MB if you used 4MB SIMMs, and then to 64MB via a machine-specific memory expansion board. (We never took that machine past 8MB.)

    – mschaef
    Apr 5 at 15:33






  • 1





    IME there were no programs that really needed more than what half of what your RAM could be, for any x86. Modern, "typical", memory-hungry programs are a relatively new invention. If you ever rocked an x86 maxed-out, it was past its service length (and affordable) or doing something atypical.

    – Mazura
    Apr 5 at 21:54












  • 2





    My family had a 386sx machine that capped out at 5MB, assuming it was fully populated with 1MB SIMMs (and 1MB was soldered on the motherboard). A few years later, we had a 486 that could go to 32MB if you used 4MB SIMMs, and then to 64MB via a machine-specific memory expansion board. (We never took that machine past 8MB.)

    – mschaef
    Apr 5 at 15:33






  • 1





    IME there were no programs that really needed more than what half of what your RAM could be, for any x86. Modern, "typical", memory-hungry programs are a relatively new invention. If you ever rocked an x86 maxed-out, it was past its service length (and affordable) or doing something atypical.

    – Mazura
    Apr 5 at 21:54







2




2





My family had a 386sx machine that capped out at 5MB, assuming it was fully populated with 1MB SIMMs (and 1MB was soldered on the motherboard). A few years later, we had a 486 that could go to 32MB if you used 4MB SIMMs, and then to 64MB via a machine-specific memory expansion board. (We never took that machine past 8MB.)

– mschaef
Apr 5 at 15:33





My family had a 386sx machine that capped out at 5MB, assuming it was fully populated with 1MB SIMMs (and 1MB was soldered on the motherboard). A few years later, we had a 486 that could go to 32MB if you used 4MB SIMMs, and then to 64MB via a machine-specific memory expansion board. (We never took that machine past 8MB.)

– mschaef
Apr 5 at 15:33




1




1





IME there were no programs that really needed more than what half of what your RAM could be, for any x86. Modern, "typical", memory-hungry programs are a relatively new invention. If you ever rocked an x86 maxed-out, it was past its service length (and affordable) or doing something atypical.

– Mazura
Apr 5 at 21:54





IME there were no programs that really needed more than what half of what your RAM could be, for any x86. Modern, "typical", memory-hungry programs are a relatively new invention. If you ever rocked an x86 maxed-out, it was past its service length (and affordable) or doing something atypical.

– Mazura
Apr 5 at 21:54










d33tah is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















d33tah is a new contributor. Be nice, and check out our Code of Conduct.












d33tah is a new contributor. Be nice, and check out our Code of Conduct.











d33tah is a new contributor. Be nice, and check out our Code of Conduct.














Thanks for contributing an answer to Retrocomputing Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f9579%2fhow-much-ram-could-one-put-in-a-typical-80386-setup%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

រឿង រ៉ូមេអូ និង ហ្ស៊ុយលីយេ សង្ខេបរឿង តួអង្គ បញ្ជីណែនាំ

QGIS export composer to PDF scale the map [closed] Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Print Composer QGIS 2.6, how to export image?QGIS 2.8.1 print composer won't export all OpenCycleMap base layer tilesSave Print/Map QGIS composer view as PNG/PDF using Python (without changing anything in visible layout)?Export QGIS Print Composer PDF with searchable text labelsQGIS Print Composer does not change from landscape to portrait orientation?How can I avoid map size and scale changes in print composer?Fuzzy PDF export in QGIS running on macSierra OSExport the legend into its 100% size using Print ComposerScale-dependent rendering in QGIS PDF output

PDF-ში გადმოწერა სანავიგაციო მენიუproject page