akses memori langsung berbagai … yang built in untuk menggerakkan suatu alur data diantara memori...

10
.' AKSES MEMORI LANGSUNG BERBAGAI PENGENDALI (DIRECTMEMORYACCESS -CONTROLLERS)

Upload: doanlien

Post on 09-Mar-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

.'

AKSES MEMORI LANGSUNG

BERBAGAI PENGENDALI

(DIRECTMEMORYACCESS-CONTROLLERS)

Dalarn diskusi tentang bagairnana CPU bisa mentransfer data ke atau darisejumlah perlengkapanluar (external devices) selain memori. Pengoperasiantelahmemperlakukansistem I/O untuk mernbacadan menulis di dalarn cara yang sarnaseperti memori, penggunaanalarnat, garis-garisdata dan garis pengendali WRRD.Hal ini rnembutuhkanketerlibatan CPU dan memerlukan waktu dan biaya yangmahal.

DEFINISI

Akses Memori Langsung (AML) adalah kemampuan subsistem I/O untukmentransferdata ke atau dari suatu subsistem rnernoritanpa keterlibatanprosesor.

PengendaliAML adalahsuatuperlengkapanyangdapatmengendalikanberbagaitransfer data diantara subsistem I/O dan suatu subsistern memori di dalam carayang sarna dimana sebuah prosesor dapat rnengendalikantransfer data tersebut.

Microprocessor

I/Oport

1/0port

1/0port

External. device

Externaldevice

Externaldevice

Gambar 5.1: Sebuah komputer mikro dengan sebuah pengendali Akses MemoriLangsung

Pengendali AML dapat rnengeluarkan berbagai perintah ke memori denganrnenunjukkan reaksi tepat seperti perintah yang dikeluarkan CPU. Pengendali AMLadalah sebuah prosesor kedua di dalarn sistern, tetapi diberikan pada fungsi I/O danrnenghubungkan satu atau lebih pangkalan-pangkalan I/O secara langsung ke memori,

48

.. .' r

dimana aliran data I/O yang melewatinya lebih cepat dan lebih efisien daripada jikamelalui prosesor yang khusus untuk tugas transfer data. .

INTERFACE AML

AML menambah satu atau lebih tingkat kompleksitas interface I/O, karenasuatu pengendali AML mempunyai akses bebas ke memori. Sekumpulan kawat-kawat (bus) dapat membawa paling banyak satu transaksi pada suatu saat. JikaAML dan sebuah mikro prosesor bersama-samadengan sinyal mengirim memori,makaharnsada suatumekanismeuntukmengambilkeputusanyangakan mempunyaiakses ke memori, bilamana kedua-duanyamencoba pada waktu yang sama.

Perilaku fungsional aliran data suatu transaksi AML

I. Prosesor mengirimkan informasi selanjutnyake suatu pengendali AML:a. dimulai dengan alamat dalam memorib. panjang blok (bagian kata untuk transfer)c. arah (dari memori ke device atau dari device ke memori)d. pangkalan ille. akhir dari kegiatan blok (permintaan gangguan atau bukan permintaan

gangguan)

2. Prosesor kembali ke kegiatan-kegiatanlainnyadan pengendaliAML memulaitransfer data.

3. Setiap saat pengendali AML mengakses memori, dan mensinkronisasikanpermintaan memori ini dengan waktu luang prosesor.Untuk mengerjakan ini,kemungkinannyaadalah:

a. memaksa kelumpuhan prosesor dengan segera atau

b. meminta suatu penghentian prosesor, dan menunggu pengakuan atau

c. waktu AML mengakses ke sebuah interval kunci (clock interval) atausinyal status dari prosesor yang mengirimkan suatu alur kosong (idlecycle).

4. Bilamana pengendali AML mengakses sebuah pangkalan I/O atau memori,maka pengendalitersebutmenggunakansinyal-sinyalkendali secarafungsionalsama seperti yang digunakan oleh prosesor. Kegiatan pangkalan I/O dapatdiselenggarakan pada garis-garis yang dipakai (dedicated lines) yang tidakharns sinkron dengan prosesor.

5. Pada penylesaiantransferblok,pengendaliAML menimbulkansuatupermintaangangguan jika gangguan-gangguantersebut di-armed dan sebaliknya dapatpula menunjukkan penyelesaiandi dalam register statusnya. .

49

6. Prosesor mengenal penyelesaian I/O (oleh gangguan atau oleh pembaeaanregister status). Sesudah itu, kegiatan diantara prosesor data pengendali AMLmengikuti kegiatan pasea penyelesaian dari setiap pangkalan I/O.

Hal ini menunjukkan bahwa pengendali diperlukan sebagai suatu pangkalanstandar sebelum dan sesudah transfer blok dan selama transfer, AML harns bisasinkron dengan prosesor. Pengendali memperbaiki kinerja, khususnya denganprogram yang built in untuk menggerakkan suatu alur data diantara memori danpangkalanI/O.Denganearademikiantidakada kebutuhanuntukmengaksesinstruksidari memori dan memutuskannnyasatu persatu. Beberapakegiatanelementerdapatdiselenggarakansecaraparalelsebagaipenggantikegiataneara sekuensial,bilamanadiimplementasikan dengan perangkat lunak di dalam prosesor. Pengendali dapatmelengkapi kekuarangan dengan mengakses memori dan menghindarkan waktupenaltiuntuk instruksiaritmatika.Karenakemampuanuntuk meneapaikinerjayanglebih tinggi guna mentransferblok, maka pengendaliAML palingsering digunakanuntuk I/O berkecepatantinggi,khususnyadisk. Disk-diskyang eepat memindahkanblok-blok data pada keeepatan lebih besar dari setiap perogram yang dapatdikendalikan dan diinterfaee ke berbagai komputer melalu berbagai pengendaliAML.

-"-

1IMMF.OIA IE IIAU..~-_.-----

...~!:!

_.J:!!:':.! A.c.~!'I0WL.E_~~~_Address

Mir:rnprocec~or r--: /------.---~ ;L'~_~-I--

~WRITE

IDLE

_.. -- - . ..--.-

r

_

1

Port IQ ,/ -..-..

. Data / ._ ~ 1;0 perl

_. cO"'1~"'~'E~~:!:~. . ,

OMAc("~lrolier

-- --.

Memory --J

Gambar 5.2: Suatu interface AML yang spesifik

Gambar di atas menunjukkan suatu interface AML yang spesifik. Pangkalan-pangkalan I/O dalam contoh ini terlihat berada di bawah pengendalian AML, danhanya digunakan untuk pengendali AML. Garis-garis sinyal yang serupa satu sarnalain secara normal menginterface pangkalan-pangkalan ke prosesor. Garis-garismemori berupa garis-garis konvensional, kecuali kalau prosesor dan pengendaliAML menjalankan garis-garis tersebut. Garis-garis baru lainnya adalah garis HALTdan garis HALT ACKNOWLEDGE, yang keduanya bertugas mensinkronkanpengendali AML dengan prosesor. Bilamana pengendali AML membutuhkan aksesmemori, maka akan meminta prosesor guna menghentikan garis-garis tersebut denganmempertegas sinyal HALT. Beberapa waktu kemudian prosesor memberi reaksidengan HALT ACKNOWLEDGE dan pengendali AML mengambil kendali memori.Dalam menyelesaikan tugas-tugasnya, pengendali AML memindahkan permintaanHALT-nya, kemudian prosesor melanjutkan penghilangannya dan kemudianmemindahkan HALT ACKNOWLEDGE-nya.

Tanda-tanda IMMEDIATE HALT adalah suatu tipe permintaan AML yangberbeda. Perrnintaan HALT bisa mengambil beberapa alur pengunci (clock cycles)untuk prosesor guna menyatakan untuk menunda pemrosesan. Selama pemrosesannormal, data yang ditahan dalam berbagai register dinamis yang disegarkan harusdipindahkan ke register status, atau keputusan harus memindahkan ke suatu titikdimana data tidak perlu lebih panjang. Garis-garis IMMEDIA TER HALTmenghindarkan penundaan ini tetapi telah bercampur dengan batasan-batasan yangkeras. IMMEDIA TER HALT dapat digunakan secara cepat, satu atau paling banyakdua akses. Sebaliknya prosesor mungkin tidak mampu untuk memperbaikikeadaannya kembali dengan benar dan akhimya kegiatannnya terhenti.

Garis-garis status IDLE dapat digunakan oleh pengendali-pengendali AMLyang dapat menunda berbagai transfer datasampai suatu titik IDLE tercapai. Dalambeberapa sistem, IDLE dapat sering timbul sekitar 20% sampai dengan 30% darialur memori. Dalam situasi dimana AML tidak dibutuhkan untuk menghentikanprosesor maka AML dapat mencapai kecepatan mengakses data yang tinggi tanpaberpengaruh pada kinerja prosesor.

Berbagia Pengendali AML

Selain mahal, berbagai pengendali AML juga mempunyai subsistem yangkompleksyangsebandingdengansebuahprosesorkeci!.Pengimplementasiandenganintegrasi skala besar (Large Scale Intergration = LSI) dari pengendali AML telahmengurangi ukuran ke tingkat dimana LSI dapat digabungkan pada sebuah chiptunggal.

51

MEMORY READ/WRI fE L+ ~ ~- - ----.-..- {

-- ---.....

-~ Dala-chain

. h:~.: ~e~:~:~~~_

Gambar 5.3: Struktur dad pengendali AML yang khas (Stone, H.S. 1982)

Gambar di atas menunjukkan struktur dasar suatu saluran AML dan karenapengoperasiannya ke prosesor mempunyai cara yang sarna, maka struktur tersebutmempunyai suatu interface bus yang penuh. Pengendali AML mempunyai 3 saluranyang bebas, dimana setiap saluran berisi subregister alamat, subregister pengendalidan sebuah penghitung byte. Untuk mentransfer suatu blok data diantaraperlengkapan luo.r (eksternal device) atau pangkalan I/O dan memori, proses ormenyimpan nilai-nilai inisial (initial values) di dalam register pengendali alamatdan register penghitung byte. Kemudian saluran AML mentransfer blok informasidari atau ke memori menurut arab (direction) transfer yang disandikan di dalamregister pengendali. Blok alamat awal di dalam memori diberikan oleh registeralamat, dan panjang blok diberikan oleh penghitung byte. Untuk membuat transfer,pengendali AML harus mensinkronkan berbagai kegiatan prosesor denganperlengkapan luar, sebelum setiap transfer pengendali menunggu perlengkapan luarsiap dan proses or dalam keadaan kosong (tidak bekerja).

Peng-inteiface-an dengan pangkalan I/O membutuhkan dua sinyal untuk tiappangkalan yaitu TRANSFER REQUEST dan TRANSFER ACK-ditambah

52

kemampuan untuk membentuk I/O READ/WRI1E L guna memberikan indikasipada pangkalan tentang arah transfer. Pengendali AML menerima sebuahTRANSFER REQUEST dari pangkalan bilamana pangkalan mempunyai data yangsiap menulis ke dalam memori atau mempunyai suatu bufer kosong yang dapatmenerima data dari memori. Bilamana suatu transfer adalah untuk mengambiltempat, maka AML menghasilkan sinyal pengendali TRANSFER ACK yangmemberikan indikasi bahwa pangkalan seharusnya menerima data dari atau menulisdata kedalam memori.

Seperti yang telah digambarkan sebelumnya, pengendali AML mempunyaisuatu HALT yang membutuhkan sinyal OIP dan sebuah HALT ACKNOWLEDGElIP. Selama transfer blok data byte demi byte, pengendali mengamati TRANSFERREQUEST pada sebuah saluran, kemudian pengendali mempertegas HALT danmenunggu HALT ACKNOWLEDGE. Hal ini melatih prosesor untuk melepaskanbus memori. Bilamana prosesor melepaskan bus memori, maka prosesormempertegas HALT ACKNOWLEDGE dan pengendali AML mempunyai aksesmemon.

Pengendali secara serentak :

1. menempatkan alamat pada bus

2. mengirimkan TRANSFER ACK ke pangkalan permintaan I/O dan

3. mengirimkan sifat yang berlawanan (polarity) yang tepat dari READ/WRITEL ke memori dan mengirimkan pelengkap sinyal ini ke sistem I/O.

Pangkalan I/O dan memori memberikan reaksi dengan cara yang berlawanan,sehingga data berpindah dari suatu ke yang lain tergantung pada sifat berlawananREAD/ WRITE L. Pada penyelesaian alur memori, pengendali AML memindahkansemua sinyal yang ditempatkan pada bus dan menempatkannya pada perlengkapanbus (bus devices) dengan impedansi (impendance) yang tinggi, kemudian prosesordapat meneruskan operasinya dari titik suspensi dengan HALT yang ditegaskanlagi (deasserted), dari titik suspensi. Dalam AML yang telah ditunjukkan diatas,terdapat tiga saluran yang membuatnya mempunyai kemungkinan untukmelaksanakan operasi-operasi di.atas secara bersama-sama diantara tiga pangkal~nI/O yang terpisah.

Mikro prosesor dapat diganggu oleh pengendali pada akhir smitu transfer blok.Sebagai reaksi terhadap ganggUan' prosesor dapat dimuati lagi dengan register-register AML untuk suatu transfer blok yang baru, sehingga dapat memeliharakontinuitas aliran I/O. Prosesor mungkin juga berguna untuk mencapai pengaruhyang sama untuk transfer blok dengan rallgkaian (chaining) di dalam pengendali.Register-register ralltai data (data chain registers) yang menyimpan alamat, byte

53

yang menghitung kata pengendali, ditambah saluran ill yaitu dimana data bisadimuatkan kembali pada register saluran-saluranyapg ditunjuk, bilamana saluranitu menyelesaikan suatu transfer.

Suatu contoh pengendali AML i8257

nI '

I

i Bus I...JMicroprocessorbus m'erface

1 ' ..,

110 READ l

I

4 .110 WRITE l4 ..

Arbiter

I

~ i DACKOl

~ ..

i ; Channel 0 :. DRO CI I .

i ~ Of;CK1L,

! i H Channel ~ ~ DRO ,_!4--] ! .! ~-!--I i DACK:2l.

I t Channel :2 ~DRO2_I. ~ i DACK3 l,L Channel 3 ~~

MEM READ L I I i:MEMWRITEl , Control ,.ignal I !.HAC I tnlerpre1er and ,.---

HUJA I goneraler ,--, !

Gambar 5.4 : Struktur dad pengendali AML i8527 (Stone, H.S. 1982, Micro-computer lnteifacing)

Pengendali AML i8527 mempunyai 4 saluran yang saling bebas, setiap saluranberisi dengan mengalamatkan register penghitung. Setiap terjadi transfer, penghitungmenurunkan dan memaksa menghentikan pengoperasian AML sesudah transferterakhir. Pengendali meningkatkan register alamat sesudah setiap pengoperasian,agar supaya transfer data berturut-turut dibuat pada alamat-alamat yang naik secaraberdekatan (contiguous ascending addresses).

Pemisah (arbiter) memecahkan konflik-konflik diantara saluran guna mengaksesmemori. Dua metode telah digunakan di dalam chip ini guna membuatnya bermanfaatdalam berbagai berbagai macam penggunaan yang berlainan. Metode cara pertamayaitu saluran-saluran tersebut mempunyai suatu prioritas tertentu dan konflik-konflikdiantara saluran dipecahkan menurut prioritasnya. Sebagai contoh, saluran 0 (nol)mempunyai prioritas dan saluran 3 mempunyai priorotas terendah. Metode cara

54

kedua adalah suatu pola priorotas yang berotasi dimana kedudukan prioritas beradapada empat putaran bergantian 0-1-2-3. Bila mana suatu saluran dipastikan mengaksiske bus, kedudukan prioritas berganti/berpindah secara berputar, untuk menempatkansaluran dalam posisi prioritas yang terendah pada putaran sembarang selanjutnya.

Chip mempunyai 4 sinyal yang dihubungkan dengan pengoperasian READdan WRITE. MEMREAD L dan MEMWRITEL adalah sinyal-sinyal yang dihasilkan

oleh pengendali AML untuk menjalankan memori. Dua buah sinyal yaitu I/OREAD L dan I/O WRITE L adalah sinyal-sinyal dua arah (bidirectiorwl). Keduanyaadalah input-input dari mikroprosesor bila mana mikroprosesos mengirirnkanperintah-perintah ke pengendali 8257 dan membaca kembali status pengendali 8257.Selama pengoperasian I/O, sinyal-sinyal ini adalah output dari pengendali 8357 dansecara funsional berlawanan dengan sinyal-sinyal memori. Pengendali sinyalmemberikan izin (go-ahead) pada HALT ACKNOWLEDGE (HLDA).

Dua sisi yang dihasilkan oleh pengendali AML dapat digunakan oleh pangkalanI/O guna membantu di dalam pengendalian prosestransfer. Satu sinyal TC yaituterminal untuk menghitung (Tennirwl Count) ditegaskan selama putaran terakhirdari blok AML. Terminal Count dapat digunakan untuk menggambarkan suatumode SML pada pangkalan I/O atau untuk memasang kembali pangkalan-pangkalaninternal state, guna menunjukkan akhir suatu transfer. Sinyal adalah MARK,disisipkan bilamana penghitungan sisa pada sebuah saluran menjadi suatu perkaliandari 128 dan memberikan asalkan suatu sinyal dengan waktu tepat untuk sebuah

perlengkapan luar (external device)

55