Showing posts with label COA. Show all posts
Showing posts with label COA. Show all posts

Monday, May 28, 2012

Penjelasan BUS ( Interkoneksi antar bagian utama komputer)


Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat komputer. Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus dan suatu sinyal yang ditransmisikan oleh salah satu perangkat ini dapat ditermia oleh salah satu perangkat yang terhubung ke bus. Bila dua buah perangkat melakukan transmisi dalam waktu yang bersamaan, maka sinyal-sinyalnya akan bertumpang tindih dan menjadi rusak. Dengan demikain, hanya sebuah perangkat saja yang akan berhasil melakukan transimi pada suatu saat tertentu.

Fungsi Bus : membawa data antar bagian utama komputer , data berupa data atau intruksi


 Komponen utama komputer
  • MAR : Tempat untuk menampung alamat memori berikutnya yang akan dibaca/ditulis
  • MBR : Tempat untuk menampung data yang akan ditulis ke memori atau data yang akan dibaca dari memori
  • I/O AR : Tempat untuk menampung alamat device yang akan dikontrol
  • I/O BR : Digunakan untuk menampung data yang dipertukarkan antara device dengan CPU
  • IR : Menyimpan Intruksi yang baru saja di ambil
  • PC : Menyimpan alamat intruksi berikutnya
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.
  • 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.
  • 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.
  • 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.
 
ELEMEN-ELEMEN RANCANGAN BUS

JENIS BUS
Saluran bus dapat dipisahkan menjadi dua tipe umum, yaitu dedicated dan multiplexed. Suatu saluran bus didicated 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 salurah yang sama dengan menggunakan saluran address valid control. Pada awal pemindahan data, alamat ditempatkan pada bus dan address valid control diaktifkan. Pada saat ini, setiap modul memilki periode waktu tertentu untuk menyalin alamat dan menentukan apakah alamat tersebut merupakan modul beralamat. Kemudian alamat dihapus dari bus dan koneksi bus yang sama digunakan untuk transfer data pembacaan atau penulisan berikutnya. Metode penggunaan saluran yang sama untuk berbagai keperluan ini dikenal sebagai time multiplexing.

Keuntungan time multiplexing adalah memerlukan saluran yang lebih sedikit, yang menghemat ruang dan biaya. Kerugiannya adalah diperlukannya rangkaian yang lebih kompleks di dalam setiap modul. Terdapat juga penurunan kinerja yang cukup besar karena event-event tertentu yang menggunakan saluran secara bersama-sama tidak dapat berfungsi secara paralel.

Dedikasi fisik berkaitan dengan penggunaan multiple bus, yang masing-masing bus itu terhubung dengan hanya sebuah subset modul. Contoh yang umum adalah penggunaan bus I/O untuk menginterkoneksi seluruh modul I/O, kemudian bus ini dihubungkan dengan bus utama melalui sejenis modul adapter I/O. keuntungan yang utama dari dedikasi fisik adalah throughput yang tinggi, harena hanya terjadi kemacetan lalu lintas data yang kecil. Kerugiannya adalah meningkatnya ukuran dan biaya sistem.

METODE ARBITRASI
Di dalam semua sistem keculai sistem yang paling sederhana, lebih dari satu modul diperlukan untuk mengontrol bus. Misalnya, sebuah modul I/O mungkin diperlukan untuk membaca atau menulis secara langsung ke memori, dengan tanpa mengirimkan data ke CPU. Karena pada satu saat hanya sebuah unit yang akan berhasil mentransmisikan data melalui bus, maka diperlukan beberapa metodi arbitrasi. Bermacam-macam metode secara garis besarnya dapat digolongkan sebagi metode tersentraslisasi dan metode terdistribusi. Pada metode tersentralisasi, sebuah perangkat hardware, yang dikenal sebagai pengontrol bus atau arbitrer, bertanggung jawab atas alokasi waktu pada bus. Mungkin perangkat berbentuk modul atau bagian CPU yang terpisah. Pada metode terdistribusi, tidak terdapat pengontrol sentral. Melainkan, setiap modul terdiri dari access control logic dan modul-modul bekerja sama untuk memakai bus bersama-sama. Pada kedua metode arbitrasi, tujuannya adalah untuk menugaskan sebuah perangkat, baik CPU atau modul I/O, bertindak sebagai master. Kemudian master dapat memulai transfer data (misalnya, membaca atau menulis) dengan menggunakan perangkat-perangkat lainnya, yang bekerja sebagai slave bagi pertukaran data yang khusus ini.


TIMING
Timing berkaitan dengan bagaimana terjadinya event yang dikoordinasikan pada bus. Dengan timing yang synchronous, terjadinya event pada bus ditentukan oleh sebuah pewaktu (clock). Bus meliputi sebuah saluran, waktu tempat pewaktu mentrasmisikan rangkaian bilangan 1 dan 0 dalam durasi yang sama. Sebuah transmisi 1-0 dikenal sebagai siklus waktu atau siklus bus dan menentukan bersarnya slot waktu. Semua perangkat lainnya pada bus dapat membaca saluran waktu dan semua event dimulai pada awal siklus waktu.  Gambar di samping menujukkan diagram penentuan bagi operasi pembacaan sinkron. Sinyal-sinyal bus lainnya dapat berubah pada ujung muka sinyal waktu dengan diikuti sedikit reaksi delay. Sebagian besar event mengisi suatu siklus waktu. Di dalam contoh sederhanya ini, CPU mengeluarkan sinyal baca dan menempatkan alamat memori pada bus alamat. CPU juga mengeluarkan sinyal awal untuk menandai keberadaan alamat dan informasi kontrol pada bus. Modul memori mengetahui alamat itu, dan setelah delay 1 siklus menempatkan data dan sinyal balasan pada bus.

Sedangkan pada timing asinkron, terjadinya sebuah event pada bus mengikuti dan tergantung pada event sebelumnya. Dalam contoh gambar di atas, CPU menempatkan alamat dan membaca sinyal pada bus. Setelah berhenti untuk memberi kesempatan sinyal ini menjadi stabil, CPU mengeluarkan sinyal MSYN (master syn) yang menandakan keberadaan alamat yang valid dan sinyal kontrol. Modul memori memberikan respons dengan data dan sinyal SSYN (slave syn) yang menunjukkan respon.

Timing sinkron lebih mudah untuk diimplementasikan dan diuji. Namun timing ini kurang fleskibel dibandingkan dengan timing asinkron. Karena semua perangkat pada bus sinkron terkait dengan kelajuan pewaktu yang tetap, maka sistem tidak dapat memanfaatkan peningkata kinerja. Dengan menggunakan timing asinkron, campuran antara perangkat yang lamban dan cepat, baik dengan menggunakan teknologi lama maupun baru, dapat menggunakan bus secara bersama-sama.

LEBAR BUS
Lebar bus dinyatakan dengan satuan bit dan kecepatan bus dinyatakan dalam satuan MHz Lebar bus data dapat mempengaruhi kinerja sistem. Semakin lebar bus data, semakin besar bit yang dapat ditransferkan pada suatu saat. Lebar bus alamat mempunyai pengaruh pada kapasistas sitem. Semakin lebar bus alamat, semakin besar pula range lokasi yang dapat direferensi.

JENIS TRANSFER DATA
Suatu bus mendukung bermacam-macam transfer data. Semua bus mendukung transfer baca (master ke slave) dan transfer tulis (slave ke master). Pada semua multiplexed address/data bus, pertama-tama bus digunakan untuk menspesifikasikan alamat dan kemudian untuk melakukan transfer data. Untuk operasi baca, biasanya terdapat waktu tunggu pada saat data sedang diambil dari slave untuk ditaruh pasda bus. Baik bagi operasi baca maupun tulis, mungkin juga terdapt delay bila hal itu diperlukan untuk melalui arbitrasi agar mendapatkan kontrol  bus untuk sisa operasi (yaitu, mengambil alih bus untuk melakukan request baca atau tulis, kemudian mengambil alih lagi bus untuk membentuk operasi vaca atau tulis.
Pada alamat dedicated dan bus-bus data, alamat ditaruh ada bus alamat dan tetap berada di sana selama data tersimpan pada bus data. Bagi operasi tulis, master menaruh data pada bus data begitu alamat telah staabil dan slave telah mempunyai kesempatan untuk mengetahui alamatnya. Bagi operasi baca, slave menaruh data pada bus dan begitu slave mengetahui alamtnya dan telah mengambil data.
Terdapt pula beberapa kombinasi operasi yang diizinkan oleh sebagian bus. Suatu operasi baca-modifikasi-tulis merupakan sebuah oerasi baca yang diikuti oleh operasi tulis ke alamat yang sama. Alamat hanya di-broadcast satu kali saja pada awal operasi. Baiasanya urutan operasi secara keseluruhan tidak dapat dibagi-bagi untuk menjaga setiap akses ke element data oleh master-master bus lainnya. Tujuan utama dari kemampuan ini adalah untuk melindungi sumber daya memori yang dapat dipakai bersama di dalam sistem multiprogramming.
Operasi read-after-write merupakan operasi yang tidak dapat dibagi-bagi yang berisi operasi tulis yang diikuti oleh operasi baca dari alamat yang sama. Operasi baca dibentuk untuk tujuan pemeriksaan.
Sebagian sistem bus juga mendukung trasnfer data blok. Dalam hal ini, sebuah siklus alamat diikuti oleh n siklus data. Butir data pertama ditransfer ke almat tertentu atau ditransfer dari alamat tertentu. Butir-butir data lainnya ditransfer ke alamat berikutnya atau ditransfer dari alamat sebelumnya

sumber : www.risyana.wordpress.com

Memory eksternal

Magnetic Disk
  • Disk merupakan sebuah piringan bundar yang terbuat dari logam atau plastik yang dilapisi dengan bahan yang dapat dimagnetisasi.
  • Data direkam di atasnya dan dapat dibaca dari disk dengan menggunakan kumparan pengkonduksi (conducting coil) yang dinamakan head
  • Pada operasi penulisan, arus listrik pada head memagnetisasi disk.
  • Pada operasi pembacaan, medan magnet pada disk yang bergerak di bawah head menghasilkan arus listrik pada head.
  • Selama operasi pembacaan dan penulisan, head bersifat stasioner sedangkan piringan bergerak-gerak di bawahnya.
Organisasi


  • Organisasi data pada piringan berbentuk sejumlah cincin-cincin yang konsentris yang disebut track.
  • Masing-masing track lebarnya sama dengan lebar head.
  • Track yang berdekatan dipisahkan oleh gap
  • Gap bertujuan untuk mencegah/mengurangi error akibat melesetnya head atau interferensi medan magnet.
  • Kerapatan (density), dalam bit per inci linear, pada track sebelah dalam lebih tinggi (lebih rapat) dibanding track sebelah luarnya.
  • Data disimpan pada daerah berukuran blok yang dikenal sebagai sector.
  • Biasanya terdapat antara 10 hingga 100 sector per track.
 Karakteristik


  •  Gerakan head
·   Fixed head disk : terdapat sebuah head baca/tulis per track jadi ada beberapa head baca/tulis per surface. Semua head ditempatkan pada lengan memanjang ke seluruh track.
·    Movable head disk : hanya terdapat sebuah head baca/tulis per surface. Lengan dimana head ditempatkan dapat memanjang dan memendek untuk menuju ke salah satu track.
  • Portabilitas disk
Disk berada pada sebuah disk drive yang terdiri dari lengan, tangkai yang dapat menggerakkan disk, dan perangkat elektronik untuk keperluan input dan output data biner.
·       Non-removable disk : secara permanen berada pada disk drive.
·       Removable disk : dapat dilepas dan diganti dengan disk lain.
  • Permukaan yang dimagnetisasi
·       Double-sided : kedua sisi permukaannya dimagnetisasi
·       Single-sided : hanya satu permukaan yang dimagnetisasi (disk bermuka tunggal)


 
Karakteristik Macam
Gerakan head 1. Fixed head (satu per track)
2. Movable head (satu per surface)
Portabilitas disk 1. Nonremovable disk
2. Removable disk
Sides 1. Single-sided
2. Double-sided
Platters 1. Single-platter
2. Multiple-platter
Mekanisme head 1. Contact (floppy)
2. Fixed gap
3. Aerodynamic gap (Winchester)


Waktu akses drive
  • Ketika disk drive beroperasi, disk berputar dengan kecepatan tetap.
  • Untuk dapat membaca dan menulis, head harus berada pada awal sector dari track yang diinginkan.
  • Pemilihan track meliputi perpindahan head pada sistem movable head atau mekanisme elektronis pada head untuk sistem fixed head.
  • Waktu yang diperlukan untuk menempatkan head pada track yang diinginkan dikenal sebagai seek time.
  • Sekali track sudah dipilih, sistem akan menunggu sampai sector yang bersangkutan berputar agar sesuai dengan head.
  • Waktu yang diperlukan oleh sector untuk mencapai head disebut rotational latency
  • Access time, yaitu waktu yang dibutuhkan untuk berada pada posisi siap membaca atau menulis.
 

Penjelasan Mips dan Komponen

MIPS itu salah satu jenis processor. Nah MIPS ini, processor yang paling mudah untuk dipahami dibanding dengan INTEL atau yang lainnya. Soalnya MIPS dirancang sama John L Hennesy pada 1981 yang pas itu dibuatnya di Stanford University, jadi komponen-komponennya masi dasar gitu dan mudah dipahami untuk pembelajaran di kuliah. MIPS sendiri punya kepanjangan : Microprocessor without Interlocked Pipeline Stages.


Versi dasar dari MIPS adalah versi R2000 yang merupakan MIPS yang pertama kali di-release. Dibagi menjadi 2 jenis, yaitu MIPS satu siklus dan MIPS 2 siklus.

Komponen utama
  • Control Unit Merupakan bagian pengendali yang berfungsi mengendalikan bagian-bagian MIPS yang lain (aktivitas prosesor). Instruksi tediri dari 2 bagian yaitu input dan operan. Instruksi di MIPS panjangnya 32 bit. Namun yang masuk ke dalam control unit hanya 6 bit, yaitu bit ke 26-31. Kemudian mengeluarkan output 9 bit kendali komponen yang akan menjadi input bagian-bagian MIPS yang lain. Bit kendali yang dihasilkan :
  • RegDst (Register destination)          : jadi inputan ke mux untuk selector data mana yang akan ditulis ke register
  • Branch                                              : menangani pencabangan(di set 1 ketika terjadi pencabangan)
  • MemRead (Memory Read)              : di set 1 untuk membaca data dari memory, 0 jika tidak
  • MemToReg (Memory To Register)  : inputan buat mux untuk selector apakah data disimpan dalam memory dikirim ke register
  •  ALU Op (ALU operation)
  • MemWrite (Memory write)             : di set 1 untuk menyimpan data ke memory, 0 jika tidak
  •  ALU src (ALU source)
  •  RegWrite (Register Write)
Masing-masing 1 bit kecuali ALU Op 2 bit.
  • Program Counter (PC) : Menghitung alamat instruksi berikutnya yang akan di eksekusi. Yang disimpan dalam PC adalah alamat memory. Alamat instruksi sama dengan alamat memory. Sedangkan alamat sediri tidak sama dengan instruksi. Masukkan dan keluaran dari PC sama yaitu sepanjang 32 bit (satu instruksi 32 bit). Daya tampung 1 alamat memory pada MIPS sepanjang 8 bit. Alamat memory sendiri merentang dari 000..00 sampai 111..11 sepanjang 32 bit. Jika tidak ada instruksi pencabangan maka nilai di dalam PC ditambah 4 setiap selesai melakukkan instruksi. Karena panjang instruksi 32 bit sedangkan daya tampung setiap alamat memory hanya  8 bit.
  • Memory Instruksi : Menyimpan Instruksi yang akan di eksekusi. Inputnya alamat yang tadi disimpan dalam PC sebanyak 32 bit. Keluarannya instruksi sepanjang 32 bit juga.
  • Memory data : Menyimpan data hasil pemrosesan  ALU. Masukkannya berupa alamat yang akan dipakai untuk menyimpan data (32 bit) dan data yang akan disimpan (32 bit). Keluarannya data 32 bit. Ada 2 macam memory data : memory read untuk membaca data dan memory write untuk menyimpan data, yang pemakaiannya diatur oleh control unit.
  • Register :Menyimpan data yang akan diproses oleh ALU dan menyimpan data hasil perhitungan. Setiap register mempunyai nama, nomor, dan fungsinya masing-masing. Banyaknya 32 buah dengan masing-masing panjangnya 32 bit. Diakses berdasarkan nomornya. Namun pada pemrograman, akses berdasarkan nama registernya.
  • ALU (arithmetic and Logical unit) : Mengolah dua buah data masukkan. Bisa penjumlahan pengurangan atau pembandingan. Masukkan berupa input 1 sepanjang 32 bit dan input 2 sepanjang 32 bit. Keluaran berupa hasil pengolahan dan zero flag. Zero flag di set 1 ketika hasil keluaran bernilai 0. Di set 0 jika sebaliknya.
Komponen pendukung
  • Shifter : penggeser bit, 2 kali ke kiri (shift left 2) atau mengalikan dengan 4.
  • Adder : penjumlah 2 buah inputan n bit dan menghasilkan sebuah keluaran n bit. Di MIPS ada 2 buah adder.
  • Multiplexer : selector dari 2 buah input yang tersedia untuk di alirkan ke output.
  • Sign extend : mengubah data 16 bit menjadi 32 bit dengan menambah 0 sebanyak 16 bit di awal.

Wednesday, May 16, 2012

Sejarah Mips

Sejarah pada Mips berawal dari John L hennesey yang berasal dari stanford yang kemudian beralih ke Mips technology system .
Mips yang artinya Million Instruction per second atau juga dikenal without Interlocked Pipline Stages, Pipelines itu berarti paralel, Ngomong ngomong apa sih Mips itu? mips itu mempelajari prosesor dengan intruksi intruksinya
nah ini sejarahnya :
  • 1985 : MIPS computer system mereleaase design pertamanya yaitu R2000
  • 1988 : R3000 direlease berbentuk CPU yang berbasis 32 bit. Mengimplementasikan hampir semua interlock di hardware-nya dan mmen-suply full multiple dan dividing instruction.
  • 1990 awal : melisensi produknya ke 3 vendor
  • 1990 : MIPS menjadi power house dalam embedded processor.
  • 1991 : MIPS me-release mikroprosesor 64 bit dengan nama R4000
  • 1992 : MIPS Computer system berganti menjadi MIPS technologies setelah dibeli oleh SG
  • 1998 : MIPS menjadi sangat sukses setelah SGI mengubah proses MIPS technologies.
  • 1999 : MIPS membentuk 2 kelas besar untuk lisensi yaitu MIPS 32 (prosesor 32 bit) dan MIPS 64 (prosesor 64 bit). Bedanya terletak pada lebar jalur yang akan dilalui oleh bit-bit data.

Monday, May 14, 2012

Penjelasan DMA (Direct Memory Acces)

Penjelasan Direct Memory Acces (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 (CPU).

 Diperlukan DMA untuk programmed I/O dan interrupt driver I/O, DMA menjadi solusi
  • Masih memerlukan keterlibatan CPU, CPU menjadi sibuk
    direct memory acces
    DMA
  • Transfer rate data terbatas
Digunakan modul khusus(hardware) yang terhubung ke sistem bus
fungsi modul DMA:
  • Dapat menirukan sebagian fungsi processor
  • Dapat mengambil alih fungsi prosesor yang berhubungan dengan transfer data
Kapan DMA bekerja?
  • Saat prosesor sedang tidak menggunakan bus
  • saat prosesor dipaksa berhenti sesaat (suspend) , siklus "dicuri oleh DMA" adalaah cycle stealing

Diagram Modul DMA
Diagram Modul DMA
Cara Kerja DMA
  • CPU mengirimkan data data berikut ini ke DMA controller:
    • Perintah read/write
    • Alamat device yang akan diakses
    • Alamat awal blok memori yang akan dibaca/ditulis
    • Jumlah blok data yang akan ditransfer
  • CPU mengeksekusi program lain
  • DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori(tanpa melibatkan CPU)
  • DMA controller mengirim interrupt ke CPU jika telah selesai.
Cycle Stealing pada DMA transfer
  • DMA controller mengambil alih bus sebanyak satu siklus
  • DMA mentransfer satu word data
  • Pengambil alihan bus oleh DMA bukan interrupt --> CPU tidak perlu menyimpan context
  • CPU hanya tertunda (suspend) sesaat sebelum mengakses bis, yaitu sebelum operand atau data diambil atau data ditulis
  • Pengaruh terhadap CPU yaitu memperlambat CPU , tetapi masih lebih baik dari pada CPU terlibat langsung pada transfer data
Cycle Stealing di DMA
Cycle Stealing di DMA
Konfigurasi pada DMA
  • Konfigurasi I
    • Hanya menggunakan single bus
    • DMA dan modul I/O terpisah
    • Setiap transfer harus mengakses bus 2 kali
  • Konfigurasi II
    • Hanya menggunakan single bus
    • DMA controller dan modul I/O terintegrasi
    • satu DMA controller dapat mengangani lebih dari 1 modu I/O
    • Setiap transfer hanya perlu mengakses bus satu kali saja
  • Konfigurasi III
    • digunakan bus I/O secara terpisah
    • semua modul I/O cukup dilayani dengan sebuah DMA
    • Setiap transfer hanya perlu mengakses bus satu kali saja