Počítač může mít program napevno implementovaný v sobě. Např. propojíš pár logických hradel a máš program (naprogramoval jsi to tak, že jsi to propojil). To byly taky začátky. Jenže pak se přišlo na to, že je mnohem výhodnější mít univerzální procesor, který umí vykonat jakýkoliv program uložený v paměti. Změna programu = změna paměti (jinak poskládáš instrukce) a to je mnohem jednodušší, než předělávat hardware. Nicméně, hardware postavený pro jeden účel je zase bleskurychlý. Existují tzv. programovatelné hradlové pole (FPGA). V tom jsou logické hradla, které si můžeš poskládat jak je libo (nastavit hardwarově program) a pak to hravě strčí do kapsy jakýkoliv univerzální procesor, i když to běží na mnohem nižší frekvenci. Nedávno jsem kdesi viděl, že s tím kdosi těžil bitcoiny..