Jumat, 06 Januari 2017

BENTUK PERINTAH DALAM BAHASA RAKITAN / ASSEMBLER

Dalam  pemrograman  bahasa  assembly  lebih  ditekankan  pada  system operasi Microsoft Intel seiring  dengan  perkembangan mikroprosesor  8088/8086. Perkembangn  bahasa  assembly tergantung  pada  linker  yang  mengubah  file  *.obj menjadi  *.exe atau  *.com.  Bahasa  assembly  dikategorikan  sebagai bahasa tingkat rendah. 

1. KARAKTERISTIK PERINTAH BAHASA ASSEMBLER

- Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program)- Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler dengan melakukan operasi tertentu sesuai dengan daftar yang sudah tertanam dalam CPU)
2. JENIS OPERAND
Instruksi mesin melakukan operasi terhadap data. Pada umumnya data dikategorikan kedalam angka, karakter dan data logika.
a. Angka Setiap bahasa mesin mengandung tipe data numerik. Umunya terdapat tiga tipe data angka yang ada pada komputer yaitu:1. Binary integer2. Binary floating point3. Desimal Semua operasi pada internal komputer berupa data biner, namun user berinteraksi dengan bilangan desimal. Maka perlu dilakukan konversi dari desimal ke bilangan biner pada input dan konversi dari biner ke desmimal pada output. Bilangan desimal direpresentasikan dalam 4 bit kode biner maka 0=0000, 1=0001,...,8=1000, 9=1001. Sedangkan untuk desimal 246 = 0000 0010 0100 0110. Untuk bilangan negatif direpresentasikan dengan 4 bit yang diletakkan pada awal atau akhir string. Standar tanda yang digunakan adalah 1100 untuk 
bilangan positif dan 1101 untuk tanda bilangan negatif.

b. KarakterUmumnya bentuk data adalah teks atau kumpulan karakter. Sedangkan sistem komputer didesain untuk data biner. Maka sejumlah kode dalam urutan bit perlu di tentukan untuk merepresentasikan sebuah karakter. Saat ini standar kode yang digunakan untuk merepresentasikan karakter adalah American Standart Code for Information Interchange(ASCII). Setiap karakter pada kode ASCII direpresentasikan dengan 7 bit biner yang unik. Maka terdapat 128 karakter yang berbeda yang dapat direpresentasikan. Selain itu juga ada yang menggunakan Extended Binary Coded Decimal Interchange Code (EBCDIC) yang digunakan oleh IBM mainframe.
c. Data logikaPada umumnya setiap word atau yang lain merupakan satu unit data yang masing masing unit data memiliki nilai 0 atau 1. Ketika dipandang dengan cara ini, maka data tersebut dianggap sebagai data logika. Data logika hanya bernilai true “1” atau false “0”.

3. JENIS OPERASI
a. Transfer dataTipe instruksi mesin yang paling dasar yaitu instruksi transfer data. Pada instruksi transfer dataharus ditentukan beberapa hal. Pertama, penentuan lokasi sumber dan tujuan dari operan.Lokasinya dapat terletak di memori, register atau stack. Kedua, panjang data yang akan ditransfer harus diketahui. Ketiga, sama untuk semua instruksi dengan operan, cara pengalamatannya harus ditentukan.
b. Aritmatika Kebanyakan mesin menyediakan operasi aritmatika / perhitungan dasar sepertitambah, kurang,kali dan bagi. Dimana operasi tersebut disediakan untuk menangani bilanganinteger bertanda (fixed-point), juga bilangan floating point atau desimal. Berikut contoh lain operasi yang termasuk jenis instruksi dengan satu operan:· Absolute : mengambil nilai absolut/mutlak dari operan· Negate : menegasikan operan· Increment: menambahkan 1 nilai ke operan· Decrement: mengurangi 1 nilai dari operan

c. LogikaKebanyakan mesin juga menyediakan berbagai operasi untuk memanipulasi setiap bit dari sebuah word atau unit (yang dapat diberi alamat) lainnya, operasi ini juga di sebut "bit twiddling". Bit-bit tersebut didasarkan pada operasi boolean. Beberapa operasi logika dasar dapat dilakukan pada data boolean atau biner yang ditunjukkan pada tabel berikut.
d. KonversiInstruksi konversi adalah instruksi-instruksi yang mengubah format atau beroperasi pada format data.Contohnya yaitu mengkonversi dari desimal ke biner.
e. Input/OutputSeperti yang kita ketahui, ada beberapa pendekatan I/O yang bisa diambil, diantaranya programmed I/O (isolated&memory mapped), DMA, dan penggunaan prosesor I/O. Implementasi instruksi I/O banyak dilakukan dengan hanya menyediakan beberapa instruksi I/O, dengan tindakan spesifik yang ditentukan oleh parameter, kode, atau kata perintah.
f. Kendali SistemInstruksi kendali sistem adalah instruksi yang dapat dieksekusi hanya ketika prosesor dalam keadaan tertentu atau mengeksekusi program pada area khusus dalam memori.Biasanya, instruksi ini dipesan untuk digunakan sistem operasi.Berikut beberapa contoh operasi kendali sistem. Sebuah instruksi kendali sistem boleh membaca atau mengubah kendali register. Contoh lainnya adalah instruksi untuk membaca atau memodifikasi penyimpanan protection key, seperti yang digunakan pada sistem memori EAS/390. Contoh lain adalah akses untuk memproses blok kontrol dalam sistem multiprogramming.
g. Kendali Transfer Untuk semua tipe operasi yang sudah dibahas sejauh ini, instruksi selanjutnya yang akan dibahas tepat setelah ini, pada memori, adalah kendali transfer. Namun, pecahan yang signifikan dari instruksi dalam setiap program memiliki fungsi mengubah urutan eksekusi instruksi. Untuk instruksi ini, operasi yang dilakukan oleh prosesor


4.BENTUK PERINTAH / INSTRUKSI
a. MOV Perintah MOV adalah perintah untuk mengisi, memindahkan,memperbaruhi isi suatu register, variable ataupun lokasi memory, Adapun tata penulisan perintah MOV adalah :MOV [operand A], [Operand B]Contoh :MOV AH,02Operand A adalah Register AHOperand B adalah bilangan 02Hal yang dilakukan oleh komputer untuk perintah diatas adalahmemasukan 02 ke register AH.

b. INT (Interrupt) Bila anda pernah belajar BASIC, maka pasti anda tidak asing lagi dengan perintah GOSUB. Perintah INT juga mempunyai cara kerja yang sama dengan GOSUB, hanya saja subroutine yang dipanggil telah disediakan oleh memory komputer yang terdiri 2 jenis yaitu :- Bios Interrupt ( interput yang disediakan oleh BIOS (INT 0 – INT 1F))- Dos Interrupt ( Interrupt yang disediakan oleh DOS (INT 1F – keatas))

c. Push Adalah perintah untuk memasukan isi register pada stack, dengan tata penulisannya:POP [operand 16 bit]

d. Pop perintah yang berguna untuk mengeluarkan isi dari register/variable dari stack,dengan tata penulisannya adalah : POP [operand 16 bit]
e. RIP (Register IP) Perintah ini digunakan untuk memberitahu komputer untuk memulai memproses program dari titik tertentu.
f. A (Assembler) Perintah Assembler berguna untuk tempat menulis program Assembler.-A1000FD8:100
g. RCX (Register CX) Perintah ini digunakan untuk mengetahui dan memperbaruhi isi register CX yang merupakantempat penampungan panjang program yang sedan aktif.


Berikut adalah informasi yang saya bagian kepada teman teman semoga bermanfaat :)

Rabu, 30 November 2016

PENGERTIAN SISTEM BUS, STANDART I/O INTERFACE DAN PENJELASAN TENTANG DMA


Pada pertemuan kali ini saya akan menjelaskan sedikit tentang pengertian dan juga penjelasan tentang bus, Standart input/output pada Interface dan juga pengertian tentang DMA.


Pengertian Sistem Bus

Bus adalah Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua bukomponen pada bermacam-macam tingkatan hirarki sistem komputer.
Suatu Komputer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat Input/Output. setiap computer saling berhubungan membentuk kesatuan fungsi. Sistem bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antar komponen komputer sangatlah mendominasi kerja suatu computer. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus, begitu juga kita dapat melihat hasil eksekusi melalui monitor juga menggunakan system bus.

Bus yang biasa dipakai, yaitu :
• Single bus : Bus dengan hanya 1 jalur saja
• Multiple bus :Bus dengan jalur lebih dari satu

Sistem bus yang ada pada komputer, yaitu :
• Control bus : Jalur tempat mengirimkan intruksi atau perintah
• Address bus : Jalur tempat mengkodean / pengalamatan dari sebuah proses
• Data Bus : Jalur pengiriman data

Cara Kerja Sistem Bus
Pada sistem komputer yang lebih maju, arsitektur komputernya  akan  lebih kompleks, sehingga untuk meningkatkan  performa digunakan beberapa buah bus. Tiap bus merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge.

Jenis-jenis Bus
Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut Dedicated Bus. Namun apabila bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data maka bus ini disebut Multiplexed Bus. Kekurangan multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat tempat tapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari multipexed bus.

Struktur Bus
Sebuah bus sistem terdiri dari 50 hingga 100 saluran yang terpisah. Masing-masing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat diklasifikasikan menjadi tiga kelompok, yaitu saluran data, saluran alamat, dan saluran kontrol. Selain itu, terdapat pula saluran distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung.
1. Saluran Data
Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut bus data. Umumnya bus data terdiri dari 8, 16, 32 saluran, jumlah saluran diakitakan denang lebar bus data. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah bit yang dapat dipindahkan pada suatu saat. Lebar bus data merupakan faktor penting dalam menentukan kinerja sistem secara keseluruhan. Misalnya, bila bus data lebarnya 8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap siklus instruksinya.
2. Saluran Alamat
Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya, bila CPU akan membaca sebuah word data dari memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat. Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port input/outoput. Biasanya, bit-bit berorde lebih tinggi dipakai untuk memilih lokasi memori atau port I/O pada modul.
3. Saluran Kontrol
Saluran kontrol digunakan untuk mengntrol akses ke saluran alamat dan penggunaan data dan saluran alamat. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol penggunaannya. Sinyal-sinyal kontrol melakukan transmisi baik perintah maupun informasi pewaktuan diantara modul-modul sistem. Sinyal-sinyal pewaktuan menunjukkan validitas data dan informasi alamat. Sinyal-sinyal perintah mespesifikasikan operasi-operasi yang akan dibentuk. Umumnya saluran kontrol meliputi : memory write, memory read, I/O write, I/O read, transfer ACK, bus request, bus grant, interrupt request, interrupt ACK, clock, reset.
Beberapa sistem bus yang terdapat pada komputer, yaitu:
v   Synchronous Bus
Dalam synchronous bus, semua perangkat mendapatkan informasi timing dari jalur clock bersama. Pulsa yang berjarak setara pada jalur ini mendefinisikan waktu yang setara. Dalam bentuk yang paling sederhana suatu synchronous bus, tiap interval ini merupakan suatu bus cycle dimana satu transfer data. Skema semacam itu diilustrasikan pada gambar berikut, jalur alamat dan data ada gambar.
Transfer Multiple-Cycle
Skema yang di deskripsikan pada gambar tersebut menghasilkan desain sederhana untuk antar muka perangkat. Akan tetapi, skema tersebut memiliki beberapa keterbatasan.
Untuk megatasi keterbatasan ini, kebanyakan bus menggabungkan sinyal kontrol yang menyatakan respon dari perangkat tersebut. Sinyal ini memberitahu master bahwa slave telah mengenali alamatnya dan telah siap untuk berpartisipasi dalam operasi data transfer. Bus tersebut juga memungkinkan untuk mengatur durasi periode data transfer untuk menyesuaikan dengan kebutuhan perangkat yang berpartisipasi.
v  Asynchronous Bus
Pada asynchronous bus untuk mengontrol transfer data pada bus berdasar pada penggunaan handshake antara master dan slave. Konsep handshake adalah generealisasi dari ide sinyal Slave-ready. Clock umum digantikan dengan dua jalur control timing, Master-ready dan Slave-ready. Yang pertama dinyatakan oleh master untuk mengindikasikan telah siap melakukan transaksi, dan yang kedua adalah respon dari Slave.
Pada suatu desain tertentu melibatkan pertukaran antara berbagai faktor seperti:
• Kesederhanaan antar muka perangkat.
• Kemampuan untuk mengakomodasi antar muka perangkat yang menyatakan jumlah jeda yang berbeda.
• Waktu total yang diperlukan untuk transfer bus.
• Kemampuan untuk mendeteksi error yang dihasilkan dari pengalamatan perangkat yang tidak ada atau dari kegagalan antar muka.


v  Sirkuit Antar Muka
Suatu antar muka I/O terdiri dari sirkuit yang diperlukan untuk menghubungkan perangkat I/O ke bus komputer, pada satu sisi antar muka kita memiliki sinyal bus untuk alamat, data, dan kontrol. Pada sisi yang lain kita memiliki jalur data dengan kontrol yang sesuai untuk mentransfer data antar muka dan perangkat I/O. Sisi ini disebut port, yang diklasifikasikan sebagai port paralel dan serial.
Dalam hal port paralel, koneksi antar perangkat dan komputer menggunakan konektor multiple-pin dan kabel dengan banyak kawat, biasanya diatur dalam konfigurasi datar. Sirkuit pada kedua ujung relative sederhana, karena tidak ada kebutuhan untuk mengkovensi antara format serial dan paralel. Pengaturan ini cocok untuk perangkat yang secara fisik dekat dengan komputer. Untuk jarak jauh, persoalan timing skew yang disebutkan sebelumnya membatasi kecepatan penggunaan data. Format serial lebih mudah dan cost-effective dengan memerlukan kabel yang lebih panjang.
Antar Muka Input Output Standar
• Bus Peripheral Component Interconnect (PCI)
• Bus SCSI (Small Computer System Interface)
• Universal Serial Bus (USB)
v  Port Serial
Sesuai dengan namanya Port Serial melakukan transmisi data pengiriman satu bit per satu waktu, karena sifatnya demikian pegiriman data berjalan agak lambat. Biasanya digunakan untuk mengoneksi piranti seperti : monitor, printer, mouse, modem, PLC (programmable Logic controller), pembaca kartu maknetik dan pembaca barcode.
Port ini sering dinyatakan dengan nama COM. Konektor yang digunakan adalah RS-232C terbatas hanya sampai puluhan dengan 9 pin atau 25 pin.
v  Port Paralel
Port Paralel atau sering disebut port LPT bekerja atas dasar 8 bit perwaktu, cocok untuk pengiriman data dengan cepat, tetapi dengan kabel yang pendek (tidak lebih dari 15 kaki).
Umumnya digunakan untuk printer paralel, harddisk eksternal dan zip drive. Konektor yang digunakan adalah DB-25 yang terdiri dari 25 pin.
v  Transfer Multiple Cycle
Data multiplexing dari Zorro III bus memiliki beberapa keuntungan. Hal ini memungkinkan Zorro III kartu untuk menggunakan konektor 100-pin yang sama sebagai kartu II Zorro, yang menghasilkan setiap slot bus menjadi 32-bit Slot, bahkan jika ada sebuah konektor alternatif in-line dengan salah satu atau semua slot sistem, konektor alternatif saat ini meliputi Video Amiga dan PC-AT (sekarang kadang-kadang disebut ISA, untuk Arsitektur Standar Industri, sekarang bahwa pada dasarnya di luar kendali IBM) konektor yang kompatibel. Desain ini juga membuat implementasi bus controller untuk sistem seperti A3000 sederhana. Dan itu dapat menyebabkan biaya yang lebih rendah untuk Zorro III PICs dalam banyak kasus.
Kerugian utama dari bus multiplexing adalah bahwa multiplexing kaleng buang waktu. Waktu akses alamat yang sama untuk multiplexing dan non-multiplexing bus, tetapi karena waktu multiplexing, Zorro III PICs harus menunggu sampai data waktu untuk menegaskan data, yang menempatkan batas tetap seberapa cepat data dapat berlaku. Siklus III Zorro transfer Beberapa adalah Modus khusus dirancang untuk memungkinkan bus untuk mendekati kecepatan dari non-multiplexing desain. Mode ini sangat efektif untuk kecepatan tinggi transfer antara memori dan I / O kartu.
Seperti namanya, Beberapa siklus transfer merupakan perpanjangan dari siklus penuh dasar yang menghasilkan beberapa 32-bit transfer. Dimulai dengan siklus alamat normal penuh fase transaksi, di mana bus master drive alamat 32-bit dan menegaskan sinyal FCS. Seorang guru yang mampu mendukung Siklus transfer Beberapa juga akan menegaskan MTCR pada saat yang sama waktu sebagai FCS. Budak mengunci alamat dan merespon dengan menegaskan Slaven line. Jika mampu transfer beberapa, itu akan juga menegaskan  MTACK, menunjukkan ke bus master bahwa itu mampu perpanjang siklus. Jika salah satu MTCR / MTACK ditiadakan untuk siklus, siklus yang akan menjadi dasar siklus penuh.


Dengan asumsi jabat tangan mentransfer beberapa berjalan melalui, beberapa siklus terus terlihat mirip dengan siklus dasar menjadi fase data. Bus master menegaskan DOE (mungkin dengan menulis data) dan sesuai  DSN, maka budak merespon dengan DTACK (mungkin dengan membaca data di waktu yang sama) , seperti biasa. Setelah ini, bagaimanapun, siklus ini karakter perubahan. Alih-alih mengakhiri siklus dengan meniadakan FCS, DSN, dan DOE, master meniadakan DSN dan MTCR, tetapi tetap mempertahankan
FCS dan DOE. Budak terus menegaskan  Slaven, dan bus masuk ke dalam apa yang disebut siklus pendek.            Siklus pendek dimulai dengan bus master mengemudi alamat orde rendah baris A7-A2, ini adalah alamat non-multiplexing dan dapat mengubah tanpa fase alamat baru yang diperlukan (ini pada dasarnya adalah halaman modus, akses sepenuhnya acak pada halaman ini 256-byte). Garis BACA mungkin juga mengubah saat ini. Master kemudian akan menegaskan MTCR untuk menunjukkan kepada budak bahwa siklus pendek mulai. Untuk membaca, yang sesuai DSN yang dinyatakan bersamaan dengan MTCR, untuk menulis, data dan  DSN yang menegaskan sedikit setelah MTCR. Budak akan memasok data untuk berbunyi, kemudian menegaskan  DTACK, dan bus akan mengakhiri siklus pendek dan mulai menjadi baik siklus pendek yang lain atau siklus penuh, tergantung pada handshaking beberapa siklus yang telah terjadi.
Pertanyaan apakah siklus berikutnya akan menjadi siklus penuh atau pendek siklus dijawab oleh arbitrase siklus ganda. Jika master tidak bisa mempertahankan lain siklus pendek, itu akan meniadakan FCS dan DOE bersama dengan MTCR pada akhir siklus pendek saat ini, mengakhiri siklus penuh juga. Sang guru selalu sampel negara MTACK pada jatuh tepi MTCR. Jika seorang budak tidak dapat mendukung siklus pendek tambahan, meniadakan  MTACK satu siklus pendek dari waktu ke depan. Pada singkat berikut siklus, master bus akan melihat bahwa tidak ada siklus lebih pendek dapat ditangani oleh budak, dan sepenuhnya mengakhiri siklus pengalihan beberapa kali terakhir ini siklus pendek dilakukan.
PICS tidak mutlak diperlukan untuk mendukung siklus transfer Beberapa, meskipun adalah fitur yang sangat dianjurkan, terutama untuk papan memori. Dan tentu saja, semua PICs harus bertindak cerdas tentang siklus seperti pada bus, kartu tidak meminta atau mengakui setiap Siklus transfer Beberapa hal tidak dapat mendukung.
1.      E. Contoh – Contoh Bus
Banyak perusahaan yang mengembangakan bus-bus antarmuka terutama untuk perangkat peripheral. Diantara jenis bus yang beredar di pasaran saat ini adalah PCI, ISA, USB, SCSI, FuturaBus+, FireWire, dan lain-lain. Semua memiliki keunggulan, kelemahan, harga, dan teknologi yang berbeda sehingga akan mempengaruhi jenis-jenis penggunaannya.
·         Bus PCI
            Peripheral Component Interconect (PCI) adalah bus yang tidak tergantung prosesor dan berfungsi sebagai bus mezzanine atau bus peripheral. Standar PCI adalah 64 saluran data pada kecepatan 33MHz, laju transfer data 263 MB per detik atau 2,112 Gbps. Keunggulan PCI tidak hanya pada kecepatannya saja tetapi murah dengan keping yang sedikit.
·         Bus ISA
Industri computer personal lainnya merespon perkembangan ini dengan mengadopsi standarnya sendiri, bus ISA (Industry Standar Architecture), yang pada dasarnya adalah bus PC/AT yang beroperasi pada 8,33 MHz. Keuntungannya adalah bahwa pendekatan ini tetap mempertahankan kompatibilitas dengan mesin-mesin dan kartu-kartu yang ada.
·         Bus USB
Semua perangkat peripheral tidak efektif apabila dipasang pada bus kecepatan tinggi PCI, sedangkan banyak peralatan yang memiliki kecepatan rendah seperti keyboard, mouse, dan printer. Sebagai solusinya tujuh vendor computer (Compaq, DEC, IBM, Intel, Microsoft, NEC, dan Northen Telecom) bersama-sama meranccang bus untuk peralatan I/O berkecepatan rendah. Standar yang dihasilakan dinamakan Universal Standard Bus (USB).
·         Bus SCSI
Small Computer System Interface (SCSI) adalah perangkat peripheral eksternal yang dipo[ulerkan oleh macintosh pada tahun 1984. SCSI merupakan interface standar untuk drive CD-ROM, peralatan audio, hard disk, dan perangkat penyimpanan eksternal berukuan besar. SCSI menggunakan interface paralel dengan 8,16, atau 32 saluran data.
Arbitrasi Bus
Beberapa modul dapat mengendalikan bus, dan setiap saat hanya satu modul yang dapat mengendalikan. Terdapat 2 arbitrasi :
a)      Arbitrasi Centralised
•Ada satu hardware device yg mengendalikan akses bus
• Bisa berupa bagian dari CPU atau terpisah
      b) Arbitrasi Distributed
• Setiap module dapat meng-klaim bus
• Setiap modules memiliki Control logic
• Bus PCI
• Jalur yang harus ada pada Bus PCI :
o  Jalur System
o  Address & Data     
o  Interface Control
o  Arbitrasi
o  Error lines
• Jalur tambahan pada Bus PCI :
§ Interrupt lines
§ Cache support
§ 64-bit Bus Extension
§ JTAG/Boundary Scan

Standart Input/Output pada Interface

I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya). Fungsi :Fungsi i/o Pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksible, dan bugs aplikasi tidak mudah menyebabkan sebuah sistem crash.   Pada dasarnya, tugas utama komputer adalah processing dan I/O (Input danOutput). Bahkan, sebagian besar waktunya digunakan untuk mengolah I/O sedangkan processing hanya bersifat insidental. Jadi, pada konteks I/O, peranan sistem operasiadalah mengatur dan mengontrol perangkat I/O dan operasi I/O.Perangkat I/O sangat bervariasi. Oleh karena itu, bagaimana cara mengontrol perangkat-perangkat tersebut mendapat perhatian besar dalam organisasi komputer.Bayangkan, perangkat I/O yang sangat banyak jumlahnya dan setiap perangkat memilikifungsi dan kecepatan sendiri-sendiri, tentunya memerlukan metode yang berbeda pula.Oleh karena itu, dikenal klasifikasi perangkat I/O menjadi perangkat blok dan perangkatkarakter, walaupun ada perangkat yang tidak termasuk ke dalam satupun dari keduagolongan ini.Perangkat terhubung ke komputer melalui port, diatur oleh device controller dan berkomunikasi dengan prosesor dan perangkat lain melalui bus. Perangkat berkomunikasi dengan prosesor melalui dua pendekatan yaitu memory mapped daninstruksi I/O langsung.
I/O system terdiri dari beberapa again penting yaitu:
a.    I/O Hardware
b.    Application I/O Interface
c.    Kernel I/O Subsystem
d.    I/O Requests to Hardware Operations
e.    Streams
f.    Performance
A.    I/O Hardware
Secara umum, I/O Hardware terdapat beberapa jenis seperti device penyimpanan
(disk,tape),transmission device (network card, modem), dan human-interface device (screen, keyboard, mouse). Device tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki
oleh device akan digunakan oleh direct I/O instruction dan memory-mapped I/O.
Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/ shared direct access), dan controller  (host adapter).
Port adalah koneksi yang digunakan oleh device untuk berkomunikasi
dengan mesin.
Bus adalah koneksi yang menghubungkan beberapa device menggunakan
kabel-kabel.
Controller adalah alat-alat elektronik yang berfungsi untuk mengoperasikan
port, bus, dan device.
B.     Application I/O Interface

Merupakan suatu mekanisme untuk mempermudah pengaksesan, sehingga sistem operasi melakukan standarisasi cara pengaksesan peralatan I/O. Contoh : suatu aplikasi
ingin membuk data yang ada dalam suatu disk, aplikasi tersebut harus dapat
membedakan jenis disk apa yang akan  diaksesnya. Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Device driver mengenkapsulasi tiap-tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan  perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada  kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware.
 Komponen Input/Output
Komponen input/ouput merupakan suatu rangkaian masukan atau keluaran dengan berbagai macam bentuk dan karakter yang berbeda-beda serta bekerja dengan level tegangan yang bervariasi. Komponen input/ouput agar dapat bekerja dan berhubungan dengan mikroprosesor dilengkapi dengan rangkaian antar muka (interface). Rangkaian interface dapat diartikan sebagai rangkaian penghubung yang menghubungkan antara komponen yang satu dengan komponen yang lainnya, sehingga dapat dilakukan transfer data antara komponen-komponen tersebut. Ini dapat       dibangun         atau     dirancang dengan  rangkaian perangkat            keras    dan perangkat lunak (program).
Dalam proses interfacing antara sistem mikroprosesor dengan piranti luar dibutuhkan beberapa fungsi seperti, data buffering, address decoding, command decoding, status decoding, dan sistem control dan timing. Semua ini dibutuhkan untuk mensinkronikasikan kerja sistem supaya sinergi. Karena tanpa pengendali dan sinkronisasi menyebabkan berbagai masalah akan timbul dalam proses input/output. Masalah-masalah ini disebabkan oleh perbedaan  kecepatan operasi, perbedaan level sinyal atau tegangan yang dibutuhkan, keanekaragaman peripheral dan berbagai karakternya, dan stuktur sinyal yang kompleks. Oleh karena itu dibutuhkan suatu bagian input/output yang sesuai. Komunikasi antara komponen I/O dengan mikroprtosesor tidak jauh berbeda antara komunikasi memori dengan mikroprosesor, hanya pada I/O prosesnya lebih kompleks dari pada memori. Dibawah ini digambarkan hubungan antara mikroprosesor dengan komponen input/output dan peripheral.

Hardware terdiri dari :
Input Device
Process Device
Output Device
Macam-macam I/O:
1.Konektor RJ 45
Digunakan untuk koneksi Ethernet pada komputer dan perangkat jaringan Ethernet lainnya seperti router dan aktif dan juga modem dan juga perangakat lain yang mendukung interface Ethernet RJ45.Fungsi :Menyambungkan network antara komputer dengan komputer.
2. USB ( Universal Serial Bus )
Port standard yang ada di komputer saat ini.Konektor-konektor USB tersebut dapat ditancapi berbagai perangkat mulai dari mouse sampai printer secara mudah dan cepat. Fungsi :perangkat baru yang belum pernah terinstal di komputer anda sebelumnya, sistem operasi komputer anda secara otomatis akan mencoba mengenalinya dengan auto detect.
Struktur I/O
Bagian ini akan membahas struktur I/O, interupsi I/O, dan DMA, serta perbedaan dalam penanganan interupsi.
Interupsi I/O
Untuk memulai operasi I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya device controller memeriksa isi register untuk kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, kendali dikembalikan ke proses pengguna setelah proses I/O selesai dikerjakan. Sedangkan pada asynchronous I/O, kendali dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai. Sehingga proses I/O dan proses pengguna dapat dijalankan secara bersamaan.
Proteksi I/O
Pengguna bisa mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan mengakses lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan diri dari prosesor. Untuk mencegahnya kita menganggap semua instruksi I/O sebagai privilidge instruction sehingga mereka tidak bisa mengerjakan instruksi I/O secara langsung ke memori tapi harus lewat sistem operasi terlebih dahulu. Proteksi I/O dikatakan selesai jika pengguna dapat dipastikan tidak akan menyentuh mode monitor. Jika hal ini terjadi proteksi I/O dapat dikompromikan.
Managemen Sistem I/O
Sering disebut device manager. Menyediakan “device driver” yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O:
· Buffer: menampung sementara data dari/ ke perangkat I/O.
· Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
· Menyediakan driver untuk dapat melakukan operasi “rinci” untuk perangkat keras I/O tertentu.
CU (Control Unit)
Digunakan untuk mengatur dan menjalankani instruksi dalam urutan yang telah ditetapkan.
ALU(Arithmatic and Logic Unit)
Bagian perangkat keras yang berhubungan langsung dengan perhitungan arithmatic.
RAM (Random Access Memory)
Memori yang membaca dan menulis.
ROM (Read Only Memory)
Memori yang dapat membaca saja.
Peralatan Input
a. Keyboard
b. Mouse
c. Joystick
d. Scanner
e. Lightpen
f. Trackball
g. Touch Sreen
h. Magnetic Ink Character Reader (MICR)
i. Optical Character Reader (OCR)
j. Optical Mark Recognition (OMR) Reader
k. dll
Perangkat Output
a. Monitor
b. Printer dan Plotter
c. Proyektor
d. Microform
Peralatan Input / Output
a. Disk Drive
b. Tape Drive
c. Modem (Modulator Demudolator)
d. Ethernet
e. PCMCIA
f. Hub
g. Switch
h. Print Server
i. Input / Output Card (I / O Card)
j. SCII Card
k. Terminal
l. CD – Room (Compac Disk-Read Only memory)
m. CD-Read and writer
n. DVD-Room
o. DVD-Read and Writer


Pengertian 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.
Operasi I/O selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi. OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan program yang meminta transfer tsb pada keadaan blocked, menginisiasi operasi DMA, dan memulai eksekusi program lain. Pada saat transfer selesai, kontroler DMA memberitahu prosesor dengan mengirim interupt request. Sebagai responnya, OS menetapkan program yang ditunda ke keadaan runnable sehingga dapat dipilih oleh scheduler untuk melanjutkan eksekusi.
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.
Operasi I/O selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi. OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan program yang meminta transfer tsb pada keadaan blocked, menginisiasi operasi DMA, dan memulai eksekusi program lain. Pada saat transfer selesai, kontroler DMA memberitahu prosesor dengan mengirim interupt request. Sebagai responnya, OS menetapkan program yang ditunda ke keadaan runnable sehingga dapat dipilih oleh scheduler untuk melanjutkan eksekusi.

Rabu, 02 November 2016

PENGERTIAN RAM DAN ROM BESERTA FUNGSI DAN PENJELASAN NYA

Kali ini saya akan menjelaskan sedikit tentang RAM dan ROM beserta jenis dan juga fungsinya
RAM (Random Acces Memory) adalah sebuah perangkat keras yang berfungsi menyimpan data dan instruksi program yang akan dan sudah dieksekusi oleh prosesor. Penyimpanan RAM bersifat sementara, ini artinya setelah komputer dimatikan, RAM akan dikosongkan lalu akan diisi data baru yang diperlukan saat komputer dinyalakan dan dipergunakan. Berbeda dengan tape magnetik atau disk yang harus diakses secara berurutan, isi dari RAM dapat diakses secara random atau tidak mengacu pada letak datanya. Hal ini yang membuat RAM lebih cepat daripada harddisk atau media penyimpanan lainnya. (Baca : Pengertian, Jenis - Jenis dan Fungsi ROM)

RAM sendiri sering disebut sebagai memori utama atau main memory,  memori primer atau primary memory atau memori internal, atau hanya disebut memori, meskipun ada beberapa jenis memori yang terpasang pada komputer tersebut.

RAM memiliki bagian utama seperti :
1. PCB (Printed Circuit Board)
PCB (Printed Circuit Board) yakni papan yang tersusun atas beberapa layer, pada setiap lapisan layer terpasang jalur/circuit untuk mengalirkan data ataupun sebagai tempat penyalur daya listrik.

2. Contact Point
Contact Point yakni bagian RAM yang berfungsi sebagai konektor ke Motherboard, terdiri atas beberapa titik dan di batasi oleh satu atau dua buah lekukan yang disebut sebagai NOTCH.


Fungsi RAM

Fungsi dari RAM adalah mempercepat pemprosesan data pada komputer. Semakin besar RAM yang dimiliki, semakin cepatlah komputer.

Selain itu, RAM juga berfungsi sebagai mendia penyimpanan disaat komputer atau laptop dalam keadaan hidup, apabila laptop atau komputer dimatikan maka data yang tersimpan dalam ram akan hilang dan terhapus. Misalkan ketika anda mengetik di dokumen atau microsoft word kemudian anda anda tutup tanpa menyimpan terlebih dahulu data yang anda ketik akan tersimpan di memori ram dengan begitu anda dapat membuka dokumen tersebut melalui history terakhir dari Microsoft word tadi.


Jenis - Jenis RAM

1. DRAM (Dynamic Random Access Memory)


DRAM (Dynamic Random Access Memory) yang merupakan memori semikonduktor yang memerlukan kapasitor sebagai tumpuan untuk menyegarkan data yang ada di dalamnya. RAM ini memiliki kecepatan lebih tinggi dari EDO-RAM. Namun lebih rendah dibandingkan SRAM.

Dalam strukturnya, DRAM hanya memerlukan satu transistor dan kapasitor per bit, sehingga memiliki kepadatan sangat tinggi. DRAM mempunyai frekuensi kerja yang bervariasi, yaitu antara 4,77MHz hingga 40MHz.

2. SDRAM (Sychronous Dynamic Random Access Memory)

SDRAM (Sychronous Dynamic Random Access Memory) adalah jenis RAM yang merupakan kelanjutan dari DRAM namun telah diskronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz.

3. RDRAM (Rambus Dynamic Random Access Memory)


RAM jenis ini memiliki kecepatan sangat tinggi, pertama kali digunakan untuk komputer dengan prosesor Pentium 4. Slot Memori untuk RD RAM adalah 184 pin. Bentuk RD RAM adalah Rate Inline Memory Modul (RIMM). Memiliki kecepatan hingga 800 MHz.

4. SRAM (Static Random Access Memory)


SRAM (Static Random Access Memory) adalah jenis RAM yang terbuat dari semacam semikonduktor yang tidak memerlukan kapasitor dan tidak memerlukan penyegaran secara berkala sehingga lebih cepat. Namun SRAM memiliki kelemahan, yakni biaya produksinya mahal sehingga hanya tersedia dalam kapasitas kecil dan menangani bagian yang benar-benar penting.

5. EDORAM (Extended Data Out Random Access Memory)

RAM jenis ini memiliki kemampuan yang lebih cepat dalam membaca dan mentransfer data dibandingkan dengan RAM biasa. Slot memori untuk EDO RAM adalah 72 pin. Bentuk EDO-RAM lebih panjang daripada RAM yaitu bentuk Single Inline Memory Modul (SIMM). Memiliki kecepatan lebih dari 66 Mhz.

6. FPM DRAM (First Page Mode DRAM)

FPM DRAM (First Page Mode DRAM) adalah merupakan bentuk asli dari DRAM. Laju transfer maksimum untuk cache L2 mendekati 176 MB per sekon. FPM bekerja pada rentang frekuensi 16MHz hingga 66MHz dengan access time sekitar 50ns.

7. Flash RAM


Flash RAM adalah jenis memory berkapasitas rendah yang digunakan pada perngkat elektronika seperti, TV, VCR, radio mobil, dan lainnya. Memerlukan refresh dengan daya yang sangat kecil.

8. VGRAM (Video Graphic Random Acces Memory)



VGRAM (Video Graphic Random Acces Memory) Yaitu VGRAM biasanya digunakan untuk menyimpan kandungan pixel bagi sebuah paparan grafik. Penggunaan cip VGRAM akan memberikan prestasi video yang baik dan mengurangi tekanan pada CPU.

9. DDR SDRAM (Double Data Rate Synchronous Dynamic Random Acces Memory)

RAM jenis ini memiliki kecepatan sangat tinggi dengan menggandakan kecepatan SD RAM, dan merupakan RAM yang banyak beredar saat ini. RAM jenis ini mengkonsumsi sedikit power listrik. Slot Memori untuk DDR SDRAM adalah 184 pin, bentuknya adalah RIMM.

10. SO-DIMM (Small Outline Dual In-Line Memory Module)

SO-DIMM (Small Outline Dual In-Line Memory Module) merupakan jenis memory yang digunakan pada perangkat notebook. Bentuk fisiknya kira-kira setengah dari besar DDR biasa sehingga dapat lebih menghemat ruang yang tentunya sangat berharga pada perangkat mobile seperti notebook. Perkembangan generasi SO-DIMM biasanya sejalan dengan perkembangan RAM untuk komputer desktop. Ketika DDR3 SDRAM diluncurkan dipasaran, DDR3 SO-DIMM juga ikut diluncurkan. Modul tersebut menggunakan slot yang memiliki 204 pin.







ROM merupakan singkatan dari Read Only Memory. ROM adalah perangkat atau peralatan proses yang terdapat di dalam CPU. ROM berisikan suatu program yang telah diterapakan oleh pembuat perangkat komputer dan keberadaan program ini tidak dapat diubah, ditambah, maupun dikurangi oleh pemakai Komputer. Isi ROM diperlukan pada saat computer dihidupkan. Perintah yang ada di dalam ROM sebagian akan dipindahkan ke RAM. Di antara perintah dari ROM adalah perintah untuk membaca system operasi dari disk, perintah untuk mengecek semua peralatan yang ada di unit system, dan perintah untuk menampilkan pesan di layar. Isi ROM tidak akan hilang meskipun aliran listrik padam.

ROM pada komputer diguanakan untuk sebagai penyimpan BIOS (Basic Input Output System). BIOS adalah bagian yang sangat kritis dari suatu sistem operasi, yang berfungsi memberi tahu bagaimana caranya dapat mengakses disk drive. Ketika komputer dihidupkan dalam kondisi RAM masih kosong maka perintah pada ROM BIOS yang digunakan oleh CPU, kemudian baru memindahkan file-file tersebut ke dalam RAM dan menjalankannya.

ROM sering ditemukan dalam bentuk IC (Integrated Circuit). IC ROM biasanya memiliki kode tulisan (teks) 27xxx. Angka 27 menunjukkan kode untuk ROM, sedangkan xxx menjunjukkan kapasitas ROM dalan satuan kilo bit.

Fungsi ROM

Seperti telah diungkapkan sebelumnya bahwa umumnya ROM berfungsi untuk menyimpan firmware. Pada perangkat komputer, sering ditemukan untuk menyimpan BIOS.

Jenis - Jenis ROM

1. Mask ROM
Mask ROM adalah ROM yang tidak bisa ditulis ulang (non-flashable) sehingga tidak dapat di up-grade.

2. PROM (Programmable Read-Only Memory)
PROM merupakan sebuah chip memory yang hanya dapat diisi data satu kali saja. Sekali saja program dimasukkan ke dalam sebuah PROM, maka program tersebut akan berada pada PROM seterusnya.

3. EPROM (Erasable Programmable Read-Only Memory)
EPROM (Erasable Programmable Read Only Memory) adalah sebuah ROM yang dapat diprogram ulang dan dihapus.

Berdasarkan proses pengisiannya terdapat dua jenis EPROM :
  1. UV EPROM (Ultraviolet EPROM) membutuhkan cahaya ultraviolet untuk menghapus data yang ada di dalamnya.
  2. EEPROM (Electrical EPROM) menggunakan aliran listrik dalam menghapus atau mem-program ulang isinya.
4. EEPROM (Electrically Erasable Programmable Read-Only Memory)

EEPROM adalah tipe khusus dari PROM (Programmable Read-Only Memory) yang bisa dihapus dengan memakai perintah elektris.