Coba jelasin Masalah desain dari CISC dong

Sementara banyak desain mencapai hasil yang lebih baik dengan biaya lebih rendah, dan juga memungkinkan konstruksi bahasa tingkat tinggi diekspresikan dengan instruksi yang lebih sedikit, perlu diamati bahwa ini tidak selalu terjadi. Misalnya, versi kelas bawah dari arsitektur kompleks (yaitu menggunakan lebih sedikit perangkat keras) dapat menyebabkan situasi di mana dimungkinkan untuk meningkatkan kinerja dengan tidak menggunakan instruksi yang kompleks (seperti pemanggilan prosedur atau memasukkan instruksi) tetapi menggunakan urutan instruksi yang lebih sederhana.

Salah satu alasan untuk hal ini adalah bahwa arsitek (penulis mikrokode) terkadang "mendesain berlebihan" instruksi bahasa rakitan, termasuk fitur yang tidak dapat diimplementasikan secara efisien pada perangkat keras dasar yang tersedia. Mungkin ada, misalnya, "efek samping" (di atas tanda konvensional), seperti pengaturan register atau lokasi memori yang mungkin jarang digunakan; jika ini dilakukan melalui bus internal biasa (tidak terduplikasi), atau bahkan bus eksternal, itu akan menuntut siklus ekstra setiap saat, dan dengan demikian menjadi sangat tidak efisien.