the CPU's Architecture is the limiting factor with the memory.
I took the liberty of looking up ever 3Ghz, and 3.06Ghz Pentium IV for OP.
The following are not EM64T processors, and thus will only support memory up to the addressible ammount of 32 bits of memory space. Which works out as most of us know at about the 3.5GB Mark:
Mobile Intel® Pentium® 4 Processor 532 supporting HT Technology (1M Cache, 3.06 GHz, 533 MHz FSB)
Mobile Intel® Pentium® 4 Processor supporting HT Technology 3.06 GHz, 512K Cache, 533 MHz FSB
Intel® Pentium® 4 Processor supporting HT Technology 3.00 GHz, 1M Cache, 800 MHz FSB
Intel® Pentium® 4 Processor 530/530J supporting HT Technology (1M Cache, 3.00 GHz, 800 MHz FSB)
The following Pentium 4 Processors will support just about any ammout of RAM you can throw at it, as they are EM64T compatible processors. However you will need to be using a 64bit OS, such as the x64 editions of Windows XP, Vista or 7. or any x64 Linux Distro (These are often labled AMD64, dont be confused, AMD64 and EM64T are for all intents and purposes one and the same) to access any more than 3.5GB of memory:
Intel® Pentium® 4 Processor 631 supporting HT Technology (2M Cache, 3.00 GHz, 800 MHz FSB)
Intel® Pentium® 4 Processor 630 supporting HT Technology (2M Cache, 3.00 GHz, 800 MHz FSB)
Intel® Pentium® 4 Processor 531 supporting HT Technology (1M Cache, 3.00 GHz, 800 MHz FSB)
On a note, I dont know if this is an exhautive list, i took it from Intels website, so if im wrong, blame Intel
.
You can check however what your processor is, and if it supports EM64T by using a simple system information tool such as CPU-Z.