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.