No que diz respeito ao suporte máximo de CPU, não acho que exista, mas pode haver um limite no número de CPUs que ele pode manipular.
Se você tiver mais de 3 GB de RAM em seu computador, não precisará escolher o Ubuntu de 64 bits para fazer uso total da sua RAM. O Ubuntu de 32 bits instala automaticamente um kernel PAE. O kernel é o núcleo do sistema operacional. Um kernel PAE pode endereçar até 64 GB de RAM.
Portanto, um kernel PAE de 32 bits não é incomodado pelo buraco da memória de 32 bits, que afeta os kernels de 32 bits antiquados.
O kernel usado pelo Ubuntu de 32 bits pode reconhecer até 4GB de memória, embora a quantidade de memória utilizável disponível para o usuário seja um pouco menor que isso. Um kernel recompilado com o PAE ativado pode usar até 64GB de memória física.
O kernel usado pelo Ubuntu de 64 bits pode, teoricamente, reconhecer até 17,2 bilhões de GB de memória física, mas isso está sujeito, na prática, a limitações de hardware. As implementações AMD64 atuais permitem até 256 TB de memória física. As implementações atuais da Intel 64 permitem até 1 TB de memória física.
É claro que você precisa ter uma arquitetura de 64 bits para usar um sistema operacional de 64 bits. Mas mesmo que você não tenha uma arquitetura de 64 bits, o Linux pode tirar proveito de sua memória se você não se importar em compilar seu próprio kernel.
Só para dar uma ideia, estou executando o Ubuntu 13.04 32bit em uma máquina com CPU Core2Duo e 4GB de RAM, e se você pressionar Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute o (s) comando (s) abaixo:
sudo dmidecode -t 16
ele mostrará a quantidade máxima de RAM que ele pode manipular. (sistema específico)