Hacker News new | ask | show | jobs
by chadaustin 402 days ago
You are straight up wrong. The first computer I ever built was a Pentium 2, RivaTNT, and it had 640 MB RAM.

I can’t find the purchase receipts or specific board brand but it had four SDRAM slots, and I had it populated with 2x64 and 2x256.

Edit: Found it in some old files of mine:

I was wrong! Not four DIMM slots... three! One must have been 128 and the other two 256.

  Pentium II 400, 512k cache
  Abit BF6 motherboard
  640 MB PC100 SDRAM
  21" Sony CPD-G500 (19.8" viewable, .24 dot pitch)
  17" ViewSonic monitor (16" viewable, .27 dot pitch)
  RivaTNT PCI video card with 16 MB VRAM
  Creative SB Live!
  Creative 5x DVD, 32x CD drive
  Sony CD-RW (2, 4, 24)
  80 GB Western Digital ATA/100
  40 GB Western Digital ATA/100
  17.2 GB Maxtor UltraDMA/33 HDD
  10.0 GB Maxtor UltraDMA/33 HDD
  Cambridge SoundWorks FourPointSurround FPS2000 Digital
  3Com OfficeConnect 10/100 EtherNet card
  3 Microsoft SideWinder Gamepads
  Labtec AM-252 Microphone
  Promise IDE Controller card
  Hauppage WinTV-Theatre Tuner Card
4 comments

Alright then! Humbly, I stand corrected about my poor speculation without research. It looks like 640MiB has been a perfectly achievable configuration, especially with 2x256+2x64 or such. That is, I must say, a huge amount of RAM. Like, way more than any video game ever specified in HW requirements. What use cases applied that you could use up 640MiB in that era, I wouldn't know!

I remain a bit mystified about why it would be a hard maximum, though. Did such motherboards prevent the user from installing 4x256MiB for a cool 1GiB of DRAM? Was the OS having trouble addressing or utilizing it all? 640MiB is not a mathematical sort of maximum I was familiar with from the late 1990s. 4GiB is obviously your upper limit, with a 32-bit address bus... and again, if 640MiB were installed, that's only 2 free bits on that bus.

So I'm still a little curious about this number being dropped in the article. More info would be enlightening! And thank you for speaking up to correct me! No wonder it was down-voted!

I did a bunch of media and software development back then so RAM helped a lot. Why 640? Not sure. My particular board could have gone up to 768. I did some googling and found some boards that maxed out at 1 GB.

That was a weird time in computing. Things were getting fast and big quickly (not that many years later, I built a dual-socket Xeon at 2.8 GHz, and before that my brother had a dual socket P3 at 700 MHz.) but all the expansion boards were so special-purpose. I remember going out of my way to pick a board with something like seven expansion slots.

But I think your question about why the author said 640 is fair! Maybe they had a machine like mine around then. Or maybe it’s something NVIDIA was designing around?

> I remain a bit mystified about why it would be a hard maximum, though. Did such motherboards prevent the user from installing 4x256MiB for a cool 1GiB of DRAM?

Probably not - it's not that rare to see the supported maximum memory be a function of the biggest DIMM you can buy, I guess as a reflection of the biggest configuration the manufacturer could test.

The article is a touch confusing, but I'm pretty sure I agree that they meant the 640 kilobyte limit of the OG PC architecture. The Pentium II dates from 1997, the NV1 to 1995, and the new PCI bus with its whopping 32-bits to 1992. 640MiB would have been a prodigious amount of memory at the time of launch.

I don't think any mathematical relationship between the address bus and either 640KiB or 640MiB was intended, it was just the anchor point for how huge 4GiB of addressing was viewed at the time.

The article then goes on to say that the NV1 used 23 bits of the address bus but adds in the next paragraph that 16 bits remained to use for data. That math isn't working out for me.

Actually, I'm really struggling to understand how this scheme would work at all. It strongly implies open addressing with no other MMIO devices to conflict with, but that's just not how I thought PCI worked. Maybe someone who knows more can explain it to me.

My reading was 640MiB was seen as some extraordinary upper bound that was unlikely to be breached in 1995 leaving lot of bits of the address bus for NV1 for quite some time. The 640 KiB seems definitely not a limit as even IBM PC/AT released in 1984! had an upper limit of 16MiB. So, as NV1's designer you could not assume 640KiB was some sort of upper bound on PC's of 1995 when designing the scheme. As to why 640MiB and not something else, I believe Windows 95 could address 2GB in theory but would start becoming unstable around 512MiB so maybe he chose 640MiB.

The whole thing a bit ironic since Bill Gates took great pains to say he never said 640KiB is all you need (or something like that). Given my example of the IBM PC/AT it definitely was not common understanding of upper limits in 1995 apocryphal or not.

To make this easy, there was no overlap between when 640kb was common on PCs and when nVidia existed as a company.
It wasn't that simple: in practice the arrival of the 286 in 1984 was very much only the beginning of the PC's escape from the 640KiB/1MiB limit. It wasn't until some time after the promulgation of the DOS Protected Mode Interface in 1989 that it became routine for PC applications to have unrestricted, straightforward access to all of RAM. (I'm very much relying on resources like https://news.ycombinator.com/item?id=17274672 for the details here: I was never a serious DOS user or a DOS developer.) Still it would definitely be overstating things to say that "PC memory maxed out at 640 kilobytes" in 1993 or subsequently. It does seem possible that the author did mean to say "640 kilobytes", but really just as a snarky jab at the PC platform: PC software really was still relying on DOS extenders to make use of "extended memory" in 1993, even if they were by then doing a solid job at it.

Another possibility: apparently https://www.os2museum.com/wp/windows-nt-3-1-and-os2-memory-d... all x86 machines released before maybe 1993 are restricted to 64MiB, even under Windows NT and other fully 32-bit OSes, because the BIOS simply can't report having any more RAM than that. By early 1993 the first "service" allowing the reporting of more than 64MiB of system RAM (up to the full 4GiB supported by x86) was starting to appear on some BIOSes.

Apparently the effective memory limit for Windows 3.1 is 256MiB https://web.archive.org/web/20150518111050/https://support.m... while for Windows 95 it's approximately 480MiB https://devblogs.microsoft.com/oldnewthing/20030814-00/?p=42... . So it's plausible that Rosenthal had one of those in mind, even if 640MiB is not exactly the right number (and even if you'd actually hit BIOS or wallet limitations first).

Yeah, I dunno. Besides being a lot for 1995, the address space stuff, if taken at face value, means you'd only have to knick 3 bits off before starting to eat into it. Shrug
By 1995, PCI had vanquished VL-Bus and a cheap entry PC would have had a PCI bus and a 486 CPU at 66 MHz or 100 MHz with 8 MB of RAM, while a decent PC would have had a Pentium with 16 MB of RAM.

The days of 640 kB memory were long forgotten.

Even in 1990, a decent PC would have had a 386 CPU with 4 MB of RAM, which would have been used as extended memory by the MS-DOS programs, while the cheapest computers would have been PC/XT clones with a NEC V20 CPU and with 2 MB of expanded memory, so still well beyond the 640 kB.

Impressive build, probably sounded pretty wild upon startup with 4x ATA drives!
It did, especially as the drives got older and shrieky. Plus the floppy and optical drives spinning up. But... funny story, when I moved to Silicon Valley, SSDs didn’t exist yet, but compile times were IO-bound. So my company bought everyone Dell workstations with two 15k RPM SAS drives in RAID 0. When I’d kick off a build, the desk would start vibrating under my fingers.

It made everything feel real!

Later, the company switched new employees to 3x 10,000 RPM SATA drives. Not quite as grindy, but still loud.

Oh man, the Abit motherboards! That takes me back. How much did this cost and at what time? Presume very late 90s.
Looks like ‘97. Unfortunately I can’t find the receipts! If I had to guess, I think I’d say somewhere around $2000 in all. That computer lasted me a LONG time. When it was done being a desktop, it became a Linux server until I sold it around 2009. Sometimes I wish I’d kept it: the Pentium 2 was such an important CPU and I smile every time I see the one on display in the Computer History Museum.