Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Basic I/O Operations and Processing Unit

Presentasi serupa


Presentasi berjudul: "Basic I/O Operations and Processing Unit"— Transcript presentasi:

1 Basic I/O Operations and Processing Unit
ORGANISASI KOMPUTER Basic I/O Operations and Processing Unit

2 BASIC INPUT-OUTPUT OPERATIONS
Membahas cara transfer data antara MM suatu komputer dan peralatan input-output. Misal: suatu tugas yg memerlukan input karakter dr keyboard suatu video terminal dan menghasilkan output karakter yg di display kan di layar pd terminal yg sama. Metode yg digunakan: Program - Controlled I/O.

3 Video terminal terdiri dr sebuah unit keyboard dan display unit, merupakan suatu I/O device sederhana yg digunakan utk menjelaskan prinsip tsb. C P U Video Terminal SIN SOUT DATA IN DATA OUT Keyboard Display

4 MASALAH: Bagaimana sinkronisasi operasi antara CPU yang bekerja dengan cepat dengan peralatan I/O yang relatif lambat ? (masalah sinkronisasi kecepatan). CPU mengirim karakter pertama, kemudian menunggu sinyal dari display yang memberitahu bahwa karakter tersebut sudah dicetak CPU mengirim karakter kedua dan seterusnya.

5 Input dikirimkan dr keyboard dg cara yg mirip
Input dikirimkan dr keyboard dg cara yg mirip. CPU menunggu sinyal yang menunjukkan bahwa suatu tombol karakter telah ditekan dan kodenya tersedia pd suatu lokasi yg sesuai. Kmd CPU melanjutkan utk membaca kode itu. Satu block instruksi pd I/O program mentransfer karakter ke dlm CPU, dan dan blok instruksi lain yg berhubungan menyebabkan karakter di display kan. Proses ini, mengirim karakter yg telah diterima ke display, disebut echoback.

6 Dalam transfer kode karakter dari keyboard ke CPU, tombol keyboard ditekan dan kode karakter disimpan dalam 8 bit buffer register. Register tersebut disebut DATAIN. Untuk memberitahu CPU, bahwa ada karakter di dalam DATAIN, digunakan synchronization control flag yang diset ke 1. CPU memonitor Cin, sehingga jika SIN = 1, CPU membaca isi dari DATAIN. jika karakter sudah ditransfer ke CPU, SIN di clear ke 0. Jika karakter kedua dimasukkan, SIN kembali di set ke 1, dan proses berulang lagi. Proses sinkronisasi yang serupa terjadi ketika men-transfer karakter dari CPU ke display.

7 Hal tersebut menggunakan 8 bit buffer register DATAOUT, dan synchronization control flag, SOUT.
Jika SOUT = 1, display siap untuk mencetak sebuah karakter. CPU dapat memonitor SOUT dan jika SOUT = 1, maka CPU dapat mentransfer kode karakter ke DATAOUT. Transfer karakter kedalam DATAOUT menyebabkan SOUT = 0 Jika karakter telah dicetak SOUT diset ke 1 dan proses berulang.

8 Buffer register DATAIN dan DATAOUT serta synchronization flags SIN dan SOUT merupakan bagian dari rangkaian yg secara umum dikenal sbg device interface, yg menghubungkan video terminal dg CPU. Sampai sekarang, asumsi: address yg dikeluarkan CPU utk mengakses instruksi dan operand selalu me-refer ke lokasi MM. Banyak komputer menggunakan pengaturan yg disebut memory-mapped I/O, dimana beberapa nilai memory address digunakan utk me-refer ke peripheral device buffer register, spt: DATAIN dan DATAOUT.

9 Jadi tidak ada instruksi khusus yg dibutuhkan utk meng-akses isi register-register tsb, CPU menggu-nakan instruksi spt: Move, Load atau Store. Misal: isi Keyboard character buffer DATAIN dapat ditransfer ke register R1 di CPU oleh instruksi: Move R1,DATAIN dan isi register R1 dapat ditransfer ke DATAOUT oleh instruksi: Move DATAOUT, R1

10 Control flag SIN dan SOUT secara otomatis di clear ketika buffer register DATAIN dan DATAOUT di reference. Dua instruksi tsb scr langsung meng-implementasikan operasi Input dan Output umum.

11 PROCESSING UNIT

12 KONSEP FUNDAMENTAL Instruksi - instruksi diletakkan pada lokasi yang berurutan di MM. Dengan asumsi (utk penyederhanaan) bhw 1 instruksi menempati 1 lokasi memory, maka utk melaksanakan suatu instruksi, CPU perlu melakukan tiga langkah berikut: Ambil isi lokasi memory yang ditunjuk oleh PC. Isi lokasi ini diartikan sebagai instruksi yang harus dilakukan. Shg isi tsb dimasukkan ke dlm Instruction Register ( IR ). Secara simbolik hal ini dapat ditulis sbg : IR  (PC).

13 Inkremen isi PC dengan 1, yaitu:
PC  PC + 1 3. Melaksanakan operasi yg dimaksudkan instruksi yg tersimpan dalam IR. Dalam hal sebuah instruksi menempati lebih dari 1 word, langkah 1 dan 2 harus diulang beberapa kali untuk mengambil seluruh instruksi. Langkah 1 dan 2 disebut fetch phase. Langkah 3 disebut execution phase.

14 Gambar Organisasi Single-bus dari Data path (jalur data) di dalam CPU.
CPU Bus MAR MDR PC Address Lines Data Lines Memory Bus Y ALU Add Sub Xor ALU Control Lines Z Control Signal Instruction Decoder IR R0 Rn-1 Temp : Gambar Organisasi Single-bus dari Data path (jalur data) di dalam CPU.

15 Didalam CPU terdapat beberapa block
Didalam CPU terdapat beberapa block. Antar block dihubungkan oleh bus yang disebut internal CPU bus. Bedakan Internal dengan external bus. External bus menghubungkan CPU dengan memory dan peralatan I/O. Bus tersebut dihubungkan ke CPU lewat MDR dan MAR. Jumlah dan fungsi register R0 sampai R(n-1) bervariasi.

16 Register Y, Z dan TEMP digunakan sebagai tempat penyimpanan sementara selama pelaksanaan beberapa instruksi oleh CPU. IR dan instruction decoder merupakan bagian dari control circuitry di CPU. ALU dan register yg lain digunakan utk menyimpan dan memanipulasi data, mereka juga disebut sbg datapath

17 Dg beberapa perkecualian, kebanyakan operasi yg diperlukan utk melaksanakan suatu instruksi dapat dilakukan dg melaksanakan satu atau lebih fungsi berikut dg urutan yg telah ditentukan: 1. Mengambil isi dari lokasi memory dan memasukkan ke dalam register CPU. 2. Menyimpan satu word data dari register CPU ke lokasi memory. 3. Transfer 1 word data dari register ke register lain atau ke ALU. 4. Melakukan operasi aritmatika atau logika dan menyimpan hasilnya di dalam CPU.

18 MENGAMBIL SUATU WORD DARI MEMORY
Informasi disimpan dalam lokasi memory yang di identifikasi dengan address. - CPU menentukan address tersebut dan meminta operasi READ (informasi dapat berupa instruksi atau data). - CPU meletakkan address di MAR dimana MAR dihubungkan ke address line dari memory bus.

19 CPU menggunakan control line dari memory bus untuk menunjukan bhw diperlukan operasi READ.
- CPU menunggu sampai menerima jawaban dari memory yg menyatakan bahwa permintaan telah dipenuhi. Hal ini dilakukan dengan penggunaan control signal yang lain pada memory bus yang disebut sbg Memory Function Completed (MFC).

20 Memory men-set sinyal ini menjadi “1”
Memory men-set sinyal ini menjadi “1” untuk menunjukkan bahwa isi lokasi memory telah dibaca dan sudah berada di data lines dari memory bus. Segera setelah sinyal MFC di set ke 1, informasi pd data line dimasukkan ke MDR dan tersedia bagi penggunaan dlm CPU. - Setting sinyal MFC ke 1 menyelesaikan operasi memory fetch.

21 Sbg contoh, anggaplah bhw address lokasi memory yg akan diakses berada di register R1 dan isinya akan disimpan ke dalam register R2. Hal ini dilakukan dengan urutan operasi sebagai berikut : 1. MAR  R1 2. Read 3. Tunggu sinyal MFC 4. R2  MDR

22 Waktu yang dibutuhkan untuk langkah 3 tergantung pd kecepatan memory yang digunakan. Biasanya waktu yg dibutuhkan untuk membaca word dr memory lebih besar dari pada waktu yang di butuhkan CPU untuk melaksanakan 1 instruksi. Waktu CPU menunggu bisa digunakan utk melakukan operasi lain yg tidak membutuhkan MDR atau MAR misalnya dg menaikkan PC. Mekanisme transfer dimana suatu peralatan memulai transfer (permintaan READ) dan menunggu sampai peralatan lain menjawab (MFCsignal) disebut sebagai Asynchronous transfer (Transfer data antara 2 peralatan yg berbeda kecepatannya).

23 Mekanisme lain adalah Synchoronous transfer: salah satu control lines membawa pulsa - pulsa dari clock dg frekwensi tetap. Pulsa - pulsa ini berlaku bagi CPU dan memory sebagai timing signals. Sebuah operasi memory selesai dilakukan selama tiap periode clock. Pada pembahasan selanjutnya kita menggunakan asynchronous transfer.

24 Eksekusi dari program diatas adalah sbb :
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin R1out, MARin , read, WMFC MDRout, R2in End

25 Untuk instruksi branch bersyarat, misal : Jnz 1050 (jump if not zero to 1050), maka ekse-kusi dari langkah no.4 di atas diganti dengan PCout, Yin, If N = 0 then end Maksud dari step di atas adalah pada saat isi PC dicopy ke register Y dilakukan pengecekan nilai flag N. Jika flag N maka diteruskan dengan eksekusi langkah berikutnya, tetapi jika flag N = 0, maka eksekusi step berikutnya di lewati dan dilanjutkan dengan mengeksekusi instruksi berikutnya.

26 MENYIMPAN SUATU WORD KE DALAM MEMORY
Prosedur mirip dengan pembacaan dari memory. - Perbedaannya : data word yg akan disimpan, dimasukkan dulu ke dalam MDR sebelum perintah WRITE dikeluarkan. Contoh : Anggaplah bahwa word yang akan disimpan di memory berada pada R2 dan address memory tersebut berada pada R1.

27 Maka operasi WRITE memerlukan urutan langkah - langkah berikut:
1. MAR  [R1] 2. MDR  [R2], Write 3. Tunggu MFC Step1dan 2 dapat dilakukan bersama - sama, kecuali pd organisasi single bus. - Periode tunggu pd langkah 3 dapat overlap dg operasi yg lain, asalkan operasi tsb tidak melibatkan register MDR atau MAR.

28 Register Transfer Untuk mentransfer data antar register pada mikroprosessor yang menggunakan jalur bus yang sama diperlukan gerbang (gate) pada tiap register. Setiap register memiliki dua gerbang, yaitu input gates (Riin) dan output gates (Riout). Lihat gambar di bawah ini.

29 Gambar gerbang input-output pada register

30 Misalkan akan ditransfer data dari register R1 ke register R2, maka dilakukan langkah-langkah berikut : Enable output dari register R1. Hal ini menyebabkan isi dari R1 berada pada data bus CPU. Enable input register R2. Hal ini menyebabkan data yang berada pada data bus CPU masuk ke register R2. Hal seperti dia atas dapat dituliskan secara singkat : R1out, R2in


Download ppt "Basic I/O Operations and Processing Unit"

Presentasi serupa


Iklan oleh Google