Jumat, 04 November 2016

CPU (Central Processing Unit)

SISTEM BUS

Sistem bus dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur –jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.





Gambar Sistem Bus

BUS

Pengertian bus adalah bagian dari sistem komputer yang berfungsi untuk memindahkan data antar bagian- bagian dalam sistem komputer. Data dipindahkan dari piranti masukan ke CPU, CPU ke memori, atau dari memori ke piranti keluaran. Bus meruppakan jalur komunikasi yang dibagi pemakai suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Sistem bus adalah sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU, Memori, I/O). Sistem bus adalah penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya.

Bus pada CPU dapat dibedakan atas :

1. Data Bus ( Saluran Data )

2. Address Bus ( Saluran Alamat )

3. Control Bus ( Saluran Kendali )

JENIS-JENIS SISTEM BUS

a. Data bus (Saluran Data)

Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut bus data. Umunya bus data terdiri dari 8, 16, 32 saluran.

b. Address Bus (Saluran Alamat)

1. Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya , bila CPU akan membaca sebuah word dat adari memroi, maka CPU akan menaruh alamt word yang dimaksud pada saluran alamat.

2. Digunakan untuk mengirinkan alamat word pada memori yang akan diakses CPU.

3. Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.

4. Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.

c. Control Bus (Saluran Control)

Saluran kontrol digunakan untuk mengontrol akses ke saluran alamat dan penggunaan data. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat unruk mengontrol penggunaanya. Berikut ini adalah fungsi-fungsi yang terdapat pada control bus (saluran control):

1. Digunkan untuk menspesifikasi sumber dan tujuan data pada bus data.

2. Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.

3. Digunakan untuk saluran almat perangkat modul komputer saat CPU mengakses suatu modul.

4. Semua peralatan yang terhubung dengan sistem komputer, agak dapat diakses harus memiliki alamat. Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya.

ARITHMATICAL LOGICAL UNIT (ALU)

Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di 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.




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.

Pada saat sekarang ini sebuah chip/IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC 74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan beroperasi dengan 4×2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF).

Arithmatic Logical Unit (ALU), fungsi unit ini adalah untuk melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika dan statistika. ALU terdiri dari register-register untuk menyimpan informasi. Tugas utama dari ALU adalah melakukan perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. Rangkaian pada ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Adder digunakan untuk memproses operasi aritmetika, Adder juga disebut rangkaian kombinasional aritmatika.

Ada 3 jenis adder:

1) Rangkaian Adder dengan menjumlahkan dua bit disebut Half Adder.

2) Rangkaian Adder dengan menjumlahkan tiga bit disebut Full Adder.

3) Rangkain Adder dengan menjumlahkan banyak bit disebut Paralel Adder

CU (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. Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU 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 CU sebagai pemantaunya (supervisor).

Tugas dari CU adalah sebagai berikut:

1.Mengatur dan mengendalikan alat-alat input dan output.

2.Mengambil instruksi-instruksi dari memori utama.

3.Mengambil data dari memori utama kalau diperlukan oleh proses.

4.Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.

5.Menyimpan hasil proses ke memori utama.

Macam-macam CU :

1. Single-Cycle CU

Proses di CUl ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi boolean masing-masing control line hanya merupakan fungsi dari opcode saja. Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses men-decode opcode untuk mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang OR). Keempat jenis instruksi adalah “R-format” (berhubungan dengan register), “lw” (membaca memori), “sw” (menulis ke memori), dan “beq” (branching). Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori ”R-format” atau ”lw” maka akan sinyal ”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw” atau “sw” maka akan diberi sinyal kontrol ke ALU, yaitu “ALUSrc”. Desain single-cycle ini lebih dapat bekerja dengan baik dan benar tetapi cycle ini tidak efisien.

2. Multi-Cycle CU

Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing-masing output control line dapat ditentukan. Masing-masingnya akan menjadi fungsi dari 10 buah input logic. Jadi akan terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU, bukan instruksi cycle selanjutnya.

REGISTER

Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi lainnya yang menunggu giliran untuk diproses masih disimpan di dalam memori utama. Setiap register dapat menyimpan satu bilangan hingga mencapai jumlah maksimum tertentu tergantung pada ukurannya. Register-register dapat dibaca dan ditulis dengan kecepatan tinggi karena berada pada CPU.

FUNGSI REGISTER

User Visibel Register :

Register CPU yang dapat digunakan oleh pemrogram, dengan menggunakan set intsruksi memungkinkan satu buah register atau lebih untuk dispesifikasian sebagai operand atau alamat operand.

Register CPU yang dapat digunakan oleh pemrogram, dengan menggunakan set intsruksi memungkinkan satu buah register atau lebih untuk dispesifikasian sebagai operand atau alamat operand.

a. General Purpose Register

- Digunakan untuk mode pengalamatan dan data.

- Akumulator ( aritmatika, Shift, Rotate)

- Base Register (Rotate,Shift, aritmatika)

- Counter Register ( Looping)

- Data Register (menyimpan alamat I/O device)

b. Register Alamat

- Digunakan untuk mode pengalamatan

- Segment Register (Code Segment, Data Segment, Stack Segment, Extra Segment)

- Register Index (Stack Index, Data Index)

- Stack Pointer

c. Register Data

Digunakan untuk menampung data

d. Register Kode Status Kondisi (Flag)

Kode yang menggambarkan hasil operasi sebelumnya

Control dan Status Register:

Register ini digunakan oleh unit control untuk mengontrol operasi cpu dan oleh program system operasi untuk mengontrol eksekusi program.



Control Register

a. Program Counter (PC)

Berisi alamat instruksi yang akan diambil

b. Instruction Register (IR)

Berisi alamat instruksi terakhir

c. Memory Address Register (MAR)

Berisi alamat penyimpanan dalam memori

d. Memori Buffer Register (MBR)
Berisi data yang dibaca dari memori



SUMBER :

1. http://simuk-warrior.blogspot.co.id/2015/06/pengertian-bus-system-sistem-bus.html

2. http://ekapka.blogspot.co.id/2013/09/pengertian-control-unit-cu-dan.html

3. https://yogiearieffadillah.wordpress.com/2013/12/30/pengertian-dan-cara-kerja-arithmatic-logical-unit-alu/


Arsitektur Set Instruksi

Set intruksi berupa jenis intruksi teknik pengalamatan, system bus, CPU dan I/O Set Intruksi Mode & Format Pengalamatan SET INSTRUKSI MATERI OR-AR KOMPUTER KARAKTERISTIK DAN FUNGSI SET INSTRUKSI
 
* Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions). 
* Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set). 

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

 Teknik Pengalamatan

Untuk menyimpan data ke dalam memori komputer, tentu memori tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan data yang pernah diletakkan di sana.
Teknik pengalamatan ini hampir sudah tidak diperlukan lagi oleh pemakai komputer saat ini karena hampir seluruh software yang beredar di pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan disimpan (semua sudah otomatis dilakukan oleh si software).
Jadi, yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan tepat.
Ada tiga teknik dasar untuk pengalamatan, yakni :
·    Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing),
·    Pencarian Tabel (directory look-up), dan
·    Kalkulasi (calculating)

Pemetaan Langsung

Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam yang berbeda spesifikasinya.
Teknik ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.

Teknik Pencarian Tabel

Teknik ini dilakukan dengan cara, mengambil seluruh kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat memorinya.
Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential.
Nilai key field (kunci atribut) bersifat address space independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang berubah hanyalah alamat yang ada di INDEX-nya.

Teknik Kalkulasi Alamat

Perhitungan (kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat disebut dengan fungsi hash.
Bisa juga fungsi hash digabungkan dengan teknik pencarian seperti tabel di atas, tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis saja (fungsi hash saja atau pencarian tabel saja).

SUMBER :
  • Serdiwansyah N. A. Set Instruksi dan Teknik Pengalamatan Teknik Elektro Universitas Negri Makasar
  • http://raditfa.blogspot.com/2012/11/arsitektur-set-instruksi-dan-teknik.html
  • Wikipedia Instruksi Pada Komputer
  • Wikipedia CPU (Central Processing Unit)
  • http://jovanangga.blogspot.co.id/2012/11/set-instruksi-dan-teknik-pengalamatan.html

Minggu, 09 Oktober 2016

ORGANISASI KOMPUTER DASAR

Sebelum menjelaskan lebih jauh tentang organisasi dan arsitektur dasar dari komputer, penulis akan menjelas tentang arti komputer itu sendiri. Pada dasarnya komputer adalah seperangkat mesin penghitung elektronik yang secara tepat dan cepat menerima informasi yang bersifat digital yang kemudian informasi tersebut diolah menurut atau sesuai dengan instruksi yang disimpan dalam komputer, setalah diolah maka akan menghasilkan keluaran informasi yang dapat dimengerti oleh user.
Komputer sederhana memiliki lima bagian utama, dimana lima bagian utama tersebut mempunyai fungsi masing-masing, unit-unit tersebut adalah input, memori, aritmatika dan logika,output dan kontrol. Itulah gambaran singkat tentang pengertian komputer selanjutnya masuk kedalam penjelasan organisasi komputer dasar dan arsitertur komputer.

A. ORGANISASI KOMPUTER DASAR

Organisasi komputer dasar adalah sebuah perangkat yang terkait dengan unit-unit yang terinterkoneksi antara komponen penyusun sistem komputer untuk merealisasikan aspek. Contoh aspek dari organisasi komputer adalah teknologi hardware, perangkat antarmuka, teknologi memori, siatem memori, dan sinyal-sinyal kontrol. Agar lebih mudah maka penulis akan membuat blok diagram tentang organisasi komputer dasar.



Penjelasan Gambar:
Central Processing Unit (CPU) merupakan komponen penting dalam komputer dasar karena CPU merupakan perangkat pengendali urutan dari semua informasi dalam komputer dan dengan dunia luar melalui unit I/O. Sedangkan untuk unit memori teridir dari sejumlah besar lokasi yang menyimpan program ataupun data yang sedang aktif digunakan dalam CPU, ketiga unit diatas dihubung kan melalui berbagai macam BUS.

B. ARSITEKTUR KOMPUTER

Arsitektur disini dapat didefinisikan sebagai gaya kontruksi dan organisasi antara komponen-komponen yang terkait dalam suatu perangkat sistem komputer. Walaupun setiap komputer pada dasarnya sama yaitu bekerja pada subuah sistem digital, namun terdapat berbagai variasi dalam konstruksinya yang dapat membedakan cara penggunaan komputer.
Ada beberapa tingkatan dalam arsitektur komputer, pada konstruksi dan organisasi sistem komputer memiliki perbedaan sederhana diantara tingkatan tersebut yaitu perbedaan antarahardware dan software.

1. TINGKATAN DASAR ARSITEKTUR KOMPUTER

Pada tingkatan dasar ini hardware lah yang menduduki tingkatan dasar dalam arsitektur komputer, sedangkan satu tingkat diatasnya adalah software. Software berada ditingkat diatas hardware, karena hardware mendukung software dengan memberikan atau menyediakan operasi yang diperlukan software.



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



Keterangan:
Physical Device layer, merupakan komponen-komponen elektrik dan elektronik yang digunakan dalam arsitekturisasi komputer, physical layer merupakan slah satu yang terpenting dalam arsitektur komputer.
Digital Logic Layer, pada dasarnya elemen ini dapat menyimpan, memanipulasi dan mentransmisikan data dalam bentuk biner sederhana.
Microprogrammed Layer, layer ini menginterprestasikan instruksi bahasa mesin dari layer nesin dan secara langsung menyebabkan elemen logika digital menjalankan operasi yang dikehendaki.
Machine Layer, tingkatan ini merupakan tingkatan paling bawah dalam suatu hardware, dalam programnya layer ini harus menggunakan instruksi bahasa mesin.
Operating System Layer, namanya saja sudah operating system maka layer ini berfungsi sebagai pengatur cara yang dilakukan software dalam menggunakan hardware, dan hardware harus memberikan fasilitasnya sendiri untuk memungkinkan software menggunakan hardware tersebut secara lebih mudah.
Higher Order Software Layer, layer ini mencakup semua program dalam bahasa selain bahasa mesin yang memerlukan penerjemahan kedalam bahasa mesin sebelum mereka menjalankan perintah yang dimaksud.
Aplications Layer, merupakan bahasa komputer seperti yang dilihat oleh end-user.

DAFTAR SUMBER



Kamis, 29 September 2016

EVOLUSI ARSITEKTUR KOMPUTER DAN PERKEMBANGANNYA


Arsitektur komputer  dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya. Dalam bidang teknik 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 cache, RAM, ROM, cakram keras, dll).
Di antara demikian banyak pemahaman tentang arsitektur, arsitektur dikenal juga sebagai suatu tradisi yang berkembang. Dari waktu ke waktu wajah arsitektur selalu mengalami perubahan. Hal-hal yang mempengaruhi perkembangan dan pengembangan arsitektur tidak hanya berupa keadaan eksternal, tetapi juga keadaan internal. Disini kita membahas mengenai evolusi arsitektur pada komputer. Arsitektur dari komputer sendiri merupakan suatu susunan atau rancangan dari komputer tersebut sehingga membentuk suatu kesatuan yang dinamakan komputer. Komputer sendiri berevolusi dengan cepat mulai dari generasi pertama hingga sekarang. Evolusi sendiri didasarkan pada fungsi atau kegunaanya dalam kehidupan. Evolusi pada komputer sendiri ada karena keinginan atau hal yang dibutuhkan manusia itu sendiri. Sekarang ini komputer sudah dapat melakaukan perintah yang sulit sekalipun tidak seperti dulu yang hanya bisa melakukan yang sederhana saja. Itulah yang dinamakan evolusi arsitektur yaitu perubahan bentuk juga fungsi dan kemampuannya.

KLASIFIKASI ARSITEKTUR KOMPUTER

Arsitektur Von Neumann
Arsitektur von Neumann (atau Mesin Von Neumann) adalah arsitektur yang diciptakan oleh John von Neumann (1903-1957). Arsitektur ini digunakan oleh hampir semua komputer saat ini. Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan Logis (ALU), unit kontrol, memori, dan alat masukan dan hasil (secara kolektif dinamakan I/O). Bagian ini dihubungkan oleh berkas kawat, “bus”.

Pada perkembangan komputer modern, setiap prosesor terdiri dari atas :
Arithmetic and Logic Unit  (ALU)
Arithmatic and Logic Unit atau Unit Aritmetika dan Logika berfungsi untuk melakukan semua perhitungan aritmatika (matematika) dan logika yang terjadi sesuai dengan instruksi program. ALU menjalankan operasi penambahan,  pengurangan, dan operasi-operasi sederhana lainnya pada input-inputnya dan memberikan hasilnya pada register output.

Register
Register merupakan alat penyimpanan kecil yang  mempunyai kecepatan akses cukup tinggi, yang  digunakan untuk menyimpan data dan instruksi yang  sedang diproses, sementara data dan instruksi lainnya yang menunggugiliran untukdiproses masihdisimpan yang menunggugiliran untukdiproses masihdisimpan di dalam memori utama. Setiap register dapat menyimpan satu bilangan hingga mencapai jumlah maksimum tertentu tergantung pada ukurannya.

Control Unit
Control Unit atau Unit Kontrol berfungsi untuk mengatur dan mengendalikan semua peralatan yang ada pada sistem komputer. Unit kendali akan mengatur kapan alat input  menerima data dan kapan data diolah serta kapan ditampilkan pada alat output. Unit ini juga mengartikan instruksi-instruksi dari program. Unit ini juga mengartikan instruksi-instruksi dari program komputer, membawa data dari alat input ke memori utama dan mengambil data dari memori utama untuk diolah. Bila ada instruksi untuk perhitungan aritmatika atau  perbandingan logika, maka unit kendali akan mengirim  instruksi tersebut ke ALU. Hasil dari pengolahan data  dibawa oleh unit kendali ke memori utama lagi untuk  disimpan, dan pada saatnya akan disajikan ke alat output.

Bus
Bus adalah sekelompok lintasan sinyal yang digunakan untuk menggerakkan bit-bit informasi dari satu tempat ke tempat lain, dikelompokkan menurut fungsinya Standar bus dari suatu sistem komputer adalah bus alamat (address bus), bus data (data bus) dan bus kontrol (control bus). Komputer menggunakan suatu bus atau saluran bus sebagaimana kendaraan bus yang mengangkut penumpang dari satu tempat ke tempat lain, maka bus komputer mengangkut data. Bus komputer menghubungkan CPU pada RAM dan periferal. Semua komputer menggunakan saluran busnya untuk maksud yang sama.

Arsitektur RISC
RICS singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalam komunikasi diantara arsitektur yang lainnya. Reduced Instruction Set Computing (RISC) atau “Komputasi set instruksi yang disederhanakan” pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson,pengajar pada University of California di Berkely.




RISC, yang jika diterjemahkan berarti “Komputasi Kumpulan Instruksi yang Disederhanakan”, merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor.
Selain digunakan dalam komputer vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari International Business Machine. Selain itu, RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard.

Karakteristik RISC
Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC
Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control
Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register.
Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word.

Karakteristik-Karakteristik Eksekusi Instruksi
Salah satu evolusi komputer yang besar adalah evolusi bahasa pemprograman. Bahasa pemprograman memungkinkan programmer dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan mendukung penggunaan pemprograman terstruktur, tetapi ternyata muncul masalah lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi yang disediakan oleh HLL dengan yang disediakan oleh arsitektur komputer, ini ditandai dengan ketidakefisienan eksekusi, program mesin yang berukuran besar,dan kompleksitas kompiler.
Untuk mengurangi kesenjangan ini para perancang menjawabnya dengan arsitektur. Fitur-fiturnya meliputi set-set instruksi yang banyak, lusinan mode pengalamatan, dan statemen –statemen HLL yang diimplementasikan pada perangkat keras.

Operasi
Beberapa penelitian telah menganalisis tingkah laku program HLL (High Level Language). Assignment Statement sangat menonjol yang menyatakan bahwa perpindahan sederhana merupakan satu hal yang penting. Hasil penelitian ini merupakan hal yang penting bagi perancang set instruksi mesin yang mengindikasikan jenis instruksi mana yang sering terjadi karena harus didukung optimal.

Operand
Penelitian Paterson telah memperhatikan [PATT82a] frekuensi dinamik terjadinya kelaskelas variabel. Hasil yang konsisten diantara program pascal dan C menunjukkan mayoritas referensi menunjuk ke variable scalar. Penelitian ini telah menguji tingkah laku dinamik program HLL yang tidak tergantung pada arsitektur tertentu. Penelitian [LUND77] menguji instruksi DEC-10 dan secara dinamik menemukan setiap instruksi rata-rata mereferensi 0,5 operand dalam memori dan rata-rata mereferensi 1,4 register. Tentu saja angka ini tergantung pada arsitektur dan kompiler namun sudah cukup menjelaskan frekuensipengaksesan operand sehingga menyatakan pentingnya sebuah arsitektur.

Procedure Calls
Dalam HLL procedure call dan return merupakan aspek penting karena merupakan operasi yang membutuhkan banyak waktu dalam program yang dikompalasi sehingga banyak berguna untuk memperhatikan cara implementasi opperasi ini secara efisien. Adapun aspeknya yang penting adalah jumlah parameter dan variabel yang berkaitan dengan prosedur dan kedalaman pensarangan (nesting).

Arsitektur CISC
Complex instruction-set computing atau Complex Instruction-Set Computer (CISC) “Kumpulan instruksi komputasi kompleks”) adalah sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC.
Sebelum proses RISC didesain untuk pertama kalinya, banyak arsitek komputer mencoba menjembatani celah semantik”, yaitu bagaimana cara untuk membuat set-set instruksi untuk mempermudah pemrograman level tinggi dengan menyediakan instruksi “level tinggi” seperti pemanggilan procedure, proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik CISC yg “sarat informasi” ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.
Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi hardware), akan berada pada situasi di mana akan lebih mudah untuk meningkatkan performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang sederhana.
Istilah RISC dan CISC saat ini kurang dikenal, setelah melihat perkembangan lebih lanjut dari desain dan implementasi baik CISC dan CISC. Implementasi CISC paralel untuk pertama kalinya, seperti 486 dari Intel, AMD, Cyrix, dan IBM telah mendukung setiap instruksi yang digunakan oleh prosesor-prosesor sebelumnya, meskipun efisiensi tertingginya hanya saat digunakan pada subset x86 yang sederhana (mirip dengan set instruksi RISC, tetapi tanpa batasan penyimpanan/pengambilan data dari RISC). Prosesor-prosesor modern x86 juga telah menyandikan dan membagi lebih banyak lagi instruksi-instruksi kompleks menjadi beberapa “operasi-mikro” internal yang lebih kecil sehingga dapat instruksi-instruksi tersebut dapat dilakukan secara paralel, sehingga mencapai performansi tinggi pada subset instruksi yang lebih besar.

Karakteristik CISC
Sarat informasi memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat
Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan.

Arsitektur Harvard
Arsitektur Havard menggunakan memori terpisah untuk program dan data dengan alamat dan bus data yang berdiri sendiri. Karena dua perbedaan aliran data dan alamat, maka tidak  diperlukan multiplexing  alamat dan bus data. Arsitektur ini tidak hanya didukung dengan bus paralel untuk alamat dan data, tetapi juga menyediakanorganisasiinternal yang  berbeda sedemikian rupa instruksi dapat diambil dan dikodekan ketika dan data, tetapi juga menyediakan organisasi internal yang  berbeda sedemikian rupa instruksi dapaLebih lanjut lagi, bus data bisa saja memiliki ukuran yang berbeda  dari bus alamat. Hal ini memungkinkan pengoptimalan bus data dan bus alamat dalam pengeksekusian instruksi yang cepat.t diambil dan dikodekan ketika berbagai data sedang diambil dan dioperasikan. Sebagai contoh, mikrokontroler Intel keluarga MCS-51 menggunakan arsitektur Havard karena ada perbedaan kapasitas memori untuk program dan data, dan bus terpisah (internal) untuk alamat dan data.  Begitu juga dengan keluarga PIC dari Microchip yang menggunakan arsitektur Havard.

Arsitektur Blue Gene
Blue Gene adalah sebuah arsitektur komputer yang dirancang untuk menciptakan beberapa superkomputer generasi berikut, yang dirancang untuk mencapai kecepatan operasi petaflop (1 peta = 10 pangkat 15), dan pada 2005 telah mencapai kecepatan lebih dari 100 teraflop (1 tera = 10 pangkat 12). Blue Gene merupakan proyek antara Departemen Energi Amerika Serikat (yang membiayai projek ini), industri (terutama IBM), dan kalangan akademi. Ada lima projek Blue Gene dalam pengembangan saat ini, di antaranya adalah Blue Gene/L, Blue Gene/C, dan Blue Gene/P.
Komputer pertama dalam seri Blue Gene. Blue Gene/L dikembangkan melalui sebuah “partnership” dengan Lawrence Livermore National Laboratory menghabiskan biaya AS$100 juta dan direncanakan dapat mencapai kecepatan ratusan TFLOPS, dengan kecepatan puncak teoritis 360 TFLOPS. Ini hampir sepuluh kali lebih cepat dari Earth Simulator, superkomputer tercepat di dunia sebelum Blue Gene. Pada Juni 2004, dua prototipe Blue Gene/L masuk dalam peringkat 500 besar superkomputer berada dalam posisi ke-4 dan ke-8.
Pada 29 September 2004 IBM mengumumkan bahwa sebuah prototipe Blue Gene/L di IBM Rochester (Minnesota) telah menyusul Earth Simulator NEC sebagai komputer tercepat di dunia, dengan kecepatan 36,01 TFLOPS, mengalahkan Earth Simulator yang memiliki kecepatan 35,86 TFLOPS. Mesin ini kemudian mencapai kecepatan 70,72.
Pada 24 Maret 2005, Departemen Energi AS mengumumkan bahwa Blue Gene/L memecahkan rekor komputer tercepat mencapai 135,5 TFLOPS. Hal ini dimungkinkan karena menambah jumlah rak menjadi 32 dengan setiap rak berisi 1.024 node komputasi. Ini masih merupakan setengah dari konfigurasi final yang direncanakan mencapai 65.536 node.
Pada 27 Oktober, 2005, Lawrence Livermore National Laboratory dan IBM mengumumkan bahwa Blue Gene/L sekali lagi telah menciptakan rekor dengan mengalahkan rekornya sendiri setelah mencapai kecepatan 280.6 TFLOPS.

Sumber :




Minggu, 19 Juni 2016

Program Transformasi Star <> Delta Menggunakan Procedure Pada Pascal

Aplikasi yang saya buat ini bertujuan untuk menghitung transformasi delta-star.Terdapat 2 pilihan cara perhitungan yaitu perhitungan pertama membutuhkan input R1, R2, R3 dengan rumus untuk mencari star-delta yaitu Ra = (R1*R2 + R2*R3 + R1*R3)/R3 ; Rb = (R1*R2 + R2*R3 + R1*R3)/R2 ; Rc = (R1*R2 + R2*R3 + R1*R3)/R1. Untuk perhitungan kedua membutuhkan input Ra, Rb, Rc dengan rumus untuk mencari delta-star yaitu R1 = Ra*Rb / (Ra + Rb + Rc) ; R2 = Ra*Rc  / (Ra + Rb + Rc) ; R3 = Rb*Rc  / (Ra + Rb + Rc).

FLOWCHART 



LISTING PROGRAM





TAMPILAN ANTARMUKA PROGRAM