DATA TRANSFER WITH A DMA CONTROLLER
DATA TRANSFER WITH A DMA CONROLLER
1.
DMA(Direct Memory Acces)
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.. Kontroler DMA melakukan fungsi yang biasanya dilakukan
oleh prosesor pada saat mengakses memori utama (yang sering disebut RAM.
Cara Kerja DMA
1. CPU mengirimkan CPU data-data
berikut ini ke DMA controller:
a. Perintah
read/write
b. Alamat
device yang akan diakses
c. Alamat
awal blok memori yang akan dibaca atau ditulis.
d. Jumlah
blok yang akan ditransfer.
2. CPU
klien mengeksekusi program lain.
3. DMA controller
mengirimkan seluruh blok data (per satu word) langsung ke memori tanpa
melibatkan CPU)
melibatkan CPU)
4. DMA
controler mengirimkan interupt ke CPU jika telah selesai.
5. DMA
controler mengambil alih sistem bus sebanyak 1 siklus.
6. DMA men-transfer
satu word data
7. Pengambil alihan
bus oleh DMA bukan interrupt CPU tidak perlu menyimpan context
8. CPU
hanya tertunda sessaat satu siklus sebelum mengakses bus yaitu sebelum operan
atau data diambil atau data ditulis diagram modul DMA
Jalur
Transfer DMA
Ada 3 langkah dalam transfer DMA
1. Prosesor
menyiapkan DMA prosesor Transfer dengan menyediakan data-data dari perangkat,
operasi yang akan ditampilkan, alamat memori yang akan menjadi sumber, tujuan
data, dan banyaknya byte yang akan ditransfer.
2. Pengendali
DMA memulai operasi dengan menyiapkan bus,menyediakan alamat, menulis, dan
membaca data sampai seluruh blok sudah ditransfer.
3. Pengendali
DMA menginterupsi prosesor, dimana selanjutnya akan ditentukan tindakan
berikutnya.
DMA mempunyai metode untuk transfer data.
HALT
atau Burst Mode DMA ialah DMA yang memegang kontroldari sistem bus dan
menstransfer semua blok data dari memori ke single burst atau sebaliknya,
b. CYCLE
STEALING DMA pada metode ini mengikutsertakan pengendali DMA untuk memegang
kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode
dimana mikroprosesor sibuk dengan operasi internal dan tidak membutuhkan akses
ke sistem bus.
REFERENSI:
CARA KERJA HOLD DAN HLDA
Akses Memori Langsung
Interupsi menjamin tanggapan yang paling cepat dari proses pengendalian data pada I/O. Akan tetapi pelayanan pada alat masih diselenggarakan oleh perangkat lunak. Kecepatan digantikan oleh prosesor perangkat keras khusus yang disebut dengan Direct Memory Access Controller (DMAC). Sebuah DMAC adalah prosesor khusus yang dirancang untuk menyelenggarakan alih data berkecepatan tinggi antara memori dengan alat luar. Dalam akses memori langsung digunakan dua teknik untuk berhubungan dengan memori :
•Prosesor dihentikan atau ditangguhkan oleh DMAC. DMAC memegang pengendalian bus dan membiarkan alat I/O berhubungan langsung dengan memori.
•DMAC mencuri satu siklus memori dari mikroprosesor, memberinya kepada pengiriman data antara memori dan alat I/O.
DMAC adalah prosesor khusus yang memutuskan hubungan atau mengisolasi MPU dari bus-bus dan mengatur pengiriman yang diperlukan antara memori dan alat I/O. Gambar 22. menunjukkan diagram blok kerja DMAC.
Pada saat sistem bekerja, saklar pada posisi atas sehingga saluran terhubung dari mikroprosesor ke sistem memori dan peripheral. Untuk membaca file ke disk diperlukan sejumlah perintah ke disk controller, memerintahkan untuk mencari dan membaca blok data yang dari disk. Jika disk controller telah menemukan byte pertama dari blok data, disk controller mengirim sinyal DMA request (DREQ) ke DMAC. Jika DMAC tidak dalam terhalang maka DMAC mengirim sinyal hold request (HRQ) ke mikroprosesor melalui pin HOLD. Mikroprosesor menanggapi masukan ini dengan mengambangkan saluran/bus dan mengirim sinyal hold acknowledge (HLDA) ke DMAC. Jika DMAC menerima sinyal HLDA, akan mengirim sinyal untuk menghubungkan bus/saluran ke posisi DMAC.
Pada saat DMAC mengontrol saluran, ia mengirim alamat memori dimana byte pertama dari disk controller di tulis. Selanjutnya DMAC mengirim sinyal DMA acknowledge (DACK) ke disk controller untuk memberitahukan kesiapan mengeluarkan byte. Akhirnya DMAC mengaktifkan saluran MEMW* dan IOR* pada saluran kontrol.
Interupsi menjamin tanggapan yang paling cepat dari proses pengendalian data pada I/O. Akan tetapi pelayanan pada alat masih diselenggarakan oleh perangkat lunak. Kecepatan digantikan oleh prosesor perangkat keras khusus yang disebut dengan Direct Memory Access Controller (DMAC). Sebuah DMAC adalah prosesor khusus yang dirancang untuk menyelenggarakan alih data berkecepatan tinggi antara memori dengan alat luar. Dalam akses memori langsung digunakan dua teknik untuk berhubungan dengan memori :
•Prosesor dihentikan atau ditangguhkan oleh DMAC. DMAC memegang pengendalian bus dan membiarkan alat I/O berhubungan langsung dengan memori.
•DMAC mencuri satu siklus memori dari mikroprosesor, memberinya kepada pengiriman data antara memori dan alat I/O.
DMAC adalah prosesor khusus yang memutuskan hubungan atau mengisolasi MPU dari bus-bus dan mengatur pengiriman yang diperlukan antara memori dan alat I/O. Gambar 22. menunjukkan diagram blok kerja DMAC.
Pada saat sistem bekerja, saklar pada posisi atas sehingga saluran terhubung dari mikroprosesor ke sistem memori dan peripheral. Untuk membaca file ke disk diperlukan sejumlah perintah ke disk controller, memerintahkan untuk mencari dan membaca blok data yang dari disk. Jika disk controller telah menemukan byte pertama dari blok data, disk controller mengirim sinyal DMA request (DREQ) ke DMAC. Jika DMAC tidak dalam terhalang maka DMAC mengirim sinyal hold request (HRQ) ke mikroprosesor melalui pin HOLD. Mikroprosesor menanggapi masukan ini dengan mengambangkan saluran/bus dan mengirim sinyal hold acknowledge (HLDA) ke DMAC. Jika DMAC menerima sinyal HLDA, akan mengirim sinyal untuk menghubungkan bus/saluran ke posisi DMAC.
Pada saat DMAC mengontrol saluran, ia mengirim alamat memori dimana byte pertama dari disk controller di tulis. Selanjutnya DMAC mengirim sinyal DMA acknowledge (DACK) ke disk controller untuk memberitahukan kesiapan mengeluarkan byte. Akhirnya DMAC mengaktifkan saluran MEMW* dan IOR* pada saluran kontrol.
REFERENSI:
http://revolusi-arman.blogspot.com/2008/10/mikroprosesor-input-output-unit.html
CARA
KERJA CPU, I/O, S/IDAN MAIN MEMORY
CPU(Central Processing Unit)
CPU
merupakan otak system computer . CPU terdiri dari dua bagian utama yaituunit kendali (control unit) dan yang kedua adalah
unit aritmatika dan logika(Arithmetic and
logic unit) serta beberapa simpanan (memory) beruku ran kecil yangdisebut register.
Kinerja
/ proses kerja:Saat data dan/atau
instruksi dimasukkan ke processing-devices,pertama sekali diletakkan di RAM (melalui Input-storage). Apabilaberbentuk instruksi ditampung oleh Control Unit di
Program-storage,namun apabila berbentuk
data ditampung di Working-storage. Jika registersiap untuk menerima pengerjaan eksekusi, maka Apabila hasil pengolahan
telah selesai, maka Control Unitakan
mengambil hasil pengolahan di Accumulator untuk ditampungkembali ke Working-storage. Jika pengerjaan
keseluruhan telah selesai,maka Control
Unit akan menjemput hasil pengolahan dari Working-storageuntuk ditampung ke Output-storage. Lalu selanjutnya
dari Output-storage,hasil pengolahan akan
ditampilkan ke output-devices.
2.I/O
(input dan Output)
Input
Device (Alat Masukan)Adalah perangkat
keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam computer.Kinerja unit input : memasukkandatadari luar ke
dalam mikroprosesor ,contohnya data yang
berasal darikeyboardataumouse.
Output
Device (Alat Keluaran)Adalah perangkat
keras komputer yang berfungsi untuk menampilkankeluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy
(kekertas), soft-copy (ke monitor),
ataupun berupa suara.
Kinerja input dan output :
menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor,
contohnya data yang akanditampilkan pada
layarmonitoratauprinter.
3.S/I (system Interconnection)
Fungsi
: untuk menghubungan diantara ketiga elemen CPU - Main Memory -Input Output untuk disinkronisasikan dan dijalankan
oleh komputer.Interkoneksi
yang banyak digunakan sampai saat ini adalah system bus.Dalam arsitektur komputer, sebuah
adalah
sebuah subsistem yangmentransfer data
antar komponen komputer pada sebuah komputer atauantar komputer.Secara umum fungsi saluran bus dikategorikan dalam tigabagian : Address Bus, data bus, dan Control bus.
Berikut
kinerja masing-masing bus : 1)
Data busKinerja :memindahkan data antar modul dalam sistem
computer yangbersifat bldirectional,
artinya CPU dapat membaca dan menerima datamelalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64
paralel.2)
Address Bus
Kinerja : menandakan lokasi sumber
ataupun tujuan pada prosestransfer data.
Pada jalur ini, CPU akan mengirimkan alamat memori yangakan ditulis atau dibaca. Address bus biasanya
terdiri atas 16, 20, 24, atau32 jalur
paralel.3)
Control BusKinerja : mengontrol penggunaan serta akses ke Data Bus danAddress Bus. terdiri dari 4 sampai
10 jalur parallel
4.Main memory
adalah
memori yang memiliki kapasitas yang cukup besar yangmenampung semua instruksi dan data sebelum diproses
CPU.Memori ini dibutuhkan karena CPU
hanya dapat me-nyimpan instruksi dandata
di
register
yang ukurannya kecil.Main memory terdiri dari RAM dan ROM.RAM : memori yang berfungsi untuk menyimpan program yang kita olahuntuk sementara waktuROM : memori yang hanya bisa dibaca dan berguna sebagai penyediainformasi pada saat komputer pada
saat dinyalakan.
Fungsi
: media penyimpanan data yang berkaitan dengan CPU atau perangkatI/O.
Kinerja
cpu : menyimpan data dalam bentuk array yang disusun word atau byte.Setiap word atau byte mempunyai alamat tersendiri.
Data yang disimpan padamemori utama ini
bersifat volatile, artinya data yang disimpan bersifat sementaradan dipertahankan oleh sumber-sumber listrik, apabila
sumber listrik dimatikanmaka datanya akan
hilang
SISTEM BUS
1. PENGERTIAN
BUS SYSTEM
system bus atau bus
system dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem
komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya.
Sebuah bus adalah sebutan untuk 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.
Pengertian bus adalah
bagian dari sistem komputer yang berfungsi untuk memindahkan data antar bagian-
bagian d lam sistem komputer. Data dipindahkan dari piranti masukan ke CPU, CPU
ke memori, atau dari memori ke piranti keluaran. Bus meruppakan jalur komunikasi
yang dibagi pemakai suatu set kabel tunggal yang digunakan untuk menghubungkan
berbagai subsistem. Sistem bus adalah sebuah bus yang menghubungkan
komponen-komponen utama komputer (CPU, Memori, I/O). Sistem bus adalah
penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya.
Bus
System dapat dibedakan atas :
1. Data
Bus ( Saluran Data )
2. Address
Bus ( Saluran Alamat )
3. Control
Bus ( Saluran Kendali )
JENIS –JENIS SISTEM BUS
Saluran bus dapat
dipisahkan menjadi dua tipe umum, yaitu dedicated dan multiplexed. Suatu
saluran bus dedicated 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 saluran yang sama dengan mengggunakan saluran address valid control.
Struktur sistem bus
a) Data
bus ( Saluran Data )
Saluran data memberikan
lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara
kolektif disebut bus data. Umunya bus data terdiri dari 8, 16, 32 saluran.
b) Address
Bus ( Saluran Alamat )
1. Saluran
alamat digunakan untuk menandakan sumber atau tujuan data pada bus data.
Misalnya , bila CPU akan membaca sebuah word
dat adari memroi, maka CPU akan menaruh alamt word
yang dimaksud pada saluran alamat.
2. Digunakan
untuk mengirinkan alamat word pada memori yang akan diakses CPU.
3. Digunakan
untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
4. Semua
peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus
memiliki alamat.
Contoh : mengakses port
I/O, maka port I/O harus memiliki alamat hardwarenya.
c) Control
Bus ( Saluran Control )
Saluran kontrol
digunakan untuk mengontrol akses ke saluran alamat dan penggunaan data. Karena
data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada
alat unruk mengintrol penggunaanya.
A. Berikut
ini dalah fingsi-fungsi yang terdapat pada control bus ( saluran control ):
1. Digunkan
untuk menspesifikasi sumber dan tujuan data pada bus data.
2. Digunakan
untuk mengirim alamat word pada memori yang akan diakses CPU.
3. Digunakan
untuk saluran almat perangkat modul komputer saat CPU mengakses suatu modul.
4. Semua
peralatan yang terhubung dengan sistem komputer, agak dapat diakses harus
memiliki alamat. Contoh : mengakses port I/O, maka port I/O harus memiliki
alamt hardware-nya.
Di sistem komputer
berbasis mikroprosesor, terdapat 3 jalur yang menjadi tempat mengalirnya proses.
1. Bus
Data yang berfungsi mengalirkan data dari/ke mikroprosesor
2. Bus
Alamat/ Address yang berfungsi mengalamati suatu proses dari/ke memori atau I/O
3. Bus
Kontrol yang berfungsi mengatur intruksi yang terjadi dari/ ke mikroprosesor.
Sumber:
Komentar
Posting Komentar