Minggu, 06 Desember 2009

Perancangan Kinerja BUS Sistem

Konsep Program

* Pemrograman (hardware) merupakan proses penghu-bungan berbagai komponen logik pada konfigurasi yang diinginkan untuk membentuk operasi aritmatik dan logik pada data tertentu
* Hardwired program tidak flexibel
* General purpose hardware dapat mengerjakan berbagai macam tugas tergantung sinyal kendali yang diberikan
* Daripada melakukan re-wiring, Lebih baik menambah-kan sinyal-sinyal kendali yang baru

Program ?

* Adalah suatu deretan langkah-langkah
* Pada setiap langkah, dikerjakan suatu operasi arithmetic atau logical
* Pada setiap operasi, diperlukan sejumlah sinyal kendali tertentu

Fungsi Control Unit

* Untuk setiap operasi disediakan kode yang unik
Contoh: ADD, MOVE
* Bagian hardware tertentu menerima kode tersebut kemudian menghasilkan sinyal-sinyal kendali
* Jadilah komputer!

Komponen yang diperlukan

* Control Unit (CU) dan Arithmetic and Logic Unit (ALU) membentuk Central Processing Unit (CPU)
* Data dan instruksi harus diberikan ke sistem dan dikeluarkan dari sistem
Input/output
* Diperlukan tempat untuk menyimpan sementara kode instruksi dan hasil operasi.
Main memory

Siklus Instruksi

1. Fetch Cycle

* Program Counter (PC) berisi address instruksi berikutnya yang akan diambil
* Processor mengambil instruksi dari memory pada lokasi yang ditunjuk oleh PC
Naikkan PC
* Kecuali ada perintah tertentu
* Instruksi dimasukkan ke Instruction Register (IR)
* Processor meng-interpret dan melakukan tindakan yang diperlukan

2. Execute Cycle

* Processor-memory
Transfer data antara CPU dengan main memory
* Processor I/O
Transfer data antara CPU dengan I/O module
* Data processing
Operasi arithmetic dan logical pada data tertentu
* Control
Mengubah urutan operasi
Contoh: jump
* Kombinasi diatas

Interrupt

* Suatu mekanisme yang disediakan bagi modul-modul lain (mis. I/O) untuk dapat meng-interupsi operasi normal CPU
* Program
Misal: overflow, division by zero
* Timer
Dihasilkan oleh internal processor timer
Digunakan dalam pre-emptive multi-tasking
* I/O
dari I/O controller
* Hardware failure
Misal: memory parity error

Siklus Interupsi

* Ditambahkan ke instruction cycle
* Processor memeriksa adanya interrupt
Diberitahukan lewat interrupt signal
* Jika tidak ada interrupt, fetch next instruction
* Jika ada interrupt:
* Tunda eksekusi dari program saat itu
* Simpan context
* Set PC ke awal address dari routine interrupt handler
* Proses interrupt
* Kembalikan context dan lanjutkan program yang terhenti.

Multiple Interrupts

* Disable interrupts
* Processor akan mengabaikan interrupt berikutnya
* Interrupts tetap akan diperiksa setelah interrupt ynag pertama selesai dilayani
* Interrupts ditangani dalam urutan sesuai datangnya
* Define priorities
* Low priority interrupts dapat di interrupt oleh higher priority interrupts
* Setelah higher priority interrupt selesai dilayani, akan kembali ke interrupt sebelumnya.

Sambungan

* Semua unit harus tersambung
* Unit yang beda memiliki sambungan yang beda
Memory
Input/Output
CPU

Sambungan Memori

* Menerima dan mengirim data
* Menerima addresses
* Menerima sinyal kendali
Read
Write
Timing

Sambungan Input/Output

* Serupa dengan sambungan memori
* Output
- Menerima data dari computer
- Mengirimkan data ke peripheral
* Input
- Menerima data dari peripheral
- Mengirimkan data ke computer
* Menerima sinyal kendali dari computer
* Mengirimkan sinyal kendali ke peripherals
Contoh: spin disk
* Menerima address dari computer
Contoh: nomor port
* Mengirimkan sinyal interrupt

CPU Connection

* Membaca instruksi dan data
* Menuliskan data (setelah diproses)
* Mengirimkan sinyal kendali ke unit-unit lain
* Menerima (& menanggapi) interrupt

Tidak ada komentar:

Posting Komentar