Perbedaan antara mikroprogram horizontal dan vertikal

Perbedaan antara mikroprogram horizontal dan vertikal

Proses penulisan mikrokode untuk memori kontrol unit pemrosesan pusat komputer disebut mikroprogram. Mikrokode untuk memori kontrol dihasilkan setelah konfigurasi komputer dan unit kontrol mikro terprogramnya ditetapkan. Memori kontrol adalah bagian dari unit kontrol yang menyimpan semua program mikro yang tidak dapat sering dimodifikasi. Setiap baris program mikro mewakili instruksi mikro yang menentukan satu atau lebih operasi mikro. Ada dua cara berbeda instruksi mikro dapat diatur: horizontal dan vertikal. Bangunan mikro horizontal mewakili beberapa operasi mikro yang dieksekusi pada saat yang sama. Namun, dalam kasus yang ekstrem, setiap instruksi mikro horizontal mengontrol semua sumber daya perangkat keras sistem. Sebaliknya, instruksi mikro vertikal menyerupai format bahasa mesin konvensional yang terdiri dari satu operasi dan beberapa operan. Berlawanan dengan instruksi mikro horizontal, instruksi mikro vertikal mewakili operasi mikro tunggal.

Pemrograman mikro horizontal

Dalam mikroprogram mikro horizontal, setiap bit diidentifikasi secara khusus dengan titik kontrol tunggal, yang menunjukkan bahwa operasi mikro yang sesuai harus dieksekusi. Karena setiap instruksi mikro cukup mampu mengendalikan beberapa sumber daya secara bersamaan, ia memiliki potensi keuntungan pemanfaatan perangkat keras yang lebih efisien dan sebagai tambahan, ia membutuhkan jumlah instruksi mikro yang lebih kecil per mikroprogram. Ini memungkinkan tingkat paralelisme yang lebih tinggi dengan jumlah pengkodean minimum dan bidang kontrol terpisah. Namun, mengembangkan mikroprogram yang menggunakan sumber daya secara optimal atau efisien adalah tugas yang kompleks. Pemrograman mikro horizontal menawarkan fleksibilitas yang besar karena setiap bit kontrol tidak tergantung satu sama lain. Ini memiliki panjang yang lebih besar sehingga biasanya berisi lebih banyak informasi daripada mikro instruksi vertikal.

Pemrograman mikro vertikal

Pemrograman mikro vertikal menggunakan format variabel dan tingkat pengkodean yang lebih tinggi, berbeda dengan mikroprogram mikro horizontal. Ini tidak hanya memperpendek panjang instruksi mikro, tetapi juga mencegah peningkatan kapasitas memori dari secara langsung mempengaruhi panjang instruksi mikro. Setiap instruksi mikro vertikal umumnya mewakili operasi mikro tunggal. Kode digunakan untuk setiap operasi mikro yang akan dilakukan dan dekoder menerjemahkan kode ke dalam sinyal kontrol individual. Karena hanya operasi mikro yang akan dilakukan yang ditentukan, bidang instruksi mikro sepenuhnya digunakan. Ditambah mikroprogram vertikal lebih mudah ditulis daripada rekan horizontal mereka. Vertikal Microinstruction menyerupai format bahasa mesin konvensional yang terdiri dari satu operasi dan beberapa operan. Akibatnya mudah digunakan untuk pemrograman mikro. Umumnya terdiri dari empat hingga enam bidang yang membutuhkan sekitar 16 hingga 32 bit per instruksi.

Perbedaan antara mikroprogram horizontal dan vertikal

Pengkodean

Pemrograman mikro vertikal menggunakan format variabel dan tingkat pengkodean yang lebih tinggi, berbeda dengan mikroprogram mikro horizontal. Dalam pemrograman mikro vertikal, bit kontrol dikodekan dengan setiap kode yang digunakan untuk setiap tindakan yang akan dilakukan dan instruksi dekoder mendekodekan kode menjadi beberapa sinyal kontrol. Sebaliknya, mikroprogram mikro horizontal melibatkan instruksi mikro horizontal yang tidak menggunakan pengkodean sama sekali. Mereka mewakili setiap bit kontrol dalam datapath yang ditetapkan dengan bit terpisah dalam format microinstruction. Setiap bit di bidang kontrol dilampirkan ke garis kontrol.

Urutan

Pemrograman mikro horizontal umumnya mengikuti pendekatan berurutan untuk menentukan instruksi mikro berikutnya dalam mikroprogram, mirip dengan format bahasa mesin konvensional. Setiap bit diidentifikasi secara khusus dengan titik kontrol tunggal, yang menunjukkan bahwa operasi mikro yang sesuai harus dieksekusi. Mikro instruksional bersyarat dan tanpa syarat kemudian diperlukan untuk memecahkan urutan. Pemrograman mikro vertikal dapat menggunakan skema yang relatif membahas di mana beberapa bit diperlukan untuk menentukan relatif maju atau lompatan ke belakang. Ini membutuhkan perhitungan alamat di setiap langkah.

Desain

- Mikroprogram vertikal memiliki kepadatan kode yang lebih baik yang bermanfaat untuk ukuran toko kontrol. Vertikal Microinstruction menyerupai format bahasa mesin konvensional yang terdiri dari satu operasi dan beberapa operan. Setiap instruksi mikro vertikal mewakili operasi mikro tunggal, sedangkan operan dapat menentukan wastafel dan sumber data. Mikroprogram horizontal, di sisi lain, umumnya mewakili beberapa operasi mikro yang dieksekusi pada saat yang sama. Dalam kasus yang ekstrem, setiap instruksi mikro horizontal mengontrol beberapa sumber daya perangkat keras secara bersamaan.

Fleksibilitas

- Mikroprogram horizontal menawarkan fleksibilitas yang lebih baik karena setiap bit kontrol tidak tergantung satu sama lain. Ini memiliki panjang yang lebih besar sehingga biasanya berisi lebih banyak informasi daripada mikro instruksi vertikal. Mikro instruksi horizontal dengan 48 atau lebih bit cukup umum. Mikroprogram horizontal memiliki potensi keuntungan menggunakan perangkat keras lebih efisien dan di atasnya, ia membutuhkan jumlah instruksi mikro yang lebih kecil per mikroprogram. Instruksi mikro vertikal, di sisi lain, lebih kompak tetapi kurang fleksibel daripada instruksi mikro horizontal. Pendekatan vertikal akibatnya mudah digunakan untuk pemrograman mikro.

Horizontal vs. Pemrograman mikro vertikal: bagan perbandingan

Ringkasan Pemrograman Mikro Horizontal dan Vertikal

Berlawanan dengan instruksi mikro horizontal, instruksi mikro vertikal mewakili operasi mikro tunggal. Mikroprogram horizontal memungkinkan tingkat paralelisme yang lebih tinggi dengan jumlah minimum pengkodean dan bidang kontrol terpisah sedangkan bit kontrol dikodekan dalam mikroprogram vertikal. Pilihan antara kedua pendekatan perlu dilakukan dengan hati -hati. Namun, dalam praktis, desainer menggunakan kombinasi format instruksi mikro horizontal dan vertikal sehingga struktur yang dihasilkan kompak namun efisien.