Paralelisme Tingkat Instruksi dan Prosesor Superscalar

Lancez-Vous. C'est gratuit
ou s'inscrire avec votre adresse e-mail
Paralelisme Tingkat Instruksi dan Prosesor Superscalar par Mind Map: Paralelisme Tingkat Instruksi dan Prosesor Superscalar

1. Pentium

1.1. Pentium asli memiliki komponen superskalar sederhana, yang terdiri dari penggunaan dua unit eksekusi integer terpisah.

1.2. Pengoperasian

1.2.1. Prosesor mengambil instruksi dari memori dalam urutan statis program.

1.2.2. Setiap instruksi diterjemahkan ke dalam satu atau lebih instruksi RISC dengan panjang tetap, dikenal sebagai operasi mikro, atau operasi mikro

1.2.3. Prosesor menjalankan operasi mikro pada organisasi saluran pipa superskalar, jadi bahwa mikro-ops dapat dieksekusi rusak.

1.2.4. Prosesor mengkomit hasil dari setiap eksekusi mikro-op ke register prosesor yang diatur dalam urutan aliran program asli.

1.3. Generasi Micro-ops

1.3.1. Organisasi Pentium 4 termasuk dalam order ujung depan yang dimasukkan ke dalam cache instruksi L1, yang disebut trace cache, di situlah jalur pipa dimulai.

1.3.2. Operasi mikro yang dihasilkan disimpan dalam cache jejak (trace cache)

1.4. Trace Cache Petunjuk Instruksi Berikutnya

1.4.1. Dua tahap pipa pertama berurusan dengan pemilihan instruksi dalam cache jejak dan melibatkan mekanisme prediksi cabang yang terpisah.

1.4.2. Setelah instruksi dieksekusi, bagian riwayat dari entri yang sesuai diperbarui untuk mencerminkan hasil dari instruksi cabang.

1.4.3. Cabang bersyarat yang tidak memiliki riwayat di BTB diprediksi menggunakan algoritma prediksi statis

1.5. Trace Cache Fetch

1.5.1. Trace cache mengambil yang sudah di-decode mikro-ops dari dekoder instruksi dan merakitnya menjadi program yang dipesan urutan operasi mikro yang disebut jejak.

1.6. Drive

1.6.1. Tahap kelima dari pipeline Pentium 4 mengirimkan instruksi yang didekodekan dari trace cache ke modul rename/allocator.

1.7. Out-of-Order Execution Logic

1.8. Alocate

1.9. Register Renaming

1.10. Micro-op Queueing

1.11. Penjadwalan dan Pengiriman Mikro-op

1.12. Integer and Floating Point Execution Units

2. Design Issues

2.1. Paralelisme Tingkat Instruksi dan Paralelisme Mesin

2.1.1. Paralelisme Tingkat Instruksi ada ketika instruksi dalam urutan bersifat independen dan dapat dieksekusi secara paralel

2.1.2. Paralelisme mesin adalah ukuran kemampuan prosesor untuk mengambil keuntungan dari paralalelisme tingkat instruksi

2.2. Kebijakan Masalah Instruksi

2.2.1. Kategori

2.2.1.1. Masalah dalam pesanan dengan penyelesaian dalam pesanan

2.2.1.2. Masalah sesuai pesanan dengan penyelesaian rusak

2.2.1.3. Masalah In-order dengan penyelesaian In-order

2.2.2. Masalah paling sederhana yakni mengeluarkan instruksi dalam urutan yang tepat yang akan dicapai secara berurutan eksekusi

2.3. Penggantian Nama Register

2.3.1. Antidependensi dan depedensi keluaran adalah contoh konflik penyimpanan

2.3.2. Salah satu metode untuk mengatasi jenis konflik penyimpanan ini yaitu duplikasi sumber daya

2.3.3. Pada konteks ini, teknik duplikasi sumber daya disebut juga penggantian nama register

2.4. Paralelisme Mesin

2.5. Prediksi Cabang

2.5.1. RISC memungkinkan prosesor untuk menghitung hasil cabang bersyarat dalam instruksi sebelum instruksi yang tidak dapat digunakan telah diambil sebelumnya

2.5.2. Prosesor selalu menjalankan instruksi tunggal dengan segera mengikuti cabang

2.5.3. Ini membuat pipeline tetap penuh saat prosesor mengambil aliran instruksi yang baru

2.6. Eksekusi Superscalar

2.6.1. Program yang akan dieksekusi terdiri dari urutan instruksi linear yang merupakan program statis seperti yang ditulis oleh programmer atau dihasilkan oleh kompilator.

2.6.2. Proses pengambilan instruksi, yang mencakup cabang prediksi, digunakan untuk membentuk aliran dinamis instruksi.

2.7. Implementasi Superscalar

2.7.1. Strategi pengambilan instruksi secara bersamaan

2.7.2. Logika untuk menentukan ketergantungan sejati yang melibatkan register nilai

2.7.3. Mekanisme untuk memulai atau mengeluarkan instruksi secara paralel

2.7.4. Sumber daya untuk mengeksekusi beberapa peraturan

2.7.5. Mekanisme untuk melakukan status proses dalam urutan yang benar

3. ARM CORTEX-A8

3.1. Cortex-A8 berada dalam keluarga prosesor ARM yang disebut oleh ARM sebagai prosesor aplikasi.

3.2. Prosesor aplikasi ARM adalah prosesor tertanam yang menjalankan sistem operasi kompleks untuk aplikasi nirkabel, konsumen, dan pencitraan.

3.3. Cortex-A8 menargetkan berbagai macam aplikasi seluler dan konsumen termasuk ponsel, dekoder, konsol game, dan navigasi otomotif/ sistem hiburan.

3.4. Instruction Fetch Unit

3.4.1. Unit pengambilan instruksi memprediksi aliran instruksi, mengambil instruksi dari Cache instruksi L1, dan menempatkan instruksi yang diambil ke dalam buffer untuk dikonsumsi oleh pipa decode.

3.5. Instruction Decode Unit

3.5.1. Unit decode instruksi dekode dan mengurutkan semua instruksi ARM dan Thumb.

3.5.2. Ini memiliki struktur pipa ganda, yang disebut pipe0 dan pipe1, sehingga dua instruksi dapat maju melalui unit pada satu waktu.

3.6. Integer Execute Unit

3.6.1. Unit eksekusi instruksi terdiri dari dua symmetric arithmetic logic unit (ALU) saluran pipa, generator alamat untuk memuat dan menyimpan instruksi, dan pipa perbanyak.

3.7. SIMD and Floating-Point Pipeline

3.7.1. Semua instruksi SIMD dan floating-point melewati pipa integer dan diproses dalam pipa 10 tahap yang terpisah

3.7.2. Unit ini, disebut sebagai unit NEON, menangani instruksi SIMD yang dikemas, dan menyediakan dua jenis:dukungan floating-point.