Algoritme
Algoritme bisa diklasifikasikan berdasarkan jumlah waktu yang dibutuhkan untuk selesai dibandingkan dengan ukuran inputnya. Ada berbagai varietas: beberapa algoritme selesai dalam waktu linear relatif terhadap ukuran input, beberapa selesai dalam jumlah waktu yang eksponensial atau lebih buruh, dan beberapa berhenti. Sebagai tambahan, beberapa masalah bisa memiliki berbagai algoritme dengan kompleksitas yang berbeda, sementara permasalahan yang lain bisa saja tidak memiliki algoritme atau tidak diketahui algoritmanya yang efisien. Ada juga pemetaan dari beberapa algoritme terhadap permasalahan lain. Karena itu, lebih cocok untuk mengklasifikasikan permasalahan itu sendiri bukannya algoritme menjadi kelas-kelas yang sama berdasarkan kompleksitas dari kemungkinan algoritme terbaik baginya.
Unit aritmatika dan logika
Tugas utama dari ALU (Arithmetic Logic Unit) adalah melakukan semua perhitungan aritmetika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi aritmetika dengan dasar pertambahan, sedang operasi aritmetika yang lainnya seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut "adder". Tugas lain dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika ("logical operation") meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:Fungsi-fungsi yang didefinisikan pada ALU adalah "Add" (penjumlahan), "Addu" (penjumlahan tidak bertanda), "Sub" (pengurangan), "Subu" (pengurangan tidak bertanda), and, or, xor, sll ("shift left logical"), srl ("shift right logical"), sra ("shift right arithmetic"), dan lain-lain.