Senin, 24 November 2014

CPU : SYSTEM BUS DAN ALU



Pengertian Sistem Bus 
Bus adalah Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal ,digunakan untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus adalah 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 2 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. 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 dari beberapa komponen penting seperti CPU, memori, perangkat Input/Output. setiap computer saling berhubungan membentuk kesatuan fungsi. Sistem bus adalah  sebagai penghubung bagi keseluruhan komponen komputer 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 sistem bus. Pada sistem komputer yang lebih modern, arsitektur komputernya  akan  lebih kompleks, sehingga dapat 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.
Karakteristik Bus adalah :
1.    Jumlah Interupsi Menentukan banyak perangkat independen yang melakukan I/O.
2.    Ukuran bus data eksteral berakibat pada kecepatan operasional I/O.
3.    Ukuran bus alamat menentukan banyak memori yang ditunjuk board ekspansi.
4.    Kecepatan clock maksimum yang dapat diakomadasi bus berakibat pada kinerja.
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 Bus
1.   Bus Data
Jalur data yang dilalu informasi ke dan dari  mikroprosesor data bus. Adalah jalurjalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masingmasing 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. 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. 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, jumlah saluran diartikan dengan lebar bus data.
2.   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. 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. Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel. Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port input/outoput
3.   Control Bus
Digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. 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. Terdiri atas 4 samapai 10 jalur paralel.

Pengertian ALU (Arithmatic Logical Unit)
Arithmatic Logical Unit (ALU), adalah komponen dalam sistem komputer yang berfungsi melakukan operasi perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di simpan ke dalam memori. Adapun alur proses dari ALU yang ditunjukan oleh gambar dibawah ini:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimxxLipEfL2dXpSh0hrGzQHoV8ECZM-ofRVY3ui06MLeNIsiZnJdBaEhguVaUKIzE2o6iMHNbOLW23fdSBITuemcjfi71KXfnEsaaXg58qtIuiABxAJd3NhIB9lrZsYfCJKFj111fgBr0/s1600/alu_sch.gif
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner two’s complement. ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori. Processor terdiri dari  4 elemen yang melakukan sistem operasi terhadap data, 4 elemen itu adalah instruksi, petunjuk instruksi, beberapa register dan ALU (Arithmetic Logic Unit). Adalah sebuah petunjuk instruksi akan memberi tahu processor dimana instruksi dari sebuah aplikasi diletakkan di memori.
Penjelasan Cara processor melakukan tugas :
Penunjuk instruksi mengarahkan fetch instruksi ke sebuah spot di memori yang menampung sebuah instruksi. Fetch kemudian membaca instruksi tersebut dan memberikannya ke dekoder instruksi, kemudian mengamati instruksi tersebut dan menentukan langkah selanjutnya untuk melengkapi instruksi tersebut. Kemudian ALU mengerjakan perintah yang diminta instruksi seperti : menambah data, membagi data, atau memanipulasi data yang ada. Setelah itu processor akan menerjemahkan dan mengerjakan instruksi, unit kontrol memberitahukan fetch instruksi untuk menangkap instruksi berikutnya di memori. Proses akan ini berlangsung terus menerus, dari satu instruksi ke instruksi berikutnya, dalam suatu langkah yang rumit, untuk menciptakan hasil yang diingikan dan dapat dilihat di monitor. Untuk meyakinkan semua itu berjalan dalam satu kesatuan waktu, bagian itu memerlukan suatu clock generator. Clock generator meregulasi setiap langkah yang dikerjakan processor. Seperti sebuah metronome, sebuah clock generator mengirim pulsa-pulsa elektrik untuk menentukan langkah yang harus dikerjakan processor. Pulsa tersebut diukur dalam jutaan langkah per detik, atau megahertz, yang dikenal sebagai ukuran kecepatan processor. Semakin banyak pulsa dibuat, semakin cepat kerja processor.
Untuk meningkatkan kinerja komputer, pembuat chip processor menempatkan sebuah Arithmetic Logic Unit (ALU) di dalam processor. Secara teoritis ini berarti pemrosesan dapat dilakukan dua kali lebih cepat dalam satu langkah. Sebagai tambahan multiple ALU, kemudian diintegrasikan Floating Point Unit ke dalam processor. FPU ini menangani angka dari yang paling besar hingga yang paling kecil (yang memiliki banyak angka di belakang koma). Sementara FPU menangani kalkulasi semacam itu, ALU menjadi bebas untuk melakukan tugas lain dalam waktu yang bersamaan, untuk meningkatkan kinerja. Processor menambah kecepatan pemrosesan instruksi dengan melakukan pipelining instruksi, atau menjalankan instruksi secara paralel satu dengan yang lainnya. Eksekusi dari sebuah instruksi memerlukan langkah yang terpisah, contoh : fetching dan dekoding sebuah instruksi. Processor harus menyelesaikan sebuah instruksi secara keseluruhan sebelum melanjutkan ke instruksi berikutnya. Sekarang sirkuit yang berbeda menangani langkah yang terpisah tersebut. Begitu sebuah instruksi telah selesai dalam satu langkah untuk dilanjutkan ke langkah berikutnya, transistor yang mengerjakan langkah pertama bebas untuk mengerjakan instruksi berikutnya, sehingga akan mempercepat kerja pemrosesan. Sebagai tambahan untuk meningkatkan kinerja processor adalah dengan memprediksi cabang-cabang instruksi, yaitu memperkirakan lompatan yang akan dilakukan sebuah program dapat dilakukan; eksekusi secara spekulatif, yaitu mengeksekusi cabang instruksi yang ada di dapat; dan penyelesaian tanpa mengikuti urutan, yakni kemampuan untuk menyelesaikan sebuah seri instruksi tidak berdasarkan urutan normal.

http://ikhsan-ms.blogspot.com/2014/10/alu-dan-sistem-bus.html
www.gunadarma.ac.id

Minggu, 23 November 2014

ARSITEKTUR 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:
  1. Operation code (op code)
  2. Source operand reference
  3. Result operand reference
  4. 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:
  1. Kelengkapan set instruksi
  2. Ortogonalitas (sifat independensi instruksi)
  3. Kompatibilitas : – Source code compatibility – Object code Compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
  1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
  2. Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
  3. 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 :
  1. Transfer data sebelum atau sesudah.
  2. Melakukan fungsi dalam ALU.
  3. 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

Sumber :
http://ekofitriyanto.wordpress.com/2013/10/30/177/
www.gunadarma.ac.id

Kamis, 16 Oktober 2014

STRUKTUR DASAR DAN ORGANISASI KOMPUTER

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 merupakan bagian fungsional yang utama dari sebuah sistem komputer, dapat dikatakan bahwa CPU merupakan otak dari sebuah komputer. Di dalam CPU inilah semua kerja komputer dilakukan.
Hal-hal yang perlu dilakukan CPU adalah:

1. Membaca, mengkodekan dan mengeksekusi instruksi program
2. Mengirim data dari dan ke memori, serta dari dan ke bagian input/output.
3. Merespon interupsi dari luar.

MEMORI Adalah bagian fungsional komputer yang berfungsi untuk menyimpan program dan data.

• RAM (Random Access Memory)

Adalah memori yang dapat dibaca atau ditulisi. Data dalam sebuah RAM bersifat volatile, artinya data akan terhapus bila catu daya dihilangkan. Karena sifat RAM yang volatile ini, maka program computer tidak tersimpan di RAM. RAM hanya digunakan untuk mcnyimpaii data seinantara, yang ticlak begilu vital saal aliran daya terpiilus.

• ROM (Read Only Memory)

adalah memori yang hanya dapat dibaca. Data yang tersimpan dalam ROM bersifat non-volatile, artinya data tidak akan lerhapus meskipun catu daya IcrpuWis. Kaicna sil’alnya yang dcinikiaii, maka ROM dipergunakan untuk menyimpan program. Ada beberapa tipe ROM, diantaranya ROM murni, PROM, dan EPROM.
Untuk lebih memahami konsep komputer anda bisa perhatikan strktur organisasi komputer berikut penjelasannya :


1. Input Device (Alat Masukan)
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer

2. Output Device (Alat Keluaran)
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.

3. I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan output di atas terhubung melalui port ini.

4. CPU (Central Processing Unit)
PU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit) sebagai pengontrol kerja komputer.

5. Memori
Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read Only Memory) yaitu memori yang haya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.

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

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

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

CARA KERJA SISTEM KOMPUTER:
Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage). apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.

CARA KERJA KOMPUTER
a. Pemrosesan

Sebuah CPU atau singkatan dari Unit Pemproses Pusat dalam bahasa inggrisnya central processing unit, bertugas untuk memproses arahan, melakukan pengiraan dan mengatur lalu lintas informasi menerusi system komputer. Unit atau perangkat pemprosesan juga akan melakukan komunikasi dengan perangkat input, output dan penyimpanan untuk melaksanakan arahan-arahan yang berkaitan.

Di dalam arsitektur milik bapak von Neumann yang asli, ia telah menjelaskan tentang sebuah Unit Aritmatika dan Logika, serta sebuah Unit Kontrol. Pada komputer modern, kedua unit ini terletak dalam satu sirkuit terpadu yaitu IC atau Integrated Circuit, yang juga dinamakan CPU atau Central Processing Unit.

Apakah yang dimaksud dengan Unit Aritmatika dan Logika, atau Arithmetic Logic Unit (ALU)? Unit Aritmatika dan Logika, atau Arithmetic Logic Unit (ALU) adalah alat yang melakukan tugas dasar seperti tugas aritmatika (penjumlahan, pengurangan, dan semacamnya), tugas logis (and, or, not), dan pelaksanaan perbandingan (contohnya, membandingkan isi sebanyak dua slot untuk kesetaraan). Pada unit inilah dilakukan “kerja” yang nyata.

Unit kontrol menyimpan perintah yang dilakukan oleh komputer, memerintahkan ALU untuk melaksanaan dan mendapat kembali informasi (dari memori) yang diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali hasil ke lokasi memori yang sesuai. Sekali yang terjadi, unit kontrol pergi ke perintah berikutnya.

b. Input dan Hasil
I/O mengizinkan komputer memperoleh informasi dari dunia luar, dan meletakkan hasil pekerjaannya di sana, dapat berbentuk fisik atau non fisik. Ada berbagai macam alat I/O, dari yang akrab ditelinga kita seperti keyboard, monitor dan hardisk, ke yang lebih tidak biasa misalnya adalah webcam (kamera web), mesin printer, mesin scanner, dan lain lain.
Yang dipunyai oleh semua alat masukan biasa adalah bahwa mereka merubah informasi dari suatu macam ke dalam data yang bisa diolah lebih lanjut oleh sistem komputer digital. Alat output, merubah data ke dalam informasi yang dapat dimengerti oleh pemakai komputer. Dalam pengertian ini, sistem komputer digital ialah contoh dari sistem pengolah data.

c. Instruksi / perintah
Perintah atau instruksi yang dibahas seperti judul di atas adalah tidak perintah kaya bahasa manusiawi. Komputer hanya mempunyai jumlah yang terbatas perintah sederhana yang dirumuskan dengan baik. Perintah biasa yang dipahami kebanyakan komputer ialah misalnya “melakukan penyalinan isi sel 456, dan tempat tiruan di sel 789?, menambahkan isi sel 888 ke sel 063, dan tempat akibat di sel 024?, dan “jika isi sel 777 adalah 0, perintah berikutnya anda di sel 456?.
Perintah atau Instruksi dimulai dalam komputer sebagai nomor – kode untuk “menyalin” mungkin menjadi 001, misalnya. Suatu himpunan perintah khusus yang didukung oleh komputer tertentu diketahui sebagai bahasa mesin komputer. Dalam prakteknya, orang biasanya tidak menulis perintah untuk komputer secara langsung di bahasa mesin tetapi memakai bahasa pemrograman “tingkat tinggi” yang kemudian diterjemahkan ke dalam bahasa mesin secara otomatis oleh program komputer khusus (interpreter dan kompiler). Beberapa bahasa pemrograman berhubungan erat dengan bahasa mesin, seperti assembler (bahasa tingkat rendah); di sisi lain, bahasa seperti Prolog didasarkan pada prinsip abstrak yang jauh dari detail pelaksanaan sebenarnya oleh mesin (bahasa tingkat tinggi).

d. Arsitektur
Komputer kontemporer meletakkan ALU dan juga unit kontrol ke dalam satu sirkuit terpadu yang dikenal sebagai Central Processing Unit (CPU). Biasanya, memori komputer ditempatkan di atas beberapa sirkuit terpadu yang kecil dekat CPU. Alat yang menempati sebagian besar ruangan dalam komputer adalah ancilliary sistem (misalnya, untuk menyediakan tenaga listrik) atau alat I/O.

Beberapa komputer yang lebih besar berbeda dari model di atas di satu hal utama – mereka mempunyai beberapa CPU dan unit kontrol yang bekerja secara bersamaan. Terlebih lagi, beberapa komputer, yang dipakai sebagian besar untuk maksud penelitian dan perkomputeran ilmiah, sudah berbeda secara signifikan dari model di atas, tetapi mereka sudah menemukan sedikit penggunaan komersial.

Fungsi dari komputer secara prinsip sebenarnya cukup sederhana. Komputer mencapai perintah dan data dari memorinya. Perintah dilakukan, hasil disimpan, dan perintah berikutnya dicapai. Ulang prosedur ini sampai komputer dimatikan.

e. Program

Program komputer merupakan daftar perintah yang besar untuk dilakukan oleh komputer. Banyak program komputer berisi jutaan perintah, dan banyak dari perintah itu dilakukan berulang kali. Suatu Komputer modern yang umum dapat mengerjakan sekitar dua sampai tiga milyar perintah dalam satu detik. Komputer tidak mendapat kemampuan luar biasa, mereka lewat kemampuan untuk melakukan perintah kompleks.

Tetapi, mereka melakukan jutaan perintah sederhana yang diatur oleh orang yang disebut (programmer). [Programmer Baik mengembangkan set-set perintah untuk melakukan tugas biasa sebagai contoh, menggambar titik di layar dan lalu membuat set-set perintah itu tersedia kepada programmer lain]. Saat ini, kebanyakan komputer melakukan beberapa program sekaligus.
Ini biasanya diserahkan ke sebagai multitasking. CPU melakukan perintah dari satu program, kemudian setelah beberapa saat, CPU beralih ke program kedua dan melakukan beberapa perintahnya.

f. Sistem Operasi

Sistem operasi merupakan semacam gabungan dari potongan kode yang berguna. Ketika semacam kode komputer dapat dipakai secara bersama oleh bermacam-macam program komputer, kemudian setelah bertahun-tahun, programer akhirnya memindahkannya ke dalam sistem operasi.

Sistem operasi, dapat menentukan program man yang dijalankan, kapan, dan alat mana “seperti memori atau I/O” yang mereka pakai. Sistem operasi juga memberikan pelayanan kepada program lain, seperti kode “driver” yang mengizinkan seorang programer untuk menulis program untuk suatu mesin tanpa perlu mengetahui detail dari semua alat elektronik yang berhubungan.


http://antmountain.blogspot.com/2012/01/struktur-dasar-dan-organisasi-komputer.html

www.gunadarma.ac.id

ARSITEKTUR KOMPUTER

PENGERTIAN ARSITEKTUR KOMPUTER
Arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cacheRAMROMcakram keras, dll).

Tingkatan Dalam Arsitektur Komputer
Ada sejumlah tingkatan dalam konstruksi dan organisasi sistem komputer. Perbedaan paling sederhana diantara tingkatan tersebut adalah perbedaan antara hardware dan software.
Tingkatan Dasar Arsitektur Komputer
Pada tingkatan ini Hardware sebagai tingkatan komputer yang paling bawah dan paling dasar, dimana pada hardware ini “layer” software ditambahkan. Software tersebut berada di atas hardware, menggunakannya dan mengontrolnya. Hardarwe ini mendukung software dengan memberikan atau menyediakan operasi yang diperlukan software.
Multilayerd Machine
Tingkatan dasar arsitektur komputer kemudian dikembangkan dengan memandang sistem komputer keseluruhan sebagai “multilayered machine” yang terdiri dari beberapa layer software di atas beberapa layer hardware.

1.       CPU (Central processing Unit), yang mengendalikan semua unit sistem komputer yang lain dan mengubah input menjadi output.
§  Primary storage (penyimpanan primer), berisi data yang sedang diolah dan program
§  Control unit (unit pengendalian), membuat semua unit bekerja sama sebagai suatu sistem
§  Aritmatika and logical Unit, tempat berlangsungnya operasi perhitungan matematika dan logika
2.      Unit Input, memasukkan data ke dalam primary storage
3.      Secondary storage (penyimpanan sekunder), menyediakan tempat untuk menyimpan program dan data saat tidak digunakan
4.      Unit Output, mencatat hasil pengolahan

PERALATAN INPUT
Perangkat input merupakan peralatan yang dapat digunakan untuk menerima data yang akan diolah ke dalam komputer. Perangkat ini yang digunakan oleh pengguna untuk melakukan interaksi dengan komputer agar komputer melaksanakan perintah yang diberikan oleh penggunanya. Prinsip kerja yang dilakukan perangkat input adalah merubah perintah yang dapat dipahami oleh manusia kepada bentuk yang dipahami oleh komputer (machine readable form), ini berarti mengubahkan perintah dalam bentuk yang dipahami oleh manusia kepada data yang dimengerti oleh komputer yaitu dengan kode-kode binary (binary encoded information).

PEMROSESAN PUSAT DAN PENYIMPANAN SEKUNDER
CPU atau satuan merupakan tempat pemrosesan instruksi-instruksi program. Pada komputer mikro, processor ini disebut  microprocessor. CPU terdiri dari dua bagian utama, yaitu unit kendali ( control unit) dan unit Aritmatika dan logika (arithmethic logic unit). Disamping dua bagian utama tersebut, CPU mempunyai beberapa simpanan yang berukuran kecil yang disebut register.
Penyimpanan sekunder (secondary storage)
Penyimpanan sekunder (juga dikenal sebagai memori eksternal atau penyimpanan tambahan), berbeda dari penyimpanan utama dalam hal itu tidak langsung dapat diakses oleh CPU. Komputer biasanya menggunakan input / saluran output untuk mengakses penyimpanan sekunder dan transfer data yang diinginkan dengan menggunakan daerah menengah dalam penyimpanan utama. Penyimpanan sekunder tidak kehilangan data bila perangkat dimatikan-itu adalah non-volatile. Per unit, itu biasanya juga dua lipat lebih murah dari penyimpanan utama. Akibatnya, sistem komputer modern biasanya memiliki dua perintah besarnya lebih penyimpanan sekunder dari penyimpanan primer dan data disimpan untuk waktu yang lebih lama disana.

PERALATAN OUTPUT
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.
Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Tiga golongan pertama adalah output yang dapat digunakan langsung oleh manusia, sedangkan golongan terakhir biasanya digunakan sebagai input untuk proses selanjutnya dari komputer.
Peralatan output dapat berupa:
§  Hard-copy device, yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.
§  Soft-copy device, yaitu alat yang digunakan untuk menampilkan tulisan dan imagepada media lunak yang berupa sinyal elektronik.

§  Drive device atau driver, yaitu alat yang digunakan untuk merekam simbol dalam bentuk yang hanya dapat dibaca oleh mesin pada media seperti magnetic disk atau magnetic tape. Alat ini berfungsi ganda, sebagai alat output dan juga sebagai alat input.

http://muhamadsyani.wordpress.com/2012/12/28/arsitektur-komputer/
www.gunadarma.ac.id

Jumat, 03 Oktober 2014

ETIKA PENULISAN DI INTERNET

Didalam penulisan diinternet kita dituntut untuk mentaati semua peraturan yang tealah ditetapkan. Etika menulis di internet ini adalah pendapat pribadi tentang sopan santun menulis di dunia maya. Seperti yang telah ditulis dalam tulisan sebelumnya tentang etika komunikasi di milis, bahwa dunia maya juga mempunyai aturan-aturan dan sopan santun yang harus kita pahami. Sering sekali seseorang dengan seenak hati menulis di blog, mengirimkan pesan melalui email, mengirimkan atau mempublish dokumen elektronis lainnya (gambar, video, tulisan dan bentuk2 lainnya) tanpa memperhatikan aturan dan etikanya.

Sebagai orang yang sering memanfaatkan internet untuk keperluaan sehari-hari sebaiknya kita membaca undang-undang transaksi elektronis yang telah disyahkan pada tahun 2008. Undang undang tersebut dapat didownload dari website www.ri.go.id yang linknya di sini. Kita dapat langsung membaca bab VII yang mengatur tentang tindakan yang dilarang.

Banyak cara yang dapat digunakan dalam mengeluarkan pendapat, salah satunya dengan menulis. Saat ini yang banyak digunakan yaitu menulis melalui internet. Tetapi banyak aspek yang belum diketahu sesorang, terutama mengenai etika dalam menulis melalui internet. Etika menulis di internet merupakan pendapat masing-masing orang mengenai tata cara atau sopan santun menulis di dalam dunia maya. 
Dunia maya memiliki aturan-aturan dan sopan santun yang harus dipahami setiap orang. Banyak yang kita jumpai seseorang yang menulis tanpa menggunakan aturan atau sopan santun yang semestinya, mengirimkan dengan menggunakan email, mempublikasikan dokumen elektronik seperti gambar, video dan tulisan-tulisan dalam bentuk lain tanpa memperhatikan kode etik yang semestinya. 
Sebagai orang yang sering memanfaatkan internet untuk keperluaan sehari-hari sebaiknya kita membaca undang-undang transaksi elektronis yang telah disyahkan pada tahun 2008. Kita dapat langsung membaca bab VII yang mengatur tentang tindakan yang dilarang
Untuk menyegarkan ingatan kita, berikut rangkuman rambu- rambu berlalu lintas di dunia maya.

1.Jangan pernah menyakiti sesorang lewat kata-kata (teks), gambar, atau video. Dalam Facebook jangan berkomentar jorok, sinis, menghina, menyindir, merendahkan martabat di akun teman-teman kita. JIka dilakukan, kalian menjadi bagian dari cyberbullying yang sedang diperangi dinia.

2.Jangan merayu atau menuliskan kata-kata yang benuansa pelecehan seksual, berkirim gambar atau video porno. Kalau dilakukan, kamu tergabung dalam golongan “internet predator” yang sedang mencari mangsa. Gambar atau avatarmu yang seksi diganti saja dengan gambar yang netral. Salah-salah kamu sendiri yang nanti menjadi mangsa internet predator yang banyak bergentayangan secara online, karena kamu dirasa “mengundang”.

3.Jangan meneruskan email temanmu ke pihak lain tanpa izin dari pemiliknya. Ingat kasus Prita Mulyasari.

4.Jangan mencaci-maki orang, menuduh, memfitnah, menghujat di ranah yang sifatnya public. Wall kamu di Facebook, milist, twitter, blog, dsb, temasuk wilayah public karena orang lain bisa ikut membacanya.

5.Jangan meninggalkan data pribadi spt: nomor telepon, email, secara sembarangan di forum-forum online. Ini bisa disalahgunakan pihak lain.

6.Jangan mengutip, menyadur tau menyalin tulisan orang lain tanpa menyebutkan sumbernya. Ini namanya plagiat.

7.Sebelum upload fotomu dan teman-temanmu periksa dulu apakah tidak mengandung konten porno atau seronok. Pikirkan dulu apakah salah satu pihak merasa tersinggung, tidak suka, marah atau sakit hati jika foto-foto itu dimuat ? Pikirkan pula reaksi keluarga mereka. Jangan sampai foto-foto ini disalahgunakan pihak yang tidak bertanggung jawab.

8.Jangan memuat lagu, video, atau foto yang bukan karya kamu. Ini namanya melanggar hak cipta. Konon, ke depannya para labwl musik akan mencurahkan waktu untuk merazia blog dan situs web yang melanggar hak cipta.



http://indrarmcf.blogspot.com/2013/11/etika-penulisan-di-internet.html
www,gunadarma.ac.id