Langsung ke konten utama

Tugas 06 - Bus Sistem (Heykal - 2103015006)

Bus Sistem

Bus Sistem

Konsep Program

Pemograman hardware merupakan proses penghubungan berbagai komponen logik pada konfigurasi yang diinginkan, untuk melakukan operasi aritmatik dan logik pada data tertentu.

Fungsi umum pada hardware adalah dapat melakukan berbagai macam tugas, tergantung dengan sinyal kendali yang diberikan

Dari pada melakukan re-wiring, lebih baik menambahkan sinyal-sinyal kendali yang baru.

Apa itu program?

Program adalah suatu deteran langkah-langkah, yang pada setiap langkahnya akan dikerjakan suatu operasi aritmatik atau logical.

Pada setiap operasi pada aritatik dan logical, diperlukan sinyal kendali tertentu.

Fungsi Control Unit

Pada setiap operasi aritmatik atau logical mempunyai masing-masing kode unik sebagai perintah untuk melakukan sesuatu. Seperti: ADD, MOVE.

Pada bagian hardware tertentu menerima kode tertentu kemudian menghasilkan sinyal kendali, dan jadilah yang dinamakan komputer

Komponen yang diperlukan

  1. Control Unit (CU) dan Arithmetic Logic Unit (ALU) bagian yang membentuk Central Processor Unit (CPU).
  2. Input/Output yang memasukkan data dan intruksi ke sistem dan pengeluaran data dari sistem.
  3. Main Memory untuk menyimpan sementara kode intruksi dan sistem operasi.
Figure 5.1 - Komponen Komputer: Top Level View

Siklus intruksi

Siklus interuksi terdiri dari dua step:

  1. Fetch
  2. Program Couter berisi address intruksi selanjutnya yang akan diambil, Processor mengambil instruksi dari memory pada lokasi yang ditunjuk oleh PC. Menaikkan PC (kecuali ada perintah tertentu). Intruksi dimasukkan ke Instruction Register (IR). Proses yang meng-interpret dan melakukan tindakan yang diperlukan
  3. Execute
    • Processor - Memory
    • Transfer data antara CPU dengan Main Memory
    • Processor I/O
    • Transfere data antara CPU dengan I/O module
    • Data Processing
    • Operasi Artithmetic dan logical pada data terntentu
    • Control
    • Mengubah urutan operasi, Contoh: Jump
    • Kombinasi dari komponen-komponen diatas
Figure 6.1 - Siklus Instruksi

Contoh eksekusi program

Figure 6.2 - Contoh Eksekusi Program

Diagram Keadaan Siklus Instruksi

Figure 6.3 - Diagram Siklus Instruksi

Interrupt

Suatu mekanisme yang disediakan bagi modul-modul lain (mis. I/O) untuk dapat meng-interupsi operasi normal CPU

  1. Interrupt Program
  2. Contoh: Overflow, Divided by zero.
  3. Interrupt Timer
  4. Dihasilkan oleh internal processor timer, Digunakan dalam pre-emptive multi-tasking.
  5. Interrupt I/O
  6. Dari I/O controller
  7. Interrupt Hardware Failure
  8. Contoh: Memory Parity Error
Figure 7.1 - Program Flow Control

Siklus Interrupt

  • Ditambahkan ke instruksi cycle.
  • Processor memeriksa adanya interrupt (Diberitahukan lewat interrupt signal).
  • Jika tidak ada interrupt, fetch next instruction.
  • Jika ada interrupt
    1. Tunda eksekusi dari program saat itu.
    2. Simpan Context.
    3. Set PC ke awal address dari routine interrupt handler.
    4. Proses interrutp.
    5. Kembalikan Context dan lanjutan program yang terhenti.
Figure 7.2 - Diagram Siklus Intruksi dengan Interrupt

Multiple Interrupts

  1. Disable Interrupts
    • Processor akan mengabaikan interrupt berikutnya
    • Interrupt akan tetap diperiksa setelah interrupt pertama selesai dilayani
    • Interrupt ditangani dalam urutan sesuai datangnya
  2. Define Properies
    • Low priority interrupts dapat di interrupt oleh higher priority interrupts.
    • Setelah higher priority interrupt selesai dilayani, akan kembali ke interrupt sebelumnya.
Figure 7.3 - Multiple interrupt - Sequential

Sambungan

Komponen unit dalam komputer harus tersambung, unit yang berbeda memiliki sambungan yang berbeda. Ada 3 sambungan:

  1. Sambungan Memori
    • Menerima dan mengirim data
    • Menerima Address
    • Menerima sinyal kendali
      • Read
      • Write
      • Timing
  2. Sambungan Input/Output
    • Serupa dengan sambungan memori
    • Output
    • - Menerima data dari komputer
      - Mengirimkan data ke peripheral
    • Input
    • - Menerima data dari peripheral
      - Mengirim data ke komputer
    • Menerima sinyal kendali dari komputer
    • Mengirimkan sinyal kendali ke peripheral
    • - Contoh: spin disk
    • Menerima address dari komputer
    • - Contoh: nomor port
    • Mengirimkan sinyal interrupt
  3. Sambungan CPU
    • Membaca intruksi dan data
    • Menuliskan data setelah diproses
    • Menerima sinyal kendali ke unit-unit lain
    • menerima dan menanggapi interrupt

Bus

Ada beberapa kemungkinan interkoneksi dari sistem, tapi yang biasa dipakai yaitu: Single Bus dan Multiple Bus

Data Bus

Data bus berfungsi untuk membawa data ataupun intruksi. Kecepatan pemindahan data bergantung pada lebar jalur yang digunakan. Lebar jalur yang dipakai berdasarkan besar bit. (8, 16, 32, 64)

Address Bus

Address bus berfungsi untuk menentukan asal atau tujuan dari suatu data. Misalkan CPU membutuhkan pembacaan intruksi (data) dari memori pada lokasi tertentu. Lebar jalur pada bus menentukan kapasistas maksimum memori pada sistem. Misalnya pada processor intel 8080 memiliki 16 bit address bus, maka ruang memori maksimum adalah 64K

Control Bus

Informasi kendali dan timing

  • Sinyal read/write memory (MRD/MWR)
  • Interrupt request (IRQ)
  • Clock signal (CK)
Figure 9.1 - Skema Interkoneksi Bus

Bentuk Fisik Bus

Berikut bentuk fisik bus:

  • Jalur-jalur parallel
  • Ribbon Cables
  • Strip Connectors pada mother boards
  • Kumpulan Kabel

Problem Pada Single Bus

Banyak devices pada bus tunggal menyebabkan:

  • Propagation delays
  • - Jalur data yg panjang berarti memerlukan koordinasi pemkaian shg berpengaruh pada performance
    -If aggregate data transfer approaches bus capacity

Kebanyakan sistem menggunakan multiple bus.

Figure 9.2 - Bus Traditional (ISA) (Menggunakan Cache)

Jenis Bus

Ada dua jenis Bus:
  1. Dedicated
  2. - Jalur data dan address terpisah
  3. Multiplaxed
  4. - Jalur bersama
    - Address dan data pada saat yang berbeda
    - Keuntungannya terdapat jalur yang sedikit
    - Kerugiannya: kendali lebih complex, mempengaruhi performance

Arbitrasi Bus

Beberapa modul mengendalikan Bus, seperti CPU dan DMA controller, setiap saat hanya satu modul yang mengendalikan.

Arbitrasi bus menentukan yang akan mengendalikan bus. Arbitrasi bisa secara centralised atau distributed.

  • Abritasi Centralised
  • Hanya satu hardware device yg mengendalikan akses bus. Bisa merupakan bagian dari CPU atau terpisah
  • Abritasi Distributed
  • Setiap Modul dapat mengklaim bus, dan setiap modul memiliki Control Logic

Timing

  • Koordinsasi event pada bus
  • Synchronous
  • - Event ditentukan oleh sinyal clock
    - Control Bus termasuk jalur clock
    - Siklus bus ( bus cycle) transmisi 1 ke 0
    - Semua devices dpt membaca jakur clock
    - Biasanya sinkronisasi terjadi pada tepi naik (leading edge)
    - Suatu event biasanya dimualai pada awal siklus
Figure 9.4 - Synchronous Timing Diagram
Figure 9.5 - Asynchronous Timing Diagram

Tanya Jawab

  1. Ada berapa komponen hardware yang diperlukan untuk mengeksekusi sebuah baris perintah/program?
    1. 4
    2. 3
    3. 5
    4. 6
  2. Main memori digunakan untuk?
    1. Membentuk Central Unit Processor
    2. Memasukkan data instruksi ke sistem
    3. Menyimpan sementara code intruksi dan operasi
    4. Mengeluarkan intruksi dari sistem
  3. Input/Output berfungsi untuk?
    1. Membentuk Central Unit Processor
    2. Memasukkan data instruksi ke sistem
    3. Menyimpan sementara code intruksi dan operasi
    4. Mengeluarkan intruksi dari sistem
  4. Input/Output berfungsi untuk?
    1. Membentuk Central Unit Processor
    2. Memasukkan data instruksi ke sistem
    3. Menyimpan sementara code intruksi dan operasi
    4. Mengeluarkan intruksi dari sistem
  5. Siklus Intruksi dibagi menjadi?
    1. 2
    2. 3
    3. 3
    4. A dan B benar
  6. Siklus intruksi yaitu?
    1. Fetch, Execute, Gain
    2. Fetch, Gain, Execute
    3. A dan B benar
    4. Fetch dan Execute
  7. Siklus intruksi yaitu?
    1. Fetch, Execute, Gain
    2. Fetch, Gain, Execute
    3. A dan B benar
    4. Fetch dan Execute
  8. Jenis Bus yaitu?
    1. Dedicated, Multiplaxed, dan Executed
    2. Arbitrasi dan Dedicated
    3. A dan B benar
    4. C salah
  9. Jenis bus ada?
    1. 2 Jenis
    2. 3 Jenis
    3. 4 Jenis
    4. A dan B salah
  10. Modul yang mengendalikan bus?
    1. CPU dan DMA Controller
    2. CPU dan RAM
    3. A salah
    4. A dan B Benar



Komentar

Postingan populer dari blog ini

Tugas 11 Heykal (2103015006)

ALU, singkatan dari  Arithmetic And Logic Unit  adalah salah satu bagian dalam dari sebuah  mikroprosesor  yang berfungsi untuk melakukan operasi hitungan  aritmatika  dan  logika . Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. Tugas utama dari ALU (Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut  adder . Tugas lain dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika ( logical operation ) meliputi perbandingan dua buah elemen logika dengan menggunakan ...

Tugas 13 Set Instruksi: Mode dan Format Pengalamatan Oleh Heykal Sayid (2103015006)

Secara umum, addressing modes dibagi menjadi : Immediate Addressing, Register Addressing, Direct Addressing, Register Indirect Addressing, Base Relative Addressing, Direct Indexed Addressing, Based Indexed Addressing. 1. Immediate Addressing Immediate addressing adalah pengkopian data tercepat dengan cara mengkopikan angka ke suatu register 8, 16 atau 32 bit.Immediate addressing dapat juga mendapatkan nilainya melalui suatu konstanta yang telah didefinisikan dengan perintah EQU.Contoh :MOV AX,9876H2.  2. Register Addressing Register addressing adalah pengkopian data antar register. Pengkopian antar register ini harus menggunakan register yang berukuran sama.Contoh :MOV AX,BX. 3. Direct Addressing Direct addressing adalah pengkopian data dari suatu simbol ke register.Contoh :MOV AX,DATA14.  4. Register Indirect Addressing Register indirect addressing adalah mengakses suatu data yang banyak dengan mengambil alamat efektif dari data tersebut.Contoh :LEA DX,KAL05.  5....
Inctruction Set Set Intruksi Apa itu Set intruksi Set intruksi adalah Kumpulan perintah yang diberikan kepada CPU, untuk melakukan apa yang harus dilakukan. Set intruksi kurang lebih berkaitan dengan programming yang mana hal itu diuraiakan dalam bahasa mesin atau menggunakan kode assembly. Elemen Intruksi Element intruksi ada 3: Operation Code (OP code): Menentukan operasi yang akan dilakukan. Source Operand Reference: Operasi yang melibatkan satu atau dua sumber operand (Denegan data ini). Result Operand Reference: Operand yang memproduksi hasil (Simpan hasilnya kesini). Next Instruction Reference: Memerintahkan CPU untuk melanjutkan ke ...