INTERKONEKSI STRUKTUR
Komputer terdiri
dari satu set komponen atau modul dari tiga tipe dasar (prosesor, memori, i /
o) yang berkomunikasi satu sama lain. Pada dasarnya, komputer adalah jaringan
modul bacis. Sehingga harus ada jalan untuk menghubungkan modul.
Koleksi jalan yang menghubungkan berbagai
modul disebut struktur interkoneksi. Desain struktur ini akan tergantung pada
pertukaran yang harus dilakukan antara modul.
Angka 3,15 menunjukkan jenis pertukaran
yang dibutuhkan oleh yang menunjukkan bentuk utama dari input dan output untuk
setiap jenis modul Struktur interkoneksi adalah kumpulan lintasan yang menghubungkan
berbagai komponen-komponen seperti CPU, Memory dan i/O, yang saling
berkomunikasi satu dengan lainnya.
1. CPU
CPU
membaca instruksi dan data, menulis data setelah diolah, dan menggunakan
signal-signal kontrol untuk mengontrol operasi sistem secara keseluruhan. CPU
juga menerima signal-signal interupt.
2. MEMORY
Memory umumnya modul memory terdiri dari n
word yang memiliki panjang yang sama. Masing-masing word diberi alamat numerik
yang unik(0,1…,N-1). Sebuah word data dapat dibaca dari memory atau ditulis ke
memori. Sifat operasinya ditandai oleh signal-signal control read dan write.
Lokasi bagi operasi dispesifikasikan oleh sebuah alamat.
3. I/O
I/O
berfungsi sama dengan memory.Terdapat dua buah operasi, baca dan tulis. Selain
itu, modul-modul i/O dapat mengontrol lebih dari 1 perangkat eksternal. Kita
dapat mengaitkan interface ke perangkat eksternal sebagai sebuah port dan
memberikan alamat yang unik (misalnya,0,1,…,M-1) ke masing-masing port
tersebut. Di samping itu, terdapat juga lintasan-lintasan data internal bagi
input dan output data dengan suatu perangkat eksternal. Terakhir, modul i/O
dapat mengirimkan sinyal-sinyal interupt ke cpu.
4. PROCESSOR
Prosesor membaca dalam instruksi dan
data, menulis data setelah keluar pengolahan, dan menggunakan sinyal kontrol
untuk mengendalikan keseluruhan sistem operasi. Juga menerima sinyal interupt.
Jenis pertukaran
data yang diperlukan modul – modul
komputer, maka struktur interkoneksi harus mendukung perpindahan data
berikut :
a. Memori
ke CPU :
CPU melakukan pembacaan data maupun
instruksi dari memori.
b. CPU
ke Memori :
CPU melakukan penyimpanan atau penulisan
data ke memori.
c. I/O
ke CPU :
CPU membaca data dari peripheral melalui
modul I/O.
d. CPU
ke I/O :
CPU mengirimkan data ke perangkat
peripheral melalui modul I/O.
e. I/O
ke Memori atau dari Memori ke I/O :
digunakan pada sistem DMA.
Saat ini terjadi
perkembangan struktur interkoneksi, namun yang
banyak digunakan adalah sistem bus. Sistem bus
ada yang digunakan yaitu sistem bus tunggal dan struktur
sistem bus campuran, tergantung karakteristik sistemnya.
INTERKONEKSI BUS
System bus atau bus sistem, dalam arsitektur komputer yang oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. dan Sebuah bus adalah jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus. Sebuah bus sistem terdiri dari 50 hingga 100 saluran yang terpisah. Masing-masing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat diklasifikasikan menjadi tiga kelompok, yaitu saluran data, saluran alamat, dan saluran kontrol. Selain itu, terdapat pula saluran distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung.
A. Saluran Data (Data Bus)
Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut bus data. Umumnya bus data terdiri dari 8, 16, 32 saluran, jumlah saluran diakitakan denang lebar bus data. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah bit yang dapat dipindahkan pada suatu saat. Lebar bus data merupakan faktor penting dalam menentukan kinerja sistem secara keseluruhan. Misalnya, bila bus data lebarnya 8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap siklus instruksinya.
B. Saluran Alamat (Address Bus)
Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya, bila CPU akan membaca sebuah word data dari memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat. Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port input/outoput. Biasanya, bit-bit berorde lebih tinggi dipakai untuk memilih lokasi memori atau port I/O pada modul.
C. Saluran Kontrol (Control Bus)
Saluran kontrol digunakan untuk mengntrol akses ke saluran alamat dan penggunaan data dan saluran alamat. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol penggunaannya. Sinyal-sinyal kontrol melakukan transmisi baik perintah maupun informasi pewaktuan diantara modul-modul sistem. Sinyal-sinyal pewaktuan menunjukkan validitas data dan informasi alamat. Sinyal-sinyal perintah mespesifikasikan operasi-operasi yang akan dibentuk. Umumnya saluran kontrol meliputi :
o Memory Write, memerintahkan data pada bus yang akan dituliskan ke dalam lokasi alamat.
o Memory Read memerintahkan data dari lokasi alamat ditempatkan pada bus data.
o I/O Write, memerintahkan data pada bus dikirim ke lokasi port I/O.
o I/O Read, memerintahkan data dari port I/O ditempatkan pada bus data.
o Transfer ACK, menunjukkan data telah diterima dari bus atau data telah ditempatkan pada bus.
o Bus Request, menunjukkan bahwa modul memerlukan kontrol bus.
o Bus Grant, menunjukkan modul yang melakukan request telah diberi hak mengontrol bus.
o Interrupt Request, menandakan adanya penangguhan interupsi dari modul.
o Interrupt ACK, menunjukkan penangguhan interupsi telah diketahui CPU.
o Clock, kontrol untuk sinkronisasi operasi antar modul.
o Reset, digunakan untuk menginisialisasi seluruh modul.
Secara fisik bus adalah konduktor listrik yang dihubngkan secara paralel yang berfungsi menghubungkan modul–modul. Konduktor ini biasanya adalah saluran utama pada PCB motherboard dengan layout tertentu sehingga didapat fleksibilitas penggunaan. Untuk modul I/O biasanya dibuat slot bus yang mudah dipasang dan dilepas, seperti slot PCI dan ISA. Sedangkan untuk chips akan terhubung melalui pinnya.
Prinsip operasi bus adalah sebagai berikut :
Operasi pengiriman data ke modul lainnya yaitu
1) Meminta penggunaan bus.
2) Apabila telah disetujui, modul akan memindahkan data yang diinginkan ke modul yang dituju.
Operasi meminta data dari modul lainnya :
1) Meminta penggunaan bus.
2) Mengirim request ke modul yang dituju melalui saluran kontrol dan alamat yang sesuai.
3) Menunggu modul yang dituju mengirimkan data yang diinginkan.
Hierarki Multiple Bus
Bila terlalu banyak modul atau perangkat dihubungkan pada bus maka akan terjadi penurunan kinerja.
Faktor – faktor :
Semakin besar delay propagasi untuk mengkoordinasikan penggunaan bus.
Antrian penggunaan bus semakin panjang.
Dimungkinkan habisnya kapasitas transfer bus sehingga memperlambat data.
Arsitektur Bus Jamak Kinerja Tinggi
Keuntungan hierarki bus jamak kinerja tinggi, yaitu :
- Bus berkecepatan tinggi lebih terintegrasi dengan prosesor.
- Perubahan pada arsitektur prosesor tidak begitu mempengaruhi kinerja bus
ELEMEN-ELEMEN RANCANGAN BUS
1. JENIS BUS : (DEDICATED AND TIME MULTIPLEXING)
Saluran bus dapat dipisahkan menjadi dua tipe umum, yaitu dedicated dan multiplexed. Suatu saluran bus didicated secara permanen diberi sebuah fungsi atau subset fisik komponen-komponen komputer.
Sebagai contoh dedikasi fungsi adalah penggunaan alamat dedicated terpisah dan saluran data, yang merupakan suatu hal yang umum bagi bus. Namun, hal ini bukanlah hal yang penting. Misalnya, alamat dan informasi data dapat ditransmisikan melalui sejumlah salurah yang sama dengan menggunakan saluran address valid control. Pada awal pemindahan data, alamat ditempatkan pada bus dan address valid control diaktifkan. Pada saat ini, setiap modul memilki periode waktu tertentu untuk menyalin alamat dan menentukan apakah alamat tersebut merupakan modul beralamat. Kemudian alamat dihapus dari bus dan koneksi bus yang sama digunakan untuk transfer data pembacaan atau penulisan berikutnya. Metode penggunaan saluran yang sama untuk berbagai keperluan ini dikenal sebagai time multiplexing.
Keuntungan time multiplexing adalah memerlukan saluran yang lebih sedikit, yang menghemat ruang dan biaya. Kerugiannya adalah diperlukannya rangkaian yang lebih kompleks di dalam setiap modul. Terdapat juga penurunan kinerja yang cukup besar karena event-event tertentu yang menggunakan saluran secara bersama-sama tidak dapat berfungsi secara paralel.
Dedikasi fisik berkaitan dengan penggunaan multiple bus, yang masing-masing bus itu terhubung dengan hanya sebuah subset modul. Contoh yang umum adalah penggunaan bus I/O untuk menginterkoneksi seluruh modul I/O, kemudian bus ini dihubungkan dengan bus utama melalui sejenis modul adapter I/O. keuntungan yang utama dari dedikasi fisik adalah throughput yang tinggi, harena hanya terjadi kemacetan lalu lintas data yang kecil. Kerugiannya adalah meningkatnya ukuran dan biaya sistem.
2. METODE ARBITRASI :
Di dalam semua sistem keculai sistem yang paling sederhana, lebih dari satu modul diperlukan untuk mengontrol bus. Misalnya, sebuah modul I/O mungkin diperlukan untuk membaca atau menulis secara langsung ke memori, dengan tanpa mengirimkan data ke CPU. Karena pada satu saat hanya sebuah unit yang akan berhasil mentransmisikan data melalui bus, maka diperlukan beberapa metodi arbitrasi. Bermacam-macam metode secara garis besarnya dapat digolongkan sebagi metode tersentraslisasi dan metode terdistribusi. Pada metode tersentralisasi, sebuah perangkat hardware, yang dikenal sebagai pengontrol bus atau arbitrer, bertanggung jawab atas alokasi waktu pada bus. Mungkin perangkat berbentuk modul atau bagian CPU yang terpisah. Pada metode terdistribusi, tidak terdapat pengontrol sentral. Melainkan, setiap modul terdiri dari access control logic dan modul-modul bekerja sama untuk memakai bus bersama-sama. Pada kedua metode arbitrasi, tujuannya adalah untuk menugaskan sebuah perangkat, baik CPU atau modul I/O, bertindak sebagai master. Kemudian master dapat memulai transfer data (misalnya, membaca atau menulis) dengan menggunakan perangkat-perangkat lainnya, yang bekerja sebagai slave bagi pertukaran data yang khusus ini.
3. TIMING :
Timing berkaitan dengan cara terjadinya event yang diatur pada bus system, dan dapat dibedakan atas :
Synchronous : Terjadinya event pada bus ditentukan oleh clock ( pewaktu )
Asynchronous :Terjadinya sebuah event pada bus mengikuti dan tergantung pada event sebelumnya.
4. LEBAR BUS :
Semakin lebar bus data, semakin besar bit yang dapat ditransfer pada suatu saat.
5. JENIS TRANSFER DATA yang menggunakan bus di antaranya adalah :
1. Operasi Read
2. Operasi Write
3. Operasi Read Modify Write
4. Operasi Read After Write
5. Operasi Block
EKSEKUSI PROGRAM
Siklus Eksekusi Program :
Cara kerja CPU ialah ketika data serta atau instruksi dimasukkan ke processing devices, pertama sekali diletakkan di MAA(melalui Input-storage), yakni apabila berbentuk instruksi ditampung oleh Control Unit diProgram-storage, namun apabila berbentuk data ditampung diWorking-storage. Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register).
Jika berdasar instruksi pengerjaan yang dilakukan adalah aritmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung pada akumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di akumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan mengambil kembali hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan kepada output-devices.
Siklus Instruksi terdiri atas siklus fetch dan siklus eksekusi:
Siklus Fetch:
Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori.
Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut dengan Program Counter (PC).
PC akan menambah satu hitungannya setiap kali CPU membaca instruksi.
Instruksi-instruksi yang dibaca akan dibuat dalam register instruksi (IR).
Instruksi-instruksi ini dalam bentuk kode-kode biner yang dapat di interprestasikan oleh CPU kemudian dilakukan aksi yang diperlukan.
Siklus Eksekusi:
- Instruction Address Calculation (IAC), yaitu mengkalkulasikan atau menentukan alamat instruksi berikutnya yang akan dieksekusi.
- Instruction Fetch (IF), yaitu membaca atau mengambil instruksi dari lokasi memorinya ke CPU.
- Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
- Operator Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
- Operand Fetch (OF), mengambil operand dari memori atau dari modul I/O.
- Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
- Operand Store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
Aksi CPU:
CPU – Memori, perpindahan data dari CPU ke memori dan sebaliknya.
CPU – I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya.
Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data.
Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi.
Fungsi Interupsi :
Mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi.
Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU.
Tujuan Interupsi
- Secara umum untuk manajemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul-modul I/O maupun memori.
- Setiap komponen computer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan eksekusi masing-masing modul berbeda.
- Dapat sebagai sinkronisasi kerja antar modul
Kelas Sinyal Interupsi
- Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya : aritmatika overflow, pembagian nol, operasi ilegal.
- Timer, adalah interupsi yang dibangkitkan perwaktuan dalam processor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler.
- I/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi.
- Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori.
Proses Interupsi
- Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk mengeksekusi instruksi-instruksi lain.
- Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya, maka modul ini akan mengirimkan permintaan interupsi ke prosesor.
- Kemudian prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandle routine interupsi.
- Setelah program interupsi selesai, maka prosesor akan melanjutkan eksekusi programnya.
- Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditolak dan interupsi ditolak.
Dari contoh eksekusi diatas siklus instruksi dengan langkah langkah berikut:
Mengambil (fetch) instruksi ADD, Membaca isi lokasi memori A ke dalam prosesor, Membaca isi lokasi memori B ke dalam prosesor, agar isi A tidak hilang prosesor harus memiliki sedikitnya dua buah register untuk menyimpan nilai-nilai memori dibanding akumulator tunggal, Menambahkan kedua nilai-nilainya, Menuliskan hasilnya dari prosesor ke lokasi memori A.
Jadi, siklus eksekusi untuk instruksi tertentu boleh melibatkan lebih dari satu referensi ke memori, juga suatu instruksi dapat menentukan suatu operasi I/O.
Untuk lebih jelasnya sebagai berikut :
1) control unit mengambil data 1940 di main memory dengan alamat 300 di taruh di cpu register dengan dgn pc counter berisikan alamat instruksi 300
2) kemudian control unit mengambil data 0003 di main memory dengan alamat940 di taruh di accumulator dgn pc counter berisikan alamat instruksi 300.
3) control unit mengambil data 5941 di main memory dengan alamat 301 dan di replace di cpu register dgn pc counter berisikan alamat instruksi 301.
4) di accumulator data 0003 di tambah dengan data 0002 di alamat 941 sehingga jumlah data menjadi 0005 di accumulator dgn pc counter beralamatkan instruksi 301.
5) kemudian data 2941 di main memory dgn alamat 302 oleh control unit akan di kirim ke cpu register pc counter berisikan alamat instruksi 302.
6) kemudian dari accumulator oleh control unit data 0005 di bawa ke main memory ke alamat 941 data di replace yang tadinya 0002 menjadi 0005 dengan pc counter alamat instruksi 302
REFRENSI / SUMBER :