Sabtu, 27 Oktober 2018

Data Transfer with a DMA Controller

Baiklah saya akan menjelaskan sedikit tentang transfer data oleh DMA Controller, Karena tugas wajib dari  Pak dosen yang saya hormati yaitu Pak Ibnu Sani Wijaya. Dalam tugas ini saya ditugaskan untuk memberikan penjelasan dari setiap gambar berikut.

DATA TRANSFER WITH A DMA CONTROLLER

Sebelum menjelaskan alur-alur dari gambar diatas, alangkah baiknya kita mengetahui apa fungsi atau juga pengertian dari blok-blok dan jalur pada gambar tersebut.

Pertama, saya akan memaparkan penjelasannya yang telah saya rangkum dari beberapa sumber. Sumber tertera di catatan kaki.

APA ITU BUS?
Pengertian Bus adalah  bagian dari sistem komputer yang berfungsi untuk memindahkan data antar bagian – bagian dalam sistem komputer. Data dipindahkan dari piranti masukan ke CPU, CPU ke memori, atau dari memori ke piranti keluaran. Sedangkan jenis-jenis bus itu sendiri juga dikelompokkan berdasarkan masingmasing kriteria, tapi disini akan di jelaskan Jenis Bus berdasarkan fungsinya. Langsung saja berikut Jenis-jenis Bus Berdasarkan Fungsi :

DATA BUS
  • Berfungsi untuk mentransfer data, membawa data dari dan ke perangkat atau peripheral 
  • Terdiri atas beberapa jalur penghantar, 8, 16, 32 bahkan 64 bahkan lebih jalur paralel 
  • Data ditransmisikan dalam dua arah, yaitu dari CPU atau mikroprosesor ke unit memori atau modul I/O dan sebaliknya. 
  • Semakin lebar bus maka semakin besar data yang dapat ditransfer sekali waktu. 

CONTROL BUS
  •  Berfungsi untuk mensinkronkan proses penerimaan dan pengiriman data.
  • Untuk mengatur memori atau port agar siap ditulis atau dibaca.
  • Sinyal Kontrol: RD, WR, IO/M
  • Sinyal Read dan write : untuk mengakses data ke dan dari perangkat 
ADDRESS BUS
  • Membawa informasi untuk mengetahui lokasi suatu perangkat atau peripheral 
  • Untuk memilih lokasi memori atau port yang akan ditulis atau dibaca 
  • Untuk menentukan rute data, bersumber dari mana, tujuannya ke mana. 
  • Bersifat searah, cpu memberikan alamat yang bertujuan untuk menentukan periferal mana yang dituju. Contoh memori mana yang dituju atau I/O mana yang dituju.
  • Semakin besar bus alamat, akan semakin banyak range lokasi yang dapat dialamati.
  • Jumlah alamat yang dapat dituju pada Bus alamat adalah sebanyak 2n. n jumlah jalur Bus alamat.

APA ITU HOLD & HLDA?
Hold Request ( HOLD). Bila logika 1 diberikan pada pena HOLD, µP akan menghentikan kegiatan dan melepas bus yang berhubungan dengan unit memori dan I/O, sehingga hal ini memberikan kesempatan bagi proses lain untuk mengambil alih system.

Hold Acknowledge (HLDA) Sinyal ini digunakan sebagai pengakuan dari µP bahwa sinyal HOLD telah diterima dan sistem dapat diambil alih oleh prosesor lain.

APA FUNGSI DARI CPU?
Fungsi CPU (Central Processing Unit) adalah memproses dan mengolah semua kalkulasi dan perintah-perintah dan melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras sehingga membuat komputer dapat dioperasikan.

APA ITU MEMORI?
Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. 

APA ITU INTERFACE?
User interface adalah cara program dan user berkomunikasi. Istilah user interface atau interface kadang-kadang digunakan sebagai penggati istilah HCI (Human Computer Interaction). HCI (Human Computer Interface) adalah semua aspek dari interaksi pengguna dan computer, tidak hanya hardware. Semuanya yang terlhat dilayar, membaca dalam dokumentasi dan dimanipulasi dengan keyboard (atau mouse) merupaka bagian dari user interface.

APA ITU MODUL I/O?
Modul I/O adalah suatu komponen dalam sistem komputer yang Bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan juga bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan memori utama ataupun dengan register – register CPU.termasuk Antarmuka internal dengan komputer (CPU dan memori utama) dan perangkat eksternalnya untuk menjalankan fungsi – fungsi pengontrolan.

Control & timing input data
CPU meminta modul memeriksa status perangkat.
Bila perangkat siap mengirim, CPU mengirim perintah pemindahan.
Modul menerima data dari perangkat.
Data dipindahkan dari modul ke CPU.

APA ITU DMA?
Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfes blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor.

Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang sering disebut : RAM). Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer.

Sekalipun kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. Untuk menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam blok, dan arah transfer. Pada saat seluruh blok telah ditransfer, kontroler tersebut memberitahu prosesor dengan memunculkan sinyal interupt. Pada saat transfer DMA terjadi, program yang meminta transfer tersebut berhenti bekerja dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer tersebut.

Dari penjelasan di atas, mari kita lihat alur yang berjalan pada sebuah DMA-Controller.

   1-2-3-4-5-6-7-8-9   

DATA TRANSFER WITH A DMA CONTROLLER


1.   I/O Interface mengirimkan DMA Controler sebuah request untuk DMA service yaitu data dari I/O Interface melalui modul I/O yang bertanggung jawab atas pengontrolan sebuah perangkat luar menuju Direct memory access.

2. DMA mengendalikan transfer blok data langsung melalui Control BUS kepada HOLD yang akan menghentikan kegiatan dan melepas bus yang berhubungan dengan unit memori dan I/O, sehingga hal ini memberikan kesempatan bagi proses lain untuk mengambil alih system. Kemudian data yang di alihkan oleh HOLD akan diproses dan diolah oleh sebuah otak dari computer yaitu Central Processing Unit (CPU).

3. Ketiga, Kemudian CPU mengirimkan Sinyal yang digunakan sebagai pengakuan dari µP bahwa sinyal HOLD telah diterima dan sistem dapat diambil alih oleh prosesor lain. Data akan dikirim melalui Control BUS menuju Memori address register untuk penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya.

4. Data yang telah diatur dan dijaga oleh MAR akan dikirimkan melalui Address BUS menuju Direct memory access control. Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data.

5. Karena DMAC harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer. Alamat memori ini akan melakukan pertukaran data antara perangkat luar dilanjutkan kepada Modul I/O.

6. Data dalam bentuk byte ditransfer ke lokasi memori yang terindikasi oleh alamat Bus.

7. Interface memasang datanya .

8. Bus request kemudian turun melalui Control BUS, Pin HOLD turun dan controller melepaskan Bus masuk pada Central Processing Unit.

9. Isi Bus dari microprosesor 8086 menurun dan Pin HLDA juga turun, alamat register naik satu jumlah dari byte turun satu. jika jumlah byte bukan 0, kembali ketahap 1 jika sebaliknya maka berhenti.


  Sumber  

http://hilmannurfauzi.blogspot.com/2015/10/pengertian-jenis-dan-fungsi-bus.html?m=1
https://chasnico.wordpress.com/2009/10/09/teori-mikroprosesor-8088/
http://www.fungsiklopedia.com/fungsi-cpu-central-processing-unit/
http://senalastiansah.blogspot.com/2012/10/pengertian-user-interface-user.html
http://www.kumpulancontohmakalah.com/2015/11/pengertian-dan-tipe-manajemen-memori.html
https://rohbiharris.wordpress.com/2012/05/26/pengertian-tentang-modul-io-dan-control-timing-input-data-tugas-mata-kuliah-sistem-operasi/
https://fajarjabrik.blogspot.com/2014/11/makalah-organisasi-komputer-direct.html
https://www.slideshare.net/ashwiniawatare/dma-and-dma-controller-8237

0 komentar:

Posting Komentar