Sabtu, 14 Oktober 2017

ARSITEKTUR SET INSTRUKSI



ARSITEKTUR SET INSTRUKSI
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 Pullman 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.
ELEMEN - ELEMEN DARI 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 instruksi berikutnya setelah instruksi yang dijalankan selesai
FORMAT INSTRUKSI
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi.
Contoh suatu Format Instruksi adalah sbb :

Ilustrasi Format Instruksi Sederhana
(Stallings, W. 1990, hal. 294)  

JENIS - JENIS INSTRUKSI

Ø  Data Processing / Pengolahan Data : instruksi-instruksi aritmetika dan logika. Instruksi aritmetika memiliki kemampuan untuk mengolahdata numeric, sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit bukan sebagai bilangan. Operasi-operasi tersebut dilakukan terutama untuk data di register CPU.

Ø  Data Storage / Penyimpanan Data : instruksi-instruksi memori. Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.

Ø  Data Movement / Perpindahan Data : instruksi I/O. Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data ke dalam memori dan mengembalikan hasil komputansi kepada pengguna.

Ø  Control / Kontrol : instruksi pemeriksaan dan percabangan. Instruksi-instruksi kontrol digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set instruksi lain.

TEKNIK PENGALAMATAN
Metode pengalamatan merupakan aspek dari set instruksi arsitektur disebagian unit pengolah pusat (CPU) desain yang didefinisikan dalam set instruksi arsitektur dan menentukan bagaimana bahasa mesin petunjuk dalam arsitektur untuk mengidentifikasi operan dari setiap instruksi. Sebuah mode pengalamatan menentukan bagaimana menghitung alamat memori yang efektif dari operand dengan menggunakan informasi yang diadakan di register dan / atau konstanta yang terkandung dalam instruksi mesin atau di tempat lain.
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).







Jenis-jenis metode pengalamatan diantaranya :
1. Immediate Addressing Mode


2. Register Addressing Mode




3. Direct Addressing Mode


4. Indirect Addressing Mode


§  R0 atau R1 digunakan untuk menunjukkan Destination Address
§  MOV A,#30h   ; salin immediate data 30h ke Akumulator
§  MOV R0,#7Fh   ; salin immediate data 7Fh ke register R0
§  MOV @R0,A   ; salin the data in A ke alamat di R0

§  R0 atau R1 digunakan untuk menunjukkan Source Address
§  MOV R0,#7Fh   ; salin immediate data 7Fh ke register R0
§  MOV @R0,#30h  ; salin immediate data 30 ke alamat di R0
§  MOV A,@R0   ; salin isi dari alamat di R0 ke Akumulator



DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya :
·         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 diolah.
·         Instruction Format, panjangnya, banyaknya alamat, dsb.
·         Register, banyaknya register yang dapat digunakan.
·         Addressing, mode pengalamatan untuk operand.

Membahas tentang CPU,ALU,LOGIC UNIT,SET REGISTER DAN MEMORY

  1.  Pengertian CPU

CPU  merupakan  singkatan  dari  Central  Prosessor  Unit  yang  sering  diartikan  oleh  manusiasebagai  tubuh  maupun  dari  otak  sikomputer.  Selain  dapat  mengolah  berbagaihitungan Aritmatika, CPU  juga  dapat  mengolah  data-data  yang  telah  masuk  kedalam  komputer  dan menyimpannya  kedalam  Hardisk  maupun  alat  penyimpanan  lainnya  melalui  perintah prosessor yang ada di CPU. CPU sendiri terbuat dari lempengan yang  berbahan silicon yang terdiri  atas  10  juta  transitor  yang  biasa  disebut  “chip”.  Perkembangan  CPU  dari  waktu  ke waktu  semakin  meningkat. Awal  munculnya  processor,  yakni  hadir  dengan microprocessornya  yang  di  buat  oleh  INTEL,  satu-satunya  produsen  pada  masa  itu  untuk pembuatan  processor.  Namun,  sekarang  ini  sudah  banyak  perusahaan-perusahaan  yang membuat processor.

·         b. bagian-bagian CPU dan Fungsi-fungsinya
Perangkat  pengolah  atau  pemroses  data  dalam  komputer  adalah  prosesor  atau  lengkapnyaadalah  mikroprosesor,  namun  umumnya  pengguna  komputer  menyebutnya  sebagai  CPU (Central Processor Unit). CPU merupakan otak bagi sebuah system komputer. CPU memiliki 3 komponen utama yang merupakan bagian tugas utamanya yaitu unit kendali (Control Unit – CU) , unit aritmetika dan logika (Aritmetic and Logic Unit – ALU) serta komponen register yang berfungsi membantu melakukan hubungan (interface) dari dan ke memori. Tugas CPU adalah melaksanakan dan mengawal keseluruhan operasi komputer sehingga bisa dikatakan hampir keseluruhan pemikiran dilaksanakan disini, sehingga sering dinamakan sebagai otak komputer. CPU Tempatnya terletak pada papan induk (motherboard) pada bagian inilah juga terletak  segala  pusat  perangkat  komputer  seperti  memori,  port  input  –output  (I/O)  dan sebagainya.
      
    ALU (Aritmetic and Logic Unit)

ALU (Arithmetic and Logic Unit), CU (Control Unit), Register, dan interkoneksinya. ALU merupakan bagian pengolah bilangan biner dari sebuah prosesor. ALU bertugas melakukan operasi-operasi  aritmatika  dan  logika  sesuai  dengan  instruksi  yang  diberikan.  ALU  juga merupakan salah satu bagian yang terpenting. Unit aritmetik logika (ALU) terdiri dari sirkuit elektronik  yang  membuatnya  mampu  melaksanakan  operasi  aritmatika  dan  logika.  Ia mengeksekusi  instruksi  dan  melakukan  perhitungan  (tambah,  kali,  kurang,  dan  bagi)  dan perbandingan.  ALU  bekerja  dengan  register  yang  berbeda  untuk  menyimpan  data  atau informasi  tentang  tindakan  terakhir  yang  dilakukan  oleh  unit  logika.  ALU  mampu membandingkan huruf, angka, atau karakter khusus. Komponen dari rangkaian logika pada ALU  adalah  gerbanggerbang  logika  AND,  OR,  XOR,  dan  NOT  yang  dihubungkan  pada multiplexer.  Selain  itu  juga  terdapat  juga  operasi  shifter  yang  komponen  dasarnya  adalah multiplexer. Komponen ALU mendapatkan masukan data dari register dan sinyal kontrol dari CU.  Untuk  operasi  ALU  dengan  dua  masukan,  diperlukan  dua  register  8-bit:  ACC (accumulator) untuk masukan pertama dan temp (register sementara) untuk masukan kedua. Hasil  dari  operasi  ALU  ini  adalah  data  8-bit  yang  kemudian  diteruskan  ke  register  untuk menyimpan  hasil  operasi  ini.  Selain  itu  juga  dihasilkan  flag  atau  bit  status.  Flag  ini  akan diteruskan  ke  register  yang  menyimpan  flag  hasil  dari  operasi  ALU.  Untuk  mempercepat pemrosesan  data  di  dalam  prosesor,  selain  CU  dan  ALU,  prosesor  juga  membutuhkan memori  dengan  kecepatan  yang  sama  dengan  prosesor.  Memori  khusus  yang diimplementasikan  pada  prosesor  ini  disebut  register.  Komponen  utama  penyusun  register adalah flip-flop.

   Register
Bagian  CPU  berikutnya  adalah  register.  Register  merupakan  perangkat  memori  sementara yang  menyimpan  data.  Register  membantu  CPU  dalam  melaksanakan  instruksi.  Mereka dikelola oleh unit kontrol. Register berfungsi untuk tempat penyimpanan yang berisi data dan informasi  lainnya  yang  sering  dibutuhkan  ketika  sebuah  program  sedang  berjalan.  Register dimaksudkan untuk dapat diakses dengan sangat cepat. Yang termasuk register di antaranya adalah register uji dan instruksi. Register instruksi berisi instruksi CPU sedangkan register uji dimaksudkan untuk menyimpan hasil kerja yang dilakukan oleh CPU.
     Memory
Memori  merupakan  media  penyimpanan  program  maupun  data.  Memori  semikonduktor dapat dibedakan menjadi Read Only Memory (ROM)  dan Random Access Memory (RAM). ROM  adalah  memori  non-volatil  yang  digunakan  untuk  menyimpan  data  secara  permanen. Data  yang disimpan hanya dapat dibaca, tidak dapat diubah, dan isinya tidak hilang ketika catuan  dimatikan.  Sedangkan  RAM  adalah  tempat  penyimpanan  sementara  yang  berisi alamat  yang  isinya  dapat  dibaca  dan  dimodifikasi.  Memori  ini  bersifat  volatil,  isinya  akan hilang ketika catuan dimatikan.
Memori program merupakan ruang memori yang digunakan untuk menyimpan program yang akan dijalankan oleh prosesor. Memori program bersifat read only memory (ROM). Prosesor hanya bisa membaca isi dari memori program tetapi tidak bisa mengubah isinya. Memori data pada  prosesor  digunakan  untuk  menyimpan  data-data  hasil  pemrosesan  dari  instruksiinstruksi  yang  dijalankan  oleh  prosesor.  Pada  mikrokontroler  8051,  memori  data  internal sebesar 128 byte. Didalamnya terdapat bank register, Spesial Function Register (SFR), dan general-purpose register.


Kamis, 28 September 2017

Evolusi Arsitektur dan Struktur komputer dasar

Tentang Evolusi Arsitektur Komputer
v  Perkembangan Arsitektur Komputer
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.
Secara historis komputer mengalami beberapa perkembangan sejak pertama kali diciptakan,
yaitu :
Ø  Komputer Generasi Pertama (1946 – 1959)
Program hanya dapat dibuat dengan bahasa mesin (Machine Language). Menggunakan konsep stored-program dengan memori utamanya adalah magnetic core storage .
Contoh dari komputer generasi pertama, adalah :
1.      ENIAC (Elektronic Numerical Integrator And Calculator) dimulai tahun 1942.
2.      HARDVARD MARK II dibuat pada bulan juli tahun 1947 dan mempunyai kemampuan 12 kali lebih besar daripada HARDVARD MARK II.
Ø  Komputer Generasi Kedua (1959 – 1964)
Komponen yang digunakan adalah transistor untuk sirkuitnya, dikembangkan di Bell Laboratories  oleh John Bordeen, William Shockley dan Wolther Brattain pada tahun 1947.
Contoh dari komputer generasi kedua, adalah : IBM model 1620, IBM model 1401, dll.
Ø  Komputer Generasi Ketiga (1946 – 1970)
Komponen yang digunakan adalah IC (Integrated Circuit) yang berbentuk Hybrid Integrated Circuit dan Monolithic Integrated Circuit.
Contoh dari komputer generasi ketiga, adalah : IBM S/370 dan UNIVAC 1106
Ø  Komputer Generasi Keempat (1970 – 1990)
Penggunaan Large Scale Integration (LSI) disebut juga dengan nama Bipolar Large
Scale Integration. Dikembangkan komputer Mikro yang menggunakan Micro Processor dan Semi
Conductor yang berbentuk Chip untuk memori komputer generasi sebelumnya masih menggunakan Magnetic Core Storage.
Ø  5. Komputer Generasi Kelima (mulai 1990-an)
Komputer ini sedang dalam pengembangan komponen yang digunakan adalah VLSI
(Very Large Scale Integration) Teknologi yang kemungkinan bisa menggantikan Chips Dapat menterjemahkan bahasa manusia dan manusia dapat bercakap-cakap langsung dengan komputer.

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”.
Kriteria mesin Von Neumann :
Mempunyai subsistem hardware dasar yaitu sebuah CPU, sebuah memori dan sebuah I/O sistem.
·         Merupakan stored-program computer
·         Menjalankan instruksi secara berurutan
·         Mempunyai jalur (path) bus antara memori dan CPU
Pada tahun 1966, Flyyn mengklasifikasikan arsitektur komputer berdasarkan sifatnya yaitu :
·         Jumlah prosesor
·         Jumlah program yang dapat dijalankan
·         Struktur memori


Menurut Flyyn ada 4 klasifikasi komputer :
1.      SISD (Single Instruction Stream, Single Data Stream)
Satu CPU yang mengeksekusi instruksi satu persatu dan menjemput atau menyimpan data
satu persatu.
2.      SIMD (Single Instruction Stream, Multiple Data Stream)
Satu unit kontrol yang mengeksekusi aliran tunggal instruksi, tetapi lebih dari satu Elemen Pemroses.
3.      MISD (Multiple Instruction Stream, Single Data Stream)
Mengeksekusi beberapa program yang berbeda terhadap data yang sama. Ada dua kategori :
Mesin dengan Unit pemroses berbeda dengan instruksi yang berbeda dengan data yang sama (sampai sekarang tidak ada mesin yang seperti ini).Mesin, dimana data akan mengalir ke elemen pemroses serial.
4.      MIMD (Multiple Instruction Stream, Multiple Data Stream)
Juga disebut multiprocessors, dimana lebih dari satu proses dapat dieksekusi berikut terhadap
dengan datanya masing-masing,


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.


v 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.
v 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).
v 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.
v 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.
STRUKTUR DASAR DAN ORGANISASI KOMPUTER
Ø  Struktur Dasar Komputer
Strukrur dasar komputer adalah suatu susunan yang menggambarkan hubungan antar komponen dalam sebuah sistem komputer.

Suatu sistem komputer terdiri dari lima unit struktur dasar, yaitu:
·         Unit masukan (Input Unit)
·         Unit kontrol (Control Unit)
·         Unit logika dan aritmatika (Arithmetic & Logical Unit / ALU)
·         Unit memori/penyimpanan (Memory / Storage Unit)
·         Unit keluaran (Output Unit)
Control Unit dan ALU membentuk suatu unit tersendiri yang disebut Central Processing Unit (CPU). Hubungan antar masing-masing unit yang membentuk suatu sistem komputer dapat dilihat pada gambar berikut:

Data diterima melalui Input Device dan dikirim ke Memory. Di dalam Memory data disimpan dan selanjutnya diproses di ALU. Hasil proses disimpan kembali ke Memory sebelum dikeluarkan melalui Output Device. Kendali dan koordinasi terhadap sistem ini dilakukan oleh Control Unit. Secara ringkas prinsip kerja komputer adalah Input – Proses – Output, yang dikenal dengan singkatan IPO.
Fungsi Utama dari masing-masing Unit akan dijelaskan berikut ini:
1.      Unit Masukan (Input Unit)
Berfungsi untuk menerima masukan (input) kemudian membacanya dan diteruskan ke Memory / penyimpanan. Dalam hubungan ini dikenal istilah peralatan masukan (input device) yaitu alat penerima dan pembaca masukan serta media masukan yaitu perantaranya.
2.      Unit Kontrol (Control Unit)
Berfungsi untuk melaksanakan tugas pengawasan dan pengendalian seluruh sistem komputer. Ia berfungsi seperti pengatur rumah tangga komputer, memutuskan urutan operasi untuk seluruh sistem, membangkitkan dan mengendalikan sinyal-sinyal kontrol untuk menyesuaikan operasi-operasi dan arus data dari bus alamat (address bus) dan bus data (data bus), serta mengendalikan dan menafsirkan sinyal-sinyal kontrol pada bus kontrol (control bus) dari sistem komputer. Pengertian mengenai bus dapat dilihat di bagian bawah halaman ini.
3.      Unit Logika & Aritmatika (Arithmetical & Logical Unit)
Berfungsi untuk melaksanakan pekerjaan perhitungan atau aritmatika & logika seperti menambah, mengurangi, mengalikan, membagi dan memangkatkan. Selain itu juga melaksanakan pekerjaan seperti pemindahan data, penyatuan data, pemilihan data, membandingkan data, dll, sehingga ALU merupakan bagian inti dari suatu sistem komputer. Pada beberapa sistem komputer untuk memperingan dan membantu tugas ALU dari CPU ini diberi suatu peralatan tambahan yang disebut coprocessor sehingga khususnya proses perhitungan serta pelaksanaan pekerjaan pada umumnya menjadi lebih cepat. Pengertian mengenai coprocessor dapat dilihat di bagian bawah halaman ini.
4.      Unit Memori / Penyimpan (Memory / Storage unit)
Berfungsi untuk menampung data/program yang diterima dari unit masukan sebelum diolah oleh CPU dan juga menerima data setelah diolah oleh CPU yang selanjutnya diteruskan ke unit keluaran. Pada suatu sistem komputer terdapat dua macam memori, yang penamaannya tergantung pada apakah alat tersebut hanya dapat membaca atau dapat membaca dan menulis padanya. Bagian memori yang hanya dapat membaca tanpa bisa menulis padanya disebut ROM (Read Only Memory), sedangkan bagian memori yang dapat melaksanakan membaca dan menulis disebut RAM (Random Access Memory).
5.      Unit Keluaran (Output Unit)
Berfungsi untuk menerima hasil pengolahan data dari CPU melalui memori. Seperti halnya pada unit masukan maka pada unit keluaran dikenal juga istilah peralatan keluaran (Output device) dan media keluaran (Output media).
Organisasi Komputer mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen sistem komputer, seperti teknologi hardware, sinyal kontrol, interface, teknologi memori.
6.      Organisasi Komputer
Organisasi Komputer mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen sistem komputer, seperti teknologi hardware, sinyal kontrol, interface, teknologi memori.
Organisasi dasar dari sebuah komputer dapat ditunjukkan pada blok diagram di bawah ini :

Keterangan :
CPU mengendalikan urutan dari semua pertukaran informasi dalam komputer dan dengan dunia luar melalui unit I/O. Sedangkan unit memori terdiri dari sejumlah besar lokasi yang menyimpan program dan data yang sedang aktif digunakan CPU. Ketiga unit tersebut dihubungkan dengan berbagai macam bus.
Bus adalah sekelompok kawat atau sebuah jalur fisik yang berfungsi menghubungkan register-register dengan unit-unit fungsional yang berhubungan dengan tiap-tiap modul. Informasi saling dipertukarkan di antara modul dengan melalui bus.