Jumat, 19 Desember 2014

Sistem BUS & ALU

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 buah komponen 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 SLOTS

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.


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.



                                                                                        INTERKONEKSI


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.
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 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 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 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.

Bus P1394 / Fire Wire : Semakin pesatnya kebutuhan bus I/O berkecepatan tinggi dan semakin cepatnya prosesor saat ini yang mencapai 1 GHz, maka perlu diimbangi dengan bus berkecepatan tinggi juga. Bus SCSI dan PCI tidak dapat mencukupi kebutuhan saat ini. Sehingga dikembangkan bus performance tinggi yang dikenal dengan FireWire (P1393 standard IEEE). P1394 memiliki kelebihan dibandingkan dengan interface I/O lainnya, yaitu sangat cepat, murah, dan mudah untuk diimplementasikan. Pada kenyataan P1394 tidak hanya popular pada system computer, namun juga pada peralatan elektronik seperti pada kamera digital, VCR, dan televise. Kelebihan lain adalah penggunaan transmisi serial sehingga tidak memerlukan banyak kabel.

ALU

ALU, singkatan dari Arithmetic And Logic Unit (bahasa Indonesia: unit aritmatika dan logika), adalah salah satu bagian dalam dari sebuahmikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. tugas utama dari ALU (Arithmetic And Logic Unit)adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder. Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=) (sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
Dodo Gans Lochhhh
Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain.




ARSITEKTUR SET INSTRUKSI DAN DESAIN SET INSTRUKSI


Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karna aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.

Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti darimana asal operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya) disebut pengalamatan

Pada beberapa mesin, semua instruksi memiliki panjang yang sama, pada mesin-mesin yang lain mungkin terdapat banyak panjang berbeda. Instruksi-instruksi mungkin lebih pendek dari, memiliki panjang yang sama seperti, atau lebih panjang dari panjang word. Membuat semua instruksi memiliki panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih mudah tetapi sering memboroskan ruang, karena semua instruksi dengan demikian harus sama panjang seperti instruksi yang paling panjang.

Di dalam sebuah instruksi terdapat beberapa elemen-elemen instruksi:

Operation code (op code)
Source operand reference
Result operand reference
Xext instruction preference
Format instruksi (biner):

Missal instruksi dengan 2 alamat operand : ADD A,B A dan B adalah suatu alamat register.

Beberapa simbolik instruksi:

ADD               : Add (jumlahkan)

SUB                : Subtract (Kurangkan)

MPY/MUL     : Multiply (Kalikan)

DIV                 : Divide (Bagi)

LOAD             : Load data dari register/memory

STOR              : Simpan data ke register/memory

MOVE             : pindahkan data dari satu tempat ke tempat lain

SHR                : shift kanan data

SHL                : shift kiri data .dan lain-lain

Cakupan jenis instruksi:

Data processing           : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT,    SHR, dsb);     konversidata

Data storage (memory)  : Transfer data (STOR, LOAD, MOVE, dsb)

Data movement              : Input dan Output ke modul I/O

Program flow control    : JUMP, HALT, dsb.

Bentuk instruksi:

-          Format instruksi 3 alamat

Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.

Contoh:
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
SUB Y, A, B              Y := A – B
MPY T, D, E               T := D × E
ADD T, T, C               T := T + C
DIV Y, Y, T               Y:= Y / T
Memerlukan 4 operasi

-          Format instruksi 2 alamat

Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y – B dan arti dalam bentuk penjelasan : kurangkan isi reg Y dengan isi reg B, kemudian simpan hasillnya di reg Y. bentuk bentuk format ini masih digunakan di computer sekarang, untuk mengoprasikan lebih sedikit register, tapi panjang program tidak bertambah terlalu banyak.

Contoh :
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
MOVE Y, A               Y := A
SUB Y, B                   Y := Y – B
MOVE T, D                T := D
MPY T, E                    T := T × E
ADD T, C                   T := T + C
DIV Y, T                    Y:= Y / T
Memerlukan 6 operasi

-          Format instruksi 1 alamat

Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B dan arti dalam bentuk penjelasan : kurangkan isi Acc dengan isi reg B, kemudian simpan hasillnya di reg Acc. bentuk bentuk format ini masih digunakan di computer jaman dahulu, untuk mengoprasikan di perlukan satu  register, tapi panjang program semakin bertambah.

Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
LOAD D                     AC := D
MPY E                        AC := AC × E
ADD C                       AC := AC + C
STOR Y                      Y := AC
LOAD A                     AC := A
SUB B                        AC := AC – B
DIV Y                                     AC := AC / Y
STOR Y                      Y := AC
Memerlukan 8 operasi

-          Format instruksi 0 alamat
Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik : S[top]:=S[top-1]-S[top] dan arti dalam bentuk penjelasan : kurangkan isi stack no2 dari atas dengan isi stack paling atas, kemudian simpan hasilnya di stack paling atas, untuk mengoprasikan ada beberapa instruksi khusus stack PUSH dan POP.

Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
PUSH A                      S[top] := A
PUSH B                      S[top] := B
SUB                            S[top] := A – B
PUSH C                      S[top] := C
PUSH D                      S[top] := D
PUSH E                      S[top] := E
MPY                           S[top] := D × E
ADD                           S[top] := C + S[top]
DIV                             S[top] := (A – B) /S[top]
POP Y                         Out := S[top]
Memerlukan 10 operasi

Set instruksi pada CISC:

Berikut ini merupakan karakteristik set instruksi yang digunakan pada beberapa computer yang memiliki arsitektur CISC

Perbandingan set instruksi

Beberapa computer CISC (Complex Instruction Set Computer) menggunakan cara implist dalam menentukan mode addressing pada setiap set instruksinya. Penentuan mode addressing dengan cara implicit memiliki arti bahwa pada set instruksi tidak di ada bagian yang menyatakan tipe dari mode addressing yang digunakan, deklarasi dari mode addressing itu berada menyatu dengan opcode. Lain hal nya dengan cara imsplisit, cara eksplisit sengaja menyediakan tempat pada set instruksi untuk mendeklarasikan tipe mode addressing. Pada cara eksplisit deklarasi opcode dan mode addressing berada terpisah.

Data pada tempat deklarasi mode addressing diperoleh dari logaritma basis dua jumlah mode addressing. Jika deklarasi mode addressing dilakukan secara implicit akan menghemat tempat dalam set instruksi paling tidak satu bit untuk IBM 3090 dan 6 bit untuk MC68040. Perubahan satu bit pada set instruksi akan memberikan jangkauan alamat memori lebih luas mengingat range memori dinyatakan oleh bilangan berpangkat dua.

ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI)

* Operation Code (opcode) : menentukan operasi yang akan dilaksanakan

* Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan

* Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan

* Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai. Source dan result operands dapat berupa salah satu diantara tiga jenis berikut ini:

Main or Virtual Memory
CPU Register
I/O Device
DESAIN SET INSTRUKSI

Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:

Kelengkapan set instruksi
Ortogonalitas (sifat independensi instruksi)
Kompatibilitas : – Source code compatibility – Object code Compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:

Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
Register: Banyaknya register yang dapat digunakan 4.Addressing: Mode pengalamatan untuk operand
FORMAT INSTRUKSI

* Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format).

OPCODE OPERAND REFERENCE OPERAND REFERENCE JENIS-JENIS OPERAND

* Addresses (akan dibahas pada addressing modes)
* Numbers : – Integer or fixed point – Floating point – Decimal (BCD)
* Characters : – ASCII – EBCDIC
* Logical Data : Bila data berbentuk binary: 0 dan 1

JENIS INSTRUKSI

* Data processing: Arithmetic dan Logic Instructions
* Data storage: Memory instructions
* Data Movement: I/O instructions
* Control: Test and branch instructions

TRANSFER DATA

* Menetapkan lokasi operand sumber dan operand tujuan.
* Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
* Menetapkan panjang data yang dipindahkan.
* Menetapkan mode pengalamatan.
* Tindakan CPU untuk melakukan transfer data adalah :
a. Memindahkan data dari satu lokasi ke lokasi lain.
b. Apabila memori dilibatkan :
1. Menetapkan alamat memori.
2. Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
3. Mengawali pembacaan / penulisan memori

Operasi set instruksi untuk transfer data :
* MOVE : memindahkan word atau blok dari sumber ke tujuan
* STORE : memindahkan word dari prosesor ke memori.
* LOAD : memindahkan word dari memori ke prosesor.
* EXCHANGE : menukar isi sumber ke tujuan.
* CLEAR / RESET : memindahkan word 0 ke tujuan.
* SET : memindahkan word 1 ke tujuan.
* PUSH : memindahkan word dari sumber ke bagian paling atas stack.
* POP : memindahkan word dari bagian paling atas sumber

ARITHMETIC

Tindakan CPU untuk melakukan operasi arithmetic :

Transfer data sebelum atau sesudah.
Melakukan fungsi dalam ALU.
Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan 5. ABSOLUTE
2. SUBTRACT : pengurangan 6. NEGATIVE
3. MULTIPLY : perkalian 7. DECREMENT
4. DIVIDE : pembagian 8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal. LOGICAL

* Tindakan CPU sama dengan arithmetic
* Operasi set instruksi untuk operasi logical :
1. AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.

CONVERSI

Tindakan CPU sama dengan arithmetic dan logical.
* Instruksi yang mengubah format instruksi yang beroperasi terhadap format data.
* Misalnya pengubahan bilangan desimal menjadi bilangan biner.
* Operasi set instruksi untuk conversi :
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi.
2. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.

INPUT / OUPUT

* Tindakan CPU untuk melakukan INPUT /OUTPUT :
1. Apabila memory mapped I/O maka menentukan alamat memory mapped.
2. Mengawali perintah ke modul I/O

* Operasi set instruksi Input / Ouput :
1. INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan
2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O
3. START I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan TRANSFER CONTROL

* Tindakan CPU untuk transfer control : Mengupdate program counter untuk subrutin , call / return.

* Operasi set instruksi untuk transfer control :
1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
2. JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
3. JUMP SUBRUTIN : melompat ke alamat tertentu.
4. RETURN : mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
5. EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi
6. SKIP : menambah PC sehingga melompati instruksi berikutnya.
7. SKIP BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan
8. HALT : menghentikan eksekusi program.
9. WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi
10. NO OPERATION : tidak ada operasi yang dilakukan.

CONTROL SYSTEM

* Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan dalam sistem operasi. * Contoh : membaca atau mengubah register kontrol.

JUMLAH ALAMAT (NUMBER OF ADDRESSES)

* Salah satu cara tradisional untuk menggambarkan arsitektur prosessor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya.
* Jumlah alamat maksimum yang mungkin diperlukan dalam sebuah instruksi :
1. Empat Alamat ( dua operand, satu hasil, satu untuk alamat instruksi berikutnya)
2. Tiga Alamat (dua operand, satu hasil)
3. Dua Alamat (satu operand merangkap hasil, satunya lagi operand)
4. Satu Alamat (menggunakan accumulator untuk menyimpan operand dan hasilnya)

Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan
1. O – Address Instruction
2. 1 – Addreess Instruction.
3. N – Address Instruction
4. M + N – Address Instruction

Macam-macam instruksi menurut sifat akses terhadap memori atau register
1. Memori To Register Instruction
2. Memori To Memori Instruction
3. Register To Register Instruction

ADDRESSING MODES

Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum:
* Immediate
* Direct
* Indirect
* Register
* Register Indirect
* Displacement
* Stack



Jumat, 17 Oktober 2014

STRUKTUR DASAR KOMPUTER DAN ORGANISASI KOMPUTER

Nama: Ari Rindra Nugroho
Kelas: 4IB01A


Struktur Dasar Komputer 

Memory

Memori (atau lebih tepat disebut memori fisik) merupakan istilah generik yang merujuk pada media penyimpanan data sementara pada komputer. Setiap program dan data yang sedang diproses oleh prosessor akan disimpan di dalam memori fisik. Data yang disimpan dalam memori fisik bersifat sementara, karena data yang disimpan di dalamnya akan tersimpan selama komputer tersebut masih dialiri daya (dengan kata lain, komputer itu masih hidup). Ketika komputer itu direset atau dimatikan, data yang disimpan dalam memori fisik akan hilang. Oleh karena itulah, sebelum mematikan komputer, semua data yang belum disimpan ke dalam media penyimpanan permanen (umumnya berbasis disk, semacam hard disk atau floppy disk), sehingga data tersebut dapat dibuka kembali di lain kesempatan. Memori fisik umumnya diimplementasikan dalam bentuk RAM, yang bersifat dinamis (DRAM). Mengapa disebut Random Access, adalah karena akses terhadap lokasi-lokasi di dalamnya dapat dilakukan secara acak (random), bukan secara berurutan (sekuensial). Meskipun demikian, kata random access dalam RAM ini sering menjadi salah kaprah. Sebagai contoh, memori yang hanya dapat dibaca (ROM), juga dapat diakses secara random, tetapi ia dibedakan dengan RAM karena ROM dapat menyimpan data tanpa kebutuhan daya dan tidak dapat ditulisi sewaktu-waktu. Selain itu, harddisk yang juga merupakan salah satu media penyimpanan juga dapat diakses secara acak, tapi ia tidak digolongkan ke dalam Random Access Memory.
Memory terbagi 2 yaitu : ROM (Read Only Memory) dan RAM (Random Acces Memory).
·         ROM (Read Only Memory)

ROM adalah Memory yang hanya dapat di baca, tidak dapat di hapus dan sudah di isi oleh pabrik pembuat komputer (Tidak bisa di setting kembali). Perintah pada ROM sebagian akan di pindahkan ke RAM pada saat komputer mulai dinyalakan.
Perintah yang ada di ROM antara lain adalah :
Ø  Perintah untuk membaca Sistem Operasi dari disk.
Ø  Perintah untuk mengecek semua peralatan yang ada di Unit Sistem.
Ø  Perintah untuk menampilkan pesan di layar

PROM (Programble ROM) : ROM yang bisa di program kembali dengan catatan hanya bisa di program 1 x.
RPROM (Re-Programble ROM) : ROM yang bisa di program ulang sesuai dengan yang kita inginkan.
EPROM (Eraseble Programble ROM) : ROM yang dapat di hapus dan di program kembali tetapi cara penghapusannya dengan menggunakan Sinar Ultraviolet.
EEPROM (Electrically Eraseble Programble ROM) : ROM yang bisa di program dengan Teknik Elektronik.
·         RAM (Random Acces Memory)

RAM adalah Memory tempat Penyimpanan sementara pada saat komputer di jalankan dan dapat di acces secara acak atau random. Fungsi dari RAM adalah mempercepat Pemprosesan data pada komputer. Semakin besar RAM yang Anda miliki, semakin cepatlah Komputer yang Anda miliki.

Ø  EDORAM (Extended Data Out RAM)
EDO-RAM memiliki fungsi seperti RAM, akan tetapi jenis ini mempunyai kemampuan kerja sangat tinggi dan cepat dalam membaca dan mentransfer data.
Bentuk EDO-RAM adalah SIMM (Single Inline Memory Module). Slot memori pada motherboard yang memiliki 72pin.

Ø  SDRAM (Synchronous Dynamic RAM)
SDRAM adalah memori yang dapat mengases data atau informasi lebih cepat dari EDO-RAM. Bentuk SDRAM adalah DIMM (Dual Inline Memory Module). Slot memori pada motherboard 168pin.

Ø  DDR SDRAM (Double Data Rate Synchronous Dynamic RAM)
DDR SDRAM adalah tipe memori generasi penerus SDRAM, yang memiliki kemampuan dua kali lebih cepat dari SDRAM. Slot memori yang digunakanDDR SDRAM memiliki jumlah pin lebih banyak dari SDRAM, yaitu184pin.

Ø  RDRAM (Rambus Dynamic RAM)
RDRAM adalah sebuah memori berkecepatan tinggi, digunaan untuk mendukung prosesor Pentium 4.tipe RDRAM menggunakan slot RIMM,yang mirip dengan slot SDRAM.

CPU
Central processing unit (CPU) dari sebuah komputer adalah bagian dari hardware yang melaksanakan instruksi dari program komputer. Ia melakukan aritmatika, logis, dan operasi input / output dasar dari sebuah sistem komputer. CPU adalah seperti otak dari komputer – setiap instruksi, tidak peduli seberapa sederhana, harus melalui CPU. Jadi katakanlah Anda menekan huruf ‘k’ pada keyboard Anda dan muncul di layar – CPU komputer Anda adalah apa yang membuat ini mungkin. CPU kadang-kadang disebut sebagai unit pusat prosesor, atauprosesor untuk singkatnya. Jadi, ketika Anda melihat spesifikasi komputer di toko elektronik lokal Anda, biasanya mengacu pada CPU sebagai prosesor.

Control Unit
Control Unit (CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.

Tugas CU adalah :
Ø  Mengatur dan mengendalikan alat-alat input dan output.
Ø  Mengambil instruksi-instruksi dari memori utama.
Ø  Mengambil data dari memori utama kalau diperlukan oleh proses.
Ø  Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja. Menyimpan hasil proses ke memori utama.


ALU (Arithmatic and Logic Unit) 
 Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. Melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program.   


Register
Register tidak dapat dilepaskan dari mikroprosessor, sebab pada mikroprosessor terdapat register yang berfungsi untuk menyimpan sementara hasil dari tahapan operasi arithmetika dan logika pada mikroprosessor. Register dalam bahasa rakitan menggunakan real mode memory yang sesuai dengan mikroprosessor Intel generasi 8088 s/d Pentium.
Register yang terdapat pada mikroprosessor Intel terdiri dari :
·         General purpose register (register serbaguna)
·         Pointer register (register pointer)
·         Index register (register indeks)
·         Segment register (register segment)
·         Flag register (register status).

Semua register di atas lebarnya 32 bit, kecuali register segment (CS, DS, ES, SS, FS dan GS) hanya 16 bit. Register 32 bit dapat digunakan sebagai register 16 bit, kecuali register General purpose register dapat dibagi menjadi 8 bit (AL,AH, BL, BH, CL, CH, DL dan DH) yang berasal dari 16 bit (AX, BX, CX, DX). Register 32 bit diberi kode di depan register dengan E misalnya: EAX, EBX, ECX dan EDX.

BUS

Data Bus Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel. 

Address Bus 
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data.
Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel. 

 Control Bus 
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address
Bus. Terdiri atas 4 samapai 10 jalur paralel. 


Organisasi Komputer


ORGANISASI KOMPUTER DASAR


A.                KOMPONEN SISTEM


Sebuah komputer moderen/digital dengan program yang tersimpan di dalamnya merupakan sebuah system yang memanipulasi dan memproses informasi menurut kumpulan instruksi yang diberikan. Sistem tersebut dirancang dari modul-modul hardware seperti :
    1. Register
    2. Elemen aritmatika dan logika
    3. Unit pengendali
    4. Unit memori
    5. Unit masukan/keluaran (I/O)

Komputer dapat dibagi menjadi 3 bagian utama, yaitu :
1.      Unit pengolahan pusat (CPU)
2.      Unit masukan/keluaran (I/O)
3.      Unit memori

CPU mengendalikan urutan dari semua pertukaran informasi dalam komputer dan dengan dunia luar melalui unit I/O. Sedangkan unit memori terdiri dari sejumlah besar lokasi yang menyimpan program dan data yang sedang aktif digunakan CPU. Ketiga unit tersebut dihubungkan dengan berbagai macam bus.


·         Bus adalah sekelompok kawat atau sebuah jalur fisik yang berfungsi menghubungkan register-register dengan unit-unit fungsional yang berhubungan dengan tiap-tiap modul. Informasi saling dipertukarkan di antara modul dengan melalui bus.


B.                 OPERASI MIKRO

Adalah operasi tingkat rendah yang dapat dilakukan oleh komputer atau CPU sehingga fungsi-fungsi operasi akan dihasilkan untuk memindahkan data antar register.

Salah satu cara dalam melakukan operasi mikro tersebut dengan menggunakan bahasa transfer register / Register Transfer Language (RTL).

RTL adalah sebuah bahasa yang digunakan untuk menjabarkan atau melaksanakan operasi mikro.

Untuk mengungkapkan bahasa RTL ini dapat digunakan notasi RTL yang merupakan aturan penulisan pemberian instruksi RTL. Contoh notasi tersebut antara lain :

·               Notasi RTL untuk mentransfer isi register A ke B



B                              (A)
 

                                        Isi dari register A


·               Notasi RTL untuk mentransfer bagian-bagian dari register (field). Sebuah field pada sebuah register dinotasikan dengan menggunakan tanda kurung.
Field AD di register IR ditransfer ke register PC

PC                            (IR[AD])



·               Notasi RTL untuk mentransfer field AD dari register IR ke register PC

R1 [0..3]                           (X)

              Isi register X ditransfer ke bit 0 sampai 3 pada register R1, yang berari X mempeunyai panjang bit adalah 4
Selain itu, dapat juga dipakai konstanta pada sisi sebelah   kanan tanda panah.

                        L                            5

       Artinya simpan nilai 5 pada register L

·               Notasi RTL untuk menggambarkan berbagai macam operasi-mikro Aritmatika.

A3                   (A1) + (A2)
             
Artinya isi register A1 dan A2 dijumlahkan dengan menggunakan sirkuit adder biner dan hasil jumlahnya ditransfer ke register A3.
Namum apabila dilakukan pengulangan penjumlahan akan menyebabkan overflow dan untuk menampung overflow tersebut digunakan register 1-bit yaitu V sebagai register overflow serta pelengkap A3.


VA3                   (A1) + (A2)


Contoh operasi aritmatika lainnya :


A                      (A) + 1          ; increment isi A oleh 1
A                      (A) - 1           ; decrement isi A oleh 1
A                      (A)                      ; menurunkan  komplemen A
A                      (A) + B +1     ; lakukan A – B dengan menambahkan komplemen 2’s ke A



·               Notasi RTL untuk menggambarkan berbagai macam operasi-mikro Logika.


C                     (A) OR (B)
            
              Artinya bahwa logika OR dari sis register A dan B ditransfer ke register C. Begitu juga dengan operasi AND

C                     (A) AND (B)


·               Notasi RTL untuk menggambarkan transfer data ke dan dari word memori.
Dalam RTL, unit memori utama pada komputer dianggap sebagai M dan menulis word ke-i dalam memori menjadi M[i].
Proses pembacaan memori (memory read) adalah :

 B                           (M[A])

                  Proses penulisan memori (memory write) adalah :


(M[A])                          B                    

artinya word memori yang alamatnya ditunjukkan oleh register A ditransfer ke atau dari register B dalam CPU.

·               Notasi RTL digunakan untuk transfer register hanya pada kondisi tertentu, hal tersebut dilakukan dengan 2 cara :
    1. Menggunakan pernyataan kondisi logika (logical condition)


IF (V) > (W) THEN Q                   0

                        Men-set 0 ke register Q hanya jika nilai register V lebih besar dari nilai register W.
                        Note :
                        Pernyataan kondisi logikal hanya didefinisikan untuk IF – THEN dan tidak untuk ELSE.


    1. Menggunakan pernyataan kondisi pengendalian (control condition)

 t0 (c1 + c2) : X                       (Y)
                       
                        dengan metode ini, kondisinya merupakan fungsi logikal dari variabel biner yang mengatur input register.

                        Fungsi-fungsi ini dijabarkan disebelah kiri dari operasi transfer register dan diikuti oleh tanda titik dua.
                        Keterangan contoh di atas :
                        Isi Y dipindahkan ke X hanya jika t0 bernilai 1 dan salah satu c1 atau c2 juga bernilai 1
                        Namun jika kondisi tertentu adalah 0, simbol utama (‘) harus digunakan sehingga pernyataan RTL – nya adalah :

t’0 (c1 + c2) : X           (Y)

maka transfer hanya akan terjadi jika t0 bernilai 0 dan salah satu c1 atau c2 juga bernilai 1.



SIC (SIMPLIFIED INSTRUCTIONAL COMPUTER)


Komputer yang didasarkan pada SIC ini merupakan komputer yang termasuk dalam perancangan arsitektur yang sangat sederhana dan komputer ini dipersembahkan oleh BECK (1985).

Struktur Mesin SIC terdiri dari :
  1. CPU
  2. Unit memori
  3. Minimal satu unit prinati I/O


Untuk CPU yang digunakan terdiri dari 13 register khusus, seperti yang ada pada table di bawah ini.


NO
REGISTER
UKURAN (bit)
NAMA
1
A
24
Accumulator
2
X
15
Register Index
3
L
15
Register Linkage
4
PC
15
Program Counter
5
IR
24
Instruction Register
6
MBR
24
Memori Buffer Register
7
MAR
15
Memori Address Register
8
SW
11
Status Word
9
C
2
Counter
10
INT
1
Interrupt Flag
11
F
1
Fetch Cycle Flag
12
E
1
Execute Cycle Flag
13
S
1
Start / Stop Flag



Format instruksi pada mesin SIC :

                   23                      161514                      0
OP
IX
AD

Keterangan :

OP = OPCODE 8 bit yang menerangkan operasi-mikro yang akan dijalankan
IX = flag indeks yang menunujukkan mode pengalamatan yang harus digunakan
AD = alamat untuk memori operand 15 bit
  • Pengalamatan langsung (direct addressing) yaitu operand disimpan di dalam M[AD]
  • Pengalamatan berindeks (index addressing) yaitu operand disimpan di dalam M[AD = (X)] dengan bit IX bernilai 1


Penggunaan register-register pada SIC 


  1. Register A = register yang digunakan untuk proses perhitungan
  2. Register X = register yang digunakan untuk mode pengalamatan berindex
  3. Register PC = register  yang menyimpan alamat instruksi berikutnya
  4. Register L = register yang menyimpan alamat asal sebelum melakukan subroutines
  5. Register IR = register  yang menyimpan instruksi yang sedang dikerjakan
  6. Register MBR = register yang digunakan untuk proses masukan atau keluaran data dari memori
  7. Register MAR = register yang menyimpan alamat memori untuk proses pembacaan atau penulisan
  8. SW = register yang berisi informasi status relatif terhadap instruksi sebelumnya
  9. C = register yang membangkitkan signal waktu t0, t1, t2, t3
  10. INT = register yang menentukan apakah signal interrupt telah diterima
  11. F = register yang digunakan dalam proses”siklus fetch’
  12. E = register khusus yang digunakan dalam proses “siklus eksekusi’
  13. S = register yang akan mengaktifkan register C



Kumpulan Instruksi SIC


Ada 21 instruksi SIC yang digunakan, dimana pada instruksi ini m menunjukkan address memori dari operand dan (m) menunjukkan nilai yang disimpan pada address memori tersebut. Opcode instruksinya ditulis dalam notasi heksadesimal.
·         JSUB dan RSUB merupakan dua instruksi yang berhubungan dengan subrutin. JSUB menyimpan PC saat ini ke L dan kemudian melompat ke subrutin dengan menyimpan operand ke PC. RSUB kembali dari subrutin dengan melompat ke lokasi yang dinyatakan oleh L.
·         Instruksi TD digunakan untuk menguji piranti I/O sebelum berusaha untuk membaca dari atau menulis ke piranti tersebut.Hasil pengujian tersebut disimpan di dalam kode kondisi (condition code), field CC, pada SW. Panjang field ini 2 bit dan digunakan untuk mewakili salah satu dari tiga nilai <, =, >
Jika instruksi TD dijalankan, nilai field CC aka di-set menurut kode berikut :

< menunjukkan bahwa piranti telah siap
= menunjukan bahwa piranti sedang sibuk dan tidak dapat digunakan pada saat itu
> menunjukkan bahwa piranti tidak beroperasi 

·       Instruksi COMP digunakan juga untuk men-set field CC. Nilai yang disimpan field CC setelah sebuah instruksi COMP setelah sebuah instruksi COMP menggambarkan hubungan antara A dan operand instruksi
·       Instruksi IRT digunakan oleh interrupt handler agar menyebabkan lompatan kembali ke tempat dimana CPU berada sebelum intrupsi terjadi.
Jika interupsi terjadi, CPU akan menyimpan PC saat ini ke dalam memori pada address 0.
Untuk kembali dari sebuah interupsi , isi dari alamat memori ini harus di-load kembali ke dalam PC. 
·       Instruksi-instruksi lainnya adalah operasi aritmatika dan logika, transfer dari pengendalian(jump), loading register, storing register atau membaca dan menulis ke piranti I/O.

Sumber: