Apakah perbezaan antara CISC dan RISC?


Jawapan 1:

RISC secara amnya "load-store" ke / dari register. Secara amnya, tiga daftar digunakan seperti ADD R1 = R2 + R3, beban dan simpan mungkin atau tidak boleh dikecualikan dengan hanya dua daftar yang digunakan dalam arahan.

CISC secara amnya membolehkan perhitungan dengan nilai dari alamat memori, tidak perlu mendapatkannya terlebih dahulu ke dalam daftar. Ia juga boleh mempunyai mod alamat yang lebih kompleks (rumit), membolehkan dari satu hingga lebih banyak pendaftaran untuk penjanaan alamat.

CISC secara amnya adalah dua operasi, dengan contohnya ADD mempunyai register yang sama (atau alamat memori) yang digunakan untuk tujuan, tetapi juga sama digunakan untuk salah satu sumber.

Ini digunakan untuk menjadi masalah besar, dan RISC dikendalikan dan CISC menggunakan mikrokod.

Sekarang microarchiteture untuk CISC, sekurang-kurangnya x86 (jika tidak semua CISC digunakan, yang bermaksud mainframe IBM hanya CISC yang lain yang masih hidup; mikrokontroler mungkin pengecualian) memecahkan arahan ke microops (operasi mikro / RISC) yang dapat menjadualkan -order tidak seperti microcode asli.

RISC juga boleh melakukannya, contohnya ARM yang baru (tidak pada mulanya), jadi perbezaannya kurang daripada dulu.

ARM asal tidak mempunyai arahan bahagian integer kerana ia terlalu kompleks, apatah lagi untuk titik terapung. Sekarang [kompleksitas] yang dikurangkan untuk R dalam RISC kurang digunakan sebagai titik terapung adalah semata-mata kompleks dan semua CPU RISC utama menyokong walaupun sehingga arahan akar dan trigonometri persegi.


Jawapan 2:

CISC dioptimumkan untuk melakukan sebanyak mungkin kerja dari saiz instruksi yang diberikan. Ini kerana CPU tidak mempunyai cache pada masa itu, dan membaca arahan dari ingatan akan mengambil pelbagai kitaran, jadi arahan rumit dengan banyak perubahan keadaan tidak menjadi masalah selagi ia padat.

RISC dioptimumkan untuk CPU yang * melakukan * mempunyai cache arahan, dan yang mengubah hambatan: cache dapat memberikan 64 dan 128 bit data setiap kitaran - selagi ia selaras. Tiba-tiba, anda boleh menjalankan 1 atau 2 arahan setiap kitaran selagi tidak ada pergantungan, jadi arahan bersih yang hanya menyebabkan perubahan keadaan tunggal menjadi lebih cepat.


Jawapan 3:

CISC dioptimumkan untuk melakukan sebanyak mungkin kerja dari saiz instruksi yang diberikan. Ini kerana CPU tidak mempunyai cache pada masa itu, dan membaca arahan dari ingatan akan mengambil pelbagai kitaran, jadi arahan rumit dengan banyak perubahan keadaan tidak menjadi masalah selagi ia padat.

RISC dioptimumkan untuk CPU yang * melakukan * mempunyai cache arahan, dan yang mengubah hambatan: cache dapat memberikan 64 dan 128 bit data setiap kitaran - selagi ia selaras. Tiba-tiba, anda boleh menjalankan 1 atau 2 arahan setiap kitaran selagi tidak ada pergantungan, jadi arahan bersih yang hanya menyebabkan perubahan keadaan tunggal menjadi lebih cepat.