Ada berbagai jenis unit pemrosesan pusat (CPU) yang tersedia untuk komputer. Jenis CPU ini tidak terlalu berbeda dalam hal perangkat keras dan arsitektur pemrosesan. Sebagian besar dari mereka melakukan tugas-tugas dasar CPU seperti membaca dan menulis data, aritmatika dasar, dan melompat alamat. Namun, mereka dapat berbeda dalam hal ukuran bus dan arsitektur prosesor. Beberapa jenis perangkat keras prosesor komputer tersedia, dua di antaranya adalah prosesor skalar dan superskalar.
Prosesor yang mengeksekusi data skalar disebut prosesor skalar. Menggunakan operan titik tetap, instruksi integer dieksekusi oleh prosesor skalar bahkan dalam keadaan paling sederhana. Prosesor skalar yang lebih kuat biasanya menjalankan operasi floating point dan integer. Prosesor skalar yang diproduksi baru-baru ini berisi unit floating point dan unit integer, semuanya pada chip CPU yang sama. Sebagian besar prosesor skalar modern ini menggunakan instruksi jenis 32-bit.
Prosesor superscalar, di sisi lain, mengeksekusi banyak instruksi pada satu waktu karena banyaknya jumlah pipa. Struktur CPU ini menerapkan paralelisme tingkat instruksi, yang merupakan bentuk paralelisme dalam perangkat keras komputer, dalam satu prosesor komputer. Ini berarti dapat memungkinkan throughput CPU cepat yang bahkan tidak mungkin dilakukan dari jarak jauh di prosesor lain yang tidak menerapkan paralelisme tingkat instruksi. Alih-alih mengeksekusi satu instruksi pada satu waktu, prosesor superscalar menggunakan unit fungsional yang berlebihan dalam eksekusi beberapa instruksi. Unit fungsional ini bukan inti CPU yang terpisah, tetapi sumber daya ekstensi CPU tunggal seperti pengganda, pengalih bit, dan unit logika aritmatika (ALU).
Perbedaan antara prosesor skalar dan superskalar umumnya bermuara pada kuantitas dan kecepatan. Sebuah prosesor skalar, dianggap yang paling sederhana dari semua prosesor, bekerja pada satu atau dua item data komputer pada waktu tertentu. Prosesor superscalar bekerja pada banyak instruksi dan beberapa kelompok dari beberapa item data sekaligus. Prosesor skalar dan superskalar keduanya berfungsi dengan cara yang sama dalam hal bagaimana mereka memanipulasi data, tetapi perbedaannya terletak pada berapa banyak manipulasi dan item data yang dapat mereka kerjakan dalam waktu tertentu. Prosesor superscalar dapat menangani banyak instruksi dan item data, sedangkan prosesor skalar tidak bisa, sehingga membuat yang pertama menjadi prosesor yang lebih kuat daripada yang terakhir.
Prosesor skalar dan superskalar keduanya memiliki beberapa kesamaan dengan prosesor vektor. Seperti prosesor skalar, prosesor vektor juga mengeksekusi satu instruksi pada satu waktu, tetapi alih-alih hanya memanipulasi satu item data, instruksi tunggalnya dapat mengakses beberapa item data. Mirip dengan prosesor superscalar, prosesor vektor memiliki beberapa unit fungsional yang berlebihan yang memungkinkannya memanipulasi beberapa item data, tetapi hanya dapat bekerja pada satu instruksi pada satu waktu. Pada intinya, prosesor superscalar adalah kombinasi dari prosesor skalar dan prosesor vektor.