Sistem-sistem komputer dibuat dari tiga tipe komponen: prosesor, memori, dan piranti I/O.
Prosesor, tugas sebuah prosesor adalah untuk menangkap instruksi-instruksi satu setiap kalinya dari memori, mendekodenya, dan melaksanakannya. Siklus baca-dekode-eksekusi dapat selalu dijelaskan sebagai sebuah algoritma dan pada kenyataanya, kadang-kadang dilakukan oleh interpreter perangkat lunak yang dijalankan pada level rendah. Untuk mendapatkan kecepatan, banyak komputer saat ini memiliki satu atau lebih pipelines atau memiliki rancangan superskalar dengan satuan-satuan fungsional multipel yang beroperasi secara paralel.
Sistem-sistem dengan prosesor-prosesor multipel telah menjadi makin umum. Komputer-komputer paralel meliputi prosesor-prosesor larik, di mana operasi yang sama dilakukan pada rangkaian data multipel pada saat yang sama, multiprosesor, dimana CPU-CPU multipel memakai bersama sebuah memori yang sama, dan multikomputer, dimana komputer-komputer multipel masing-masing memiliki memori sendiri tetapi berkomunikasi melalui penyampaian pesan.
Memori dapat dikategorisasikan sebagai primer atau sekunder. Memori primer digunakan untuk menyimpan program yang saat ini sedang dilaksanakan. Waktu aksesnya adalah singkat - paling lama beberapa puluh nano detik - dan tidak tergantung pada alamat yang diakses. Cashe bahkan dapat mengurangi waktu akses ini lebih banyak lagi. Sebagian memori diperlengkapi dengan kode-kode koreksi kesalahan guna mempertinggi keandalannya.
Sebaliknya, memori sekunder memiliki waktu akses yang jauh lebih lama (beberapa mili detik atau lebih) dan tergantung pada lokasi data yang sedang dibaca atau sedang dituliskan. Piringan magnetik dan piringan optik merupakan memori-memori sekunder yang paling umum. Piringan magnetik muncul dalam banyak macam, yang mancakup disk floppy, disk winchester, disk IDE, disk SCSI, dan RAID. Piringan-piringan optik meliputi CD-ROM, CD-R, dan DVD.
Piranti-piranti I/O digunakan untuk mentransfer informasi kedalam dan keluar komputer. Piranti-piranti ini dihubungkan dengan prosesor, sedangkan memori oleh satu atau lebih bus. Contohnya adalah terminal, mouse, printer, dan modem. Sebagian besar piranti I/O menggunakan kode karakter ASCII, meskipun UNICODE akan dengan cepat memperoleh penerimaan ketika komputer mengglobal.