Kamis, 20 Oktober 2016

CPU


CPU
Central Processing Unit (CPU) adalah bagian dari sebuah komputer sistem yang melaksanakan pada instruksi dari program komputer, untuk melakukan aritmatika, yang logis, dan dasar-dasar input/output dari sebuah pada sistem operasi.

CPU disusun oleh 3 bagian utama yang disebut dengan: Kumpulan Register (Register Set), ALU (Arithmetic Logic Unit) dan CLU (Central Logic Unit).

A. PENGERTIAN BUS
Pada motherboard terdapat saluran-saluran penghubung yang menghubungkan satu komponen dengan komponen lainnya. Saluran penghubung ini berupa garis-garis yang tercetak pada PCB motherboard. Melalui saluran-saluran inilah data, informasi, dan instruksi-instruksi yang akan diberikan pada komputer-komputer ditransfer/melintas dari komponen satu ke komponen lainnya. Data dan instruksi tersebut diangkut dalam wujud sinyal-sinyal elektronis yang mempunyai makna tertentu. Sekelompok saluran yang mempunyai fungsi yang sama disebut jalur atau bus. Saluran-saluran penghubung tadi disebut pula dengan istilah konduktor.

1. ORGANISASI BUS
Organsiasi bus merupakan sekumpulan dari bagian-bagian bus dimana tersusun menjadi satu yang memungkinkan suatu bus dapat bekerja dan dapat dilakukan. Adapun bagian tersebut yaitu seperti Pengertian jalur tidak sama dengan saluran. Dalam hal ini, jalur adalah kata jamak dari saluran. Pahamilah penjelasan berikut ini: Jalur data (data bus) yang terdiri dari beberapa (sejumlah) saluran data, jalur adres (address bus) terdiri dari beberapa (sejumlah) saluran adreess dan jalur kontrol (control bus) terdiri dari beberapa (sejumlah) saluran-saluran control.

2. STRUKTUR BUS
Sebuah bus biasanya terdiri atas beberapa saluran. Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat mentransfer data 8 bit. Secara umum fungsi saluran bus dikatagorikan dalam tiga bagian, yaitu saluran data, saluran alamat dan saluran control. Saluran data (data bus) adalah lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran dengan tujuan agar mentransfer word dalam sekali waktu. Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit.

3. KONEKSI BUS
Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih komponen komputer. Sifat penting dan merupakan syarat utama bus adalah media transmisi yang dapat digunakan bersama oleh sejumlah perangkat yang terhubung apadanya.
Karena digunakan bersama, diperlukan aturan main agar tidak terjadi tabrakan data atau kerusakan data yang ditransmisikan. Walaupun digunakan bersama namun dalam satu waktu hanya ada sebuah perangkat yang dapat menggunakan bus.

4. TIPE BUS                                                                                               
 
Berdasarkan jenis busnya, bus dibedakan menjadi bus yang khusus menyalurkan data tertentu, misalnya paket data saja, atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus dilalukan informasi yang berbeda baik data, alamat maupun sinyal kontrol dengan metode mulipleks data maka bus ini disebut multiplexed bus.
Keuntungan mulitiplexed bus adalah hanya memerlukan saluran sedikit sehingga dapat menghemat tempat, namun kerugiannya adalah kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimulitipleks. Saat ini yang umum, bus didedikasikan untuk tiga macam, yaitu bus data, bus alamat dan bus kontrol.                                                       
B. ALU (Aritmetik Logic Unit)                                                                         
ALU (Aritmetik Logic Unit) adalah bagian dari CPU yang akan bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering disebut juga mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga pada sirkuit-sirkuit elektronik yang akan digunakan disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).
                                                              
1). Fungsi Aritmatika pada sebuah ALU biasanya mencakup integer, floating-point (real) dan desimal berkode biner. Disini operasi yang terjadi adalah penambahan, pengurangan, perkalian dan pembagian.                                 
2). Fungsi Logika pada ALU lebih sederhana. Untuk segala operasi logika yang ingin diterapkan, maka hanya perlu memuat sejumlah n gerbang logika tertentu untuk operasi tersebut (satu untuk setiap pasangan bit input).                              
a. Fixed Point    adalah tipe data yang nyata untuk nomor yang telah tetap jumlah digit setelah (dan kadang-kadang juga sebelum) titik radix (setelah titik desimal dalam notasi desimal bahasa Inggris '.'). Representasi fixed-point nomor dapat dibandingkan dengan (dan lebih menuntut komputasi) lebih rumit floating point representasi nomor.
b. Fixed-point nomor berguna untuk mewakili nilai-nilai pecahan, biasanya dalam basis 2 atau basis 10, ketika menjalankan prosesor tidak memiliki unit floating point (FPU) atau jika fixed-point menyediakan peningkatan kinerja atau akurasi untuk aplikasi di tangan. Paling rendah-biaya tertanam mikroprosesor dan mikrokontroler tidak memiliki FPU.                                                                     
c. Floating Point berguna menjelaskan metode mewakili bilangan real dalam cara yang dapat mendukung berbagai nilai. Nomor, pada umumnya, mewakili sekitar untuk tetap jumlah digit yang signifikan dan ditingkatkan menggunakan eksponen. Dasar untuk scaling biasanya 2, 10 atau 16. Jumlah yang khas yang dapat diwakili tepat adalah dalam bentuk: Signifikan digit × basis eksponen. Floating point merujuk pada fakta bahwa titik radix (titik desimal, atau, lebih umum di komputer, titik biner) dapat "mengambang", yaitu, dapat ditempatkan di mana saja relatif terhadap angka signifikan dari nomor tersebut. Posisi ini akan pada ditunjukkan secara terpisah dalam representasi internal, dan floating-point sehingga representasi dapat dianggap sebagai realisasi komputer notasi ilmiah.
C. CLU (Control Logic Unit)                                                                                      
CLU (Control Logic Unit) 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 CLU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.
Pada awal-awal desain komputer, CLU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CLU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CLU sebagai pemantaunya (supervisor).

D. REGISTER
Register adalah memori yang kecil pada computer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.                                        
1). Set Register
Prosesor memiliki 16 register 16-bit, meskipun hanya 12 dari mereka adalah tujuan yang benar-benar umum. Empat pertama telah mendedikasikan menggunakan:
• r0 (alias PC) adalah program counter. Anda bisa melompat dengan menentukan r0, dan konstanta yang diambil langsung dari aliran instruksi menggunakan pasca-kenaikan mode pengalamatan r0. PC selalu bahkan.                                                     

• r1 (alias SP) adalah stack pointer. Ini digunakan oleh panggilan dan instruksi dorong, dan dengan penanganan interupsi. Hanya ada satu stack pointer; MSP430 tidak memiliki apa pun yang menyerupai mode supervisor. Pointer stack selalu bahkan; Tidak jelas apakah LSB bahkan diimplementasikan.                            
 • r2 (alias SR) adalah register status.                                                                          
 • r3 ini didesain untuk 0. Jika ditetapkan sebagai sumber, nilainya adalah 0. Jika ditetapkan sebagai tujuan, nilai tersebut akan dibuang.                                            
2). Control Register                                                                                             
Control Register adalah prosesor yang mengubah atau mengontrol CPU atau perangkat digital lainnya. Tugas dari control register adalah untuk mengontrol setiap alamat yang ada di CPU dan untuk switching mode pengalamatan.

DAFTAR PUSTAKA
http://gpinkom.wordpress.com/2008/06/03/pengertian-bus-bit-dan-byte/
http://www.scribd.com/doc/34680928/Bab-7-Sistem-Bus-Organisasi-Komputer 
http://ricky.staff.gunadarma.ac.id/Downloads/files/21939/5+CPU.doc

Senin, 17 Oktober 2016

Arsitektur Set Intruksi

PENDAHULUAN
Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).
         ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.

A. JENIS INSTRUKSI
1. Data procecessing: Arithmetic dan Logic Instructions
2. Data storage: Memory instructions
3. Data Movement: I/O instructions
4. Control: Test and branch instructions

1). TRANSFER DATA 
A. Menetapkan lokasi operand sumber dan operand tujuan.
B. Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas
     daripada stack.
C. Menetapkan panjang data yang dipindahkan.
D. Menetapkan mode pengalamatan.
E. 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

2). 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
2. SUBTRACT : Pengurangan 
3. MULTIPLY : Perkalian
4. DIVIDE : Pembagian
5. ABSOLUTE
6. NEGATIVE
7. DECREMENT
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.

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

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

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

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

7). ADDRESSING MODES
Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum:
1. Immediate
2. Direct
3. Indirect
4. Register
5. Register Indirect
6. Displacement
7. Stack 

B. TEKNIK PENGALAMATAN
Pentium dilengkapi bermacam-macam mode pengalamatan untuk memudahkan bahasa-bahasa tingkat tinggi, mengeksekusinya secara efisien.
Macam-macam mode pengalamatan pentium :
A.   Mode Immediate
1). Operand berada di dalam intruksi.
2). Operand dapat berupa data byte, word atau doubleword.
B.    Mode Operand Register
yaitu operand adalah isi register.
1). Register 8 bit (AH, BH, CH, DH, AL, BL, CL, DL)
2). Register 16 bit (AX, BX, CX, DX, SI, DI, SP, BP)
3). Register 32bit (EAX, EBX, ECX, ESI, EDI, ESP, EBP)
4). Register 64 bit yang dibentuk dari register 32 bit secara berpasangan 4.
5). Register 8, 16, 32 bit merupakan register untuk penggunaan umum        (general purpose register).
6). Register 14 bit biasanyan untuk operasi floating point.
7). Register segmen (CS, DS, ES, SS, FS, GS)
C.    Mode Displacement
1). Alamat efektif berisi bagian-bagian intruksin dengan displacement 8,
     16, atu 32 bit.
2). Dengan segmentasi, seluruh alamat dalam intruksi mengacu ke sebuah
      offset di dalam segmen.
3). Dalam Pentium, mode ini digunakan untuk mereferensi variable-
      variabel global.
D.   Mode Base
1). Pengalamatan indirect yang menspesifikasi saru register 8, 16 atau 32
      bit berbasis alamat efektifnya.

C. 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 :
a. Operation Repertoire
    Berapa banyak dan operasiapa saja yang disediakan, dan berapa sulitoperasinya
b. Data Types
    Tipe/jenis data yang dapat olah
c. Instruction Format
    Panjangnya, banyaknya alamat,dsb.
d. Register
    Banyaknya register yang dapat digunakan
e. Addressing
    Mode pengalamatan untuk operand

DAFTAR PUSTAKA

Kamis, 06 Oktober 2016

Organisasi Komputer Dasar

Struktur Dasar Komputer

Fungsi komputer didefinisikan sebagai operasi masing-masing komponen sebagai bagian dari struktur. Adapun fungsi dari masing-masing komponen dalam struktur di atas adalah sebagai berikut:

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

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 diatas terhubung melalui port-port ini.

4. CPU (Central Processing Unit)
CPU 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 hanya 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 menerima 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. 

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

Fungsi komputer adalah operasi masing masing komponen sebagai bagian dari struktur.

Struktur Utama Komputer
  • Struktur CPU
  • Fungsi Komputer
  1. Pemindahan Data
  2. Penyimpanan Data
  3. Pengolahan Data
  4. Kontrol
  5. Pemrosesan data dari penyimpan data ke I/O 
Contoh: printing a bank statement 

1. Fungsi Operasi Pemindahan Data
Contoh : Keyboard ke Screen


2. Fungsi Operasi Penyimpanan Data
Contoh : Download File dari Internet ke Media Penyimpanan.


3. Fungsi Proses dari/ ke Unit Penyimpanan.
Contoh : Updating bank statement.

4. Fungsi Proses dari Unit Penyimpanan ke I/O.
Contoh : Printing a bank ke statement.

Organisasi Komputer

    Organisasi komputer adalah bagian yang terkait erat dengan unit - unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya. Contoh aspek-aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi memori, dan sinyal - sinyal kontrol.
      Arsitektur komputer lebih cenderung pada kajian atribut - atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set instruksi, aritmetika yang digunakan pada saat teknik pengalamatan, mekanisme I/O.
      Sebagai contoh apakah suatu komputer perlu memiliki instruksi pengalamatan pada memori merupakan masalah rancangan arsitektural. Apakah instruksi - Instruksi pengalamatan tersebut akan di implementasikan secara langsung ataukah
melalui mekanisme cache adalah kajian organisasional.

Perbedaaan Utama Organisasi Komputer:
  • Bagian yang terkait dengan erat dengan unit – unit operasional
Contoh : teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal – sinyal control.

Arsitektur Komputer
  • Atribut - atribut sistem komputer yang terkait dengan seorang programmer
Contoh : Set instruksi, aritmetika yang dipergunakan, teknik pengalamatan, mekanisme I/O.
Referensi:
http://ekofitriyanto.wordpress.com/2013/10/24/pengertian-dan-perbedaan-organisasi-komputer-dengan-arsitektur-komputer/
http://id.scribd.com/doc/54889800/Pengertian-Arsitektur-Komputer-Dan-Organisasi-Komputer-TUGAS-1
http://arifpane.blogspot.com/2010/01/organisasi-komputer.html