Kebutuhan Fungsional
Sebagai hasil analisis kami di bagian sebelumnya, kami telah menguraikan perilaku atau fungsi prosesor menjadi operasi dasar, yang disebut operasi mikro. Dengan mengurangi pengoperasian prosesor ke tingkat yang paling mendasar, kita dapat menentukan dengan tepat apa yang seharusnya terjadi oleh unit kontrol. Dengan demikian, kita dapat menentukan persyaratan fungsional untuk unit kontrol yang harus dilakukan oleh unit kontrol. Definisi persyaratan fungsional ini adalah dasar untuk perancangan dan implementasi unit kontrol.
Dengan informasi yang ada, proses tiga langkah berikut ini mengarah pada karakterisasi unit kontrol:
- Tentukan elemen dasar prosesor.
- Jelaskan operasi mikro yang dilakukan prosesor.
- Tentukan fungsi yang harus dilakukan unit kontrol agar operasi mikro dilakukan.
- ALU
- Register
- Jalur data internal
- Jalur data eksternal
- Unit kontrol
Beberapa pemikiran harus meyakinkan Anda bahwa ini adalah daftar lengkap. ALU adalah esensi fungsional komputer. Register digunakan untuk menyimpan data internal ke prosesor. Beberapa register berisi informasi status yang diperlukan untuk mengelola urutan instruksi (misalnya, kata status program). Yang lain berisi data yang masuk atau berasal dari modul ALU, memori, dan I / O. Jalur data internal digunakan untuk memindahkan data antara register dan antara register dan ALU. Jalur data eksternal menghubungkan register ke modul memori dan I / O, seringkali dengan menggunakan bus sistem. Unit kontrol menyebabkan operasi terjadi di dalam prosesor. Eksekusi sebuah program terdiri dari operasi yang melibatkan elemen prosesor ini. Seperti telah kita lihat, operasi ini terdiri dari rangkaian operasi mikro. Semua operasi mikro termasuk dalam salah satu kategori berikut:
- Transfer data dari satu register ke register lainnya.
- Transfer data dari register ke antarmuka eksternal (mis., Bus sistem).
- Mentransfer data dari antarmuka luar ke register.
- Lakukan operasi aritmatika atau logika, dengan menggunakan register untuk input dan output.
Semua operasi mikro diperlukan untuk melakukan satu siklus instruksi, termasuk semua operasi mikro untuk mengeksekusi setiap instruksi dalam set instruksi, termasuk dalam salah satu kategori ini. Kini kita bisa agak lebih eksplisit mengenai cara pengendaliannya. Fungsi unit control unit melakukan dua tugas dasar:
- Sequencing: Unit kontrol menyebabkan prosesor melewati seluruh rangkaian operasi mikro dalam urutan yang tepat, berdasarkan program yang sedang dijalankan.
- Eksekusi: Unit kontrol menyebabkan setiap operasi mikro dilakukan.
Kontrol Sinyal
Pada hal ini telah mendefinisikan elemen yang membentuk prosesor (ALU, register, jalur data) dan operasi mikro yang dilakukan. Agar unit kontrol dapat menjalankan fungsinya, maka harus ada masukan yang memungkinkannya menentukan susunan sistem dan keluaran yang memungkinkannya mengendalikan perilaku sistem. Ini adalah spesifikasi eksternal dari unit kontrol. Secara internal, unit kontrol harus memiliki logika yang dibutuhkan IO melakukan fungsi sequencing dan eksekusi.
Gambar berikut ini adalah model umum unit kontrol, yang menunjukkan semua input dan outputnya.
Proses input adalah sebagai berikut:
- Clock: Ini adalah bagaimana unit kontrol "menyimpan waktu." Unit kontrol menyebabkan satu operasi mikro (atau satu set operasi mikro simultan) yang akan dilakukan untuk setiap pulsa clock. Hal ini kadang disebut sebagai siklus prosesor waktu. atau siklus clock kapur.
- Instruction register: Opcode dari instruksi saat ini digunakan untuk menentukan operasi mikro yang akan dilakukan selama siklus eksekusi.
- Flags: Ini diperlukan oleh unit kontrol untuk menentukan status prosesor dan hasil operasi ALU sebelumnya. Misalnya, untuk instruksi increment-and-skip-if-zero (ISZ), kontrol sampai akan menaikkan PC jika flag nol disetel.
- Mengontrol sinyal dari bus kontrol: Bagian bus kontrol dari bus sistem memberi sinyal ke unit kontrol, seperti sinyal interupsi dan ucapan terima kasih.
Proses output adalah sebagai berikut:
- Kontrol sinyal dalam prosesor: Ini adalah dua jenis: yang menyebabkan data dipindahkan dari satu register ke register lainnya, dan yang mengaktifkan fungsi ALU tertentu.
- Mengontrol sinyal untuk mengendalikan bus: Ini juga terdiri dari dua jenis: sinyal kontrol lo memori, dan sinyal kontrol pada modul I / O.
- Elemen baru yang telah diperkenalkan pada gambar ini adalah sinyal kontrol. Tiga jenis sinyal kontrol digunakan: yang mengaktifkan fungsi ALU, yang mengaktifkan jalur data, dan sinyal pada bus sistem eksternal atau antarmuka eksternal lainnya. Semua sinyal ini akhirnya diterapkan secara langsung sebagai masukan biner pada gerbang logika individu.
- Mari kita pertimbangkan lagi siklus pengambilan untuk melihat bagaimana unit kontrol mempertahankan kontrol. Unit kontrol mencatat di mana ia berada dalam siklus instruksi. Pada titik tertentu, diketahui bahwa siklus pengambilan harus dilakukan selanjutnya. Langkah pertama adalah mentransfer isi PC ke MAR. Unit kontrol melakukan ini dengan mengaktifkan sinyal kontrol yang membuka gerbang antara bit PC dan bit dari MAR.
Langkah selanjutnya adalah membaca sebuah kata dari memori ke dalam MBR dan kenaikan PC. Unit kontrol melakukan ini dengan mengirimkan sinyal kontrol berikut secara bersamaan:
- Sinyal kontrol yang membuka gerbang, membiarkan isi MAR ke bus alamat
- Memori membaca sinyal kontrol pada bus kontrol
- Sinyal kontrol yang membuka gerbang, memungkinkan isi bus data disimpan dalam MBR
- Mengontrol sinyal ke logika yang menambahkan 1 ke isi PC dan menyimpan hasilnya kembali ke PC. Setelah ini, unit kontrol mengirimkan sinyal kontrol yang membuka gerbang antara MBR dan IR.
Ini melengkapi siklus pengambilan kecuali satu hal: Unit kontrol harus memutuskan apakah akan melakukan siklus tidak langsung atau siklus eksekusi berikutnya. Untuk memutuskan ini, ia memeriksa IR untuk melihat apakah referensi memori tidak langsung dibuat. Siklus tidak langsung dan interupsi bekerja sama. Untuk siklus eksekusi, unit kontrol dimulai dengan memeriksa opcode dan. atas dasar itu, menentukan urutan operasi mikro mana yang akan dilakukan untuk siklus eksekusi.
Contoh Sinyal Kontrol
Untuk menggambarkan fungsi unit kontrol, mari kita telusuri contoh sederhana. Angka ini menggambarkan contohnya.
Ini adalah prosesor sederhana dengan akumulator tunggal. Jalur data antar elemen ditunjukkan.
Jalur kontrol untuk sinyal yang berasal dari unit kontrol tidak ditunjukkan, namun penghentian sinyal kontrol diberi label Ci dan ditunjukkan oleh lingkaran. Unit kontrol menerima masukan dari jam, instruksi register, dan bendera. Dengan setiap siklus clock, unit kontrol membaca semua inputnya dan memancarkan satu set sinyal kontrol. Sinyal kontrol masuk ke tiga tujuan yang berbeda:
- Jalur data: Unit kontrol mengendalikan internal Bagaimana data. Sebagai contoh, pada instruksi fetch, isi register buar memori dipindahkan ke register instruksi. Untuk setiap jalur yang harus dikontrol, ada gerbang (ditunjukkan oleh lingkaran di dalam gorden). Sebuah sinyal kontrol dari unit kontrol sementara membuka pintu gerbang untuk membiarkan data berlalu.
- ALU: Unit kontrol mengendalikan pengoperasian ALU dengan satu set sinyal kontrol. Sinyal ini mengaktifkan berbagai perangkat logika dan gerbang di dalam ALU.
- Bus sistem: Unit kontrol mengirimkan sinyal kontrol ke jalur kontrol bus sistem (mis., Memori READ).
- Unit kontrol harus menjaga pengetahuan tentang letak siklus instruksi. Dengan menggunakan pengetahuan ini, dan dengan membaca semua masukannya, unit kontrol memancarkan rangkaian sinyal kontrol yang menyebabkan operasi mikro terjadi.
Organisasi Proses Internal
Pada gambar sebelumnya menunjukkan penggunaan berbagai jalur data. Kompleksitas jenis organisasi ini seharusnya menjadi jelas Biasanya, semacam pengaturan bus internal. Menggunakan bus prosesor internal, pada gambar tersebut dapat disusun ulang seperti yang ditunjukkan pada gambar berikut ini.
Sebuah bus internal tunggal menghubungkan ALU dan semua register prosesor. Gates dan sinyal kontrol disediakan untuk pergerakan data ke dan ke bus dari setiap register. Sinyal kontrol tambahan mengontrol transfer data ke dan dari bus sistem (eksternal) dan pengoperasian ALU.
Dua register baru, diberi label Y dan Z telah ditambahkan ke organisasi. Ini diperlukan untuk pengoperasian ALU yang tepat. Ketika sebuah operasi yang melibatkan dua operan dilakukan, seseorang dapat diperoleh dari bus internal, namun yang lain harus diperoleh dari sumber lain. AC dapat digunakan untuk tujuan ini, namun ini membatasi fleksibilitas sistem dan tidak akan bekerja dengan prosesor dengan beberapa register umum. Register Y menyediakan penyimpanan sementara untuk input lainnya. ALU adalah rangkaian kombinatorial tanpa penyimpanan internal. Jadi, bila sinyal kontrol mengaktifkan fungsi ALU, masukan ke ALU diubah ke output. Dengan demikian, output ALU tidak bisa langsung terhubung ke bus, karena output ini akan memberi umpan balik ke input. Register Z menyediakan penyimpanan output sementara, dengan pengaturan ini, sebuah operasi untuk menambahkan nilai dari memori ke AC akan memiliki langkah-langkah berikut:
t1: MAR <= (IR (alamat))
t2: MBR <= memori
t3: Y <= (MBR)
t4: Z <= (AC0 + (Y)
t5: ac <= (z)
Organisasi lain mungkin dilakukan, namun, secara umum, beberapa jenis bus internal atau bus internal digunakan. Penggunaan jalur data umum menyederhanakan tata letak interkoneksi dan kontrol prosesor. Alasan praktis lain untuk penggunaan bus internal adalah menghemat ruang. Khusus untuk mikroprosesor, yang hanya menempati satu kuadrat 1/4 inci persegi silikon, ruang yang ditempati oleh koneksi internal harus diminimalkan.
Implementasi HardWired
Hardwired Control diimplementasikan melalui penggunaan unit logika kombinasional, yang menampilkan sejumlah gerbang yang dapat menghasilkan hasil spesifik berdasarkan petunjuk yang digunakan untuk meminta tanggapan tersebut. Unit kontrol Hardwired umumnya lebih cepat daripada desain microprogrammed.
Desain mereka menggunakan arsitektur tetap - memerlukan perubahan pada kabel jika set instruksi dimodifikasi atau diubah. Arsitektur ini lebih diutamakan dalam komputer set instruksi yang dikurangi (RISC) karena mereka menggunakan set instruksi yang lebih sederhana.
Pengontrol yang menggunakan pendekatan ini dapat beroperasi dengan kecepatan tinggi; Namun, ia memiliki sedikit fleksibilitas, dan kompleksitas set instruksi yang dapat diterapkan terbatas. Pendekatan tersulit telah menjadi kurang populer karena komputer telah berevolusi. Sebelumnya, unit kontrol untuk CPU menggunakan logika ad-hoc, dan hal tersebut sulit didesain.
- Intinya unit kontrol merupakan rangkaian kombinatorial.
- Sinyal-sinyal logika inputnya akan didekodekan menjadi sekumpulan sinyal-sinyal logika output, yang merupakan sinyal-sinyal kontrol ke sistem komputer.
- Input unit kontrol meliputi sinyal sinyal register instruksi, pewaktu, flag, dan sinyal bus kontrol.
- Sinyal-sinyal input tersebut sebagai masukan bagi unit kontrol dalam mengetahui status komputer
- Selanjutnya didekodekan menghasilkan sinyal keluaran untuk mengendalikan sistem kerja komputer.
- n buah input biner akan menghasilkan 2n output biner.
- Setiap instruksi memiliki opcode yang berbeda — beda.
- Opcode yang berbeda dalam instruksi akan menghasilkan sinyal kontrol yang berbeda pula.
- Pewaktu unit kontrol mengeluarkan rangkaian pulsa yang periodik.
- Pulsa waktu ini digunakan untuk mengukur durasi setiap operasi mikro yang dijalankan CPU, intinya digunakan untuk sinkronisasi kerja masing — masing
- bagian.
Masalah dalam Merancang Implementasi Hardwired:
- Memiliki kompleksitas dalam pengurutan dan operasi mikronya.
- Sulit didesain dan dilakukan pengetesan.
- Tidak fleksibel
- Sulit untuk menambah instruksi baru.
Sumber: Tugas Matakuliah Arsitektur dan Organisasi Komputer@Edwin-Erdiyana
Demikian artikel mengenai Operasi Control Unit. Terima kasih, dan semoga bermanfaat!
ok min
BalasHapuspemotong sim cut