×
Judul

Selasa, 22 September 2015

Macam-macam Register, arsitektur von neumann dan harvard



Macam-macam Register dan contohnya
4.2.1. Segmen Register
Register yang termasuk dalam kelompok ini terdiri atas register CS,DS,ES dan SS yang masing-masingnya merupakan register 16 bit. Register-register dalam kelompok ini secara umum digunakan untuk menunjukkan alamat dari suatu segmen. Register CS(Code Segment) digunakan untuk menunjukkan tempat dari segmen yang sedang aktif, sedangkan register SS(Stack Segment) menunjukkan letak dari segmen yang digunakan oleh stack. Kedua register ini sebaiknya tidak sembarang diubah karena akan menyebabkan kekacauan pada program anda nantinya.

Register DS(Data Segment) biasanya digunakan untuk menunjukkan tempat segmen dimana data-data pada program disimpan. Umumnya isi dari register ini tidak perlu diubah kecuali pada program residen. Register ES(Extra Segment), sesuai dengan namanya adalah suatu register bonus yang tidak mempunyai suatu tugas khusus. Register ES ini biasanya digunakan untuk menunjukkan suatu alamat di memory, misalkan alamat memory video.
Pada prosesor 80386 terdapat tambahan register segment 16 bit, yaitu FS dan GS.
4.2.2. Pointer dan Index Register.
Register yang termasuk dalam kelompok ini adalah register SP,BP,SI dan DI yang masing-masing terdiri atas 16 bit. Register- register dalam kelompok ini secara umum digunakan sebagai penunjuk atau pointer terhadap suatu lokasi di memory.
Register SP(Stack Pointer) yang berpasangan dengan register segment SS(SS:SP) digunakan untuk mununjukkan alamat dari stack, sedangkan register BP(Base Pointer)yang berpasangan dengan register SS(SS:BP) mencatat suatu alamat di memory tempat data.
Register SI(Source Index) dan register DI(Destination Index) biasanya digunakan pada operasi string dengan mengakses secara langsung pada alamat di memory yang ditunjukkan oleh kedua register ini.
Pada prosesor 80386 terdapat tambahan register 32 bit, yaitu ESP,EBP,ESI dan EDI.
4.2.3. General Purpose Register.
Register yang termasuk dalam kelompok ini adalah register AX,BX,CX dan DX yang masing-masing terdiri atas 16 bit. Register- register 16 bit dari kelompok ini mempunyai suatu ciri khas, yaitu dapat dipisah menjadi 2 bagian dimana masing-masing bagian terdiri atas 8 bit, seperti pada gambar 4.1. Akhiran H menunjukkan High sedangkan akhiran L menunjukkan Low.
+ A X + + B X + + C X + + D X +
+-+–+–+-+ +-+–+–+-+ +-+–+–+-+ +-+–+–+-+
| AH | AL | | BH | BL | | CH | CL | | DH | DL |
+—-+—-+ +—-+—-+ +—-+—-+ +—-+—-+
Gambar 4.1. General purpose Register
Secara umum register-register dalam kelompok ini dapat digunakan untuk berbagai keperluan, walaupun demikian ada pula penggunaan khusus dari masing-masing register ini yaitu :
Register AX, secara khusus digunakan pada operasi aritmatika terutama dalam operasi pembagian dan pengurangan.
Register BX, biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segmen.
Register CX, digunakan secara khusus pada operasi looping dimana register ini menentukan berapa banyaknya looping yang akan terjadi.
Register DX, digunakan untuk menampung sisa hasil pembagian 16 bit.
Pada prosesor 80386 terdapat tambahan register 32 bit, yaitu EAX,EBX,ECX dan EDX.
4.2.4. Index Pointer Register
Register IP berpasangan dengan CS(CS:IP) menunjukkan alamat dimemory tempat dari intruksi(perintah) selanjutnya yang akan dieksekusi. Register IP juga merupakan register 16 bit. Pada prosesor 80386 digunakan register EIP yang merupakan register 32 bit.
4.2.5. Flags Register.
Sesuai dengan namanya Flags(Bendera) register ini menunjukkan kondisi dari suatu keadaan< ya atau tidak >. Karena setiap keadaan dapat digunakan 1 bit saja, maka sesuai dengan jumlah bitnya, Flags register ini mampu memcatat sampai 16 keadaan. Adapun flag yang terdapat pada mikroprosesor 8088 keatas adalah :
- OF . Jika terjadi OverFlow pada operasi aritmatika, bit ini
akan bernilai 1.
- SF . Jika digunakan bilangan bertanda bit ini akan bernilai 1
- ZF . Jika hasil operasi menghasilkan nol, bit ini akan
bernilai 1.
- CF . Jika terjadi borrow pada operasi pengurangan atau carry
pada penjumlahan, bit ini akan bernilai 1.
0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
+–+–+–+–+–+–+–+–+–+–+–+–+–+–+–+–+
| |NT| IOPL|OF|DF|IF|TF|SF|ZF| |AF| |PF| |CF|
+–+–+–+–+–+–+–+–+–+–+–+–+–+–+–+–+
Gambar 4.2. Susunan Flags Register 8088
- PF . Digunakan untuk menunjukkan paritas bilangan. Bit ini akan
bernilai 1 bila bilangan yang dihasilkan merupakan bilangan genap.
- DF . Digunakan pada operasi string untuk menunjukkan arah
proses.
- IF . CPU akan mengabaikan interupsi yang terjadi jika
bit ini 0.
- TF . Digunakan terutama untuk Debugging, dengan operasi step by
step.
- AF . Digunakan oleh operasi BCD, seperti pada perintah AAA.
- NT . Digunakan pada prosesor 80286 dan 80386 untuk menjaga
jalannya interupsi yang terjadi secara beruntun.
- IOPL . Flag ini terdiri atas 2 bit dan digunakan pada
prosesor 80286 dan 80386 untuk mode proteksi.
Adapun susunan dari masing-masing flag didalam flags register dapat anda lihat pada gambar 4.2. Pada prosesor 80286 dan 80386 keatas terdapat beberapa tambahan pada flags register, yaitu :
- PE . Digunakan untuk mengaktifkan mode proteksi. flag ini
akan bernilai 1 pada mode proteksi dan 0 pada mode real.
- MP . Digunakan bersama flag TS untuk menangani
terjadinya intruksi WAIT.
- EM . Flag ini digunakan untuk mensimulasikan coprosesor
80287 atau 80387.
- TS . Flag ini tersedia pada 80286 keatas.
- ET . Flag ini digunakan untuk menentukan jenis coprosesor
80287 atau 80387.
- RF . Register ini hanya terdapat pada prosesor 80386 keatas.
- VF . Bila flag ini bernilai 1 pada saat mode proteksi,
mikroprosesor akan memungkinkan dijalankannya aplikasi mode real pada mode proteksi. Register ini hanya terdapat pada 80386 keatas.

Arsitektur von Neumann

Arsitektur Von Neumann adalah arsitektur komputer yang menempatkan program (ROM=Read Only Memory) dan data (RAM=Random Access Memory) dalam peta memori yang sama. Arsitektur ini memiliki address dan data bus tunggal untuk mengalamati program (instruksi) dan data. Arsitektur von Neumann atau Mesin Von Neumann merupakan arsitektur yang diciptakan oleh John von Neumann pada tahun 1903-1957. Yang mana  hampir semua komputer saat ini menggunakan Arsitektur buatan John Von Neumann. Arsitektur Von Neumann ini   menggambarkan komputer dengan empat bagian utama yaitu:
·         Unit Aritmatika dan Logis (ALU),
·         unit kontrol (CU)
·         memori, dan
·         alat masukan I/O
Diagram blok hubungan antara komponen CPU:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbpezQCiaCmb-Yjiw7dR2aGNl2xddb5EdvfpJYZl_xEMIwwDiZBRQi4NIEOO91mtvOWfXTjevlXpXlSCS38_wrLG2apo_oQxna06A_g7OjNWeZjjT6NhXhZyVWfzP8GrusHV8Yh_6mzfI/s1600/von-neumann-1.png

Diagram Arsitektur Von Neumann


Cara kerja
1.             1.   Komunikasi Antara Memori dan Unit Pengolahan
 Komunikasi antara memori dan unit pengolahan terdiri dari dua register :
a.        Alamat memori Register (MAR).
b.       Memori data Register (MDR).
Untuk membaca,
a.        The address of the location is put in MAR. Alamat lokasi diletakkan Maret
b.       Memori diaktifkan untuk membaca.
c.        Nilai ini dimasukkan ke dalam MDR oleh memori.
  
Untuk menulis,
a.        Alamat lokasi diletakkan Maret
b.       Data dimasukkan ke dalam MDR.
c.        Tulis Aktifkan sinyal menegaskan.
d.       Nilai dalam MDR ditulis ke lokasi yang ditentukan. 

2.      CPU
a.        Hardware unit seperti ALU , register, memori, dll, yang dihubungkan bersama ke dalam jalur data-.
b.       Aliran bit sekitar jalur data-dikendalikan oleh "gerbang" yang memungkinkan bit mengalir atau tidak mengalir (off) melalui jalur data-.
c.        Instruksi biner (1 = on, 0 = off) yang mengontrol aliran yang disebut micro-instruksi.
 
Jalur data
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQduPe8Y_LkocVUUxdPspFRgRJgv7P2QOHWYon6WqLvnNGl40naFDGVpqlR5iubsIfShv3rOVgx8BK1jQuz10QDqHR-mYwaFkfSE1qb9tBTHKxjEh5HWCXDb1EMSaSiWTCxIHCF5Q09TM/s1600/von-neumann-3.gif

3.
     Memori Operasi
Ada dua operasi kunci pada memori:
a.       fetch( address )  nilai kembali tanpa mengubah nilai yang disimpan di alamat itu.
b.      store( address, value )  menulis nilai baru ke dalam sel pada alamat yang diberikan.
·         Memori jenis ini adalah acak-akses, yang berarti bahwa CPU dapat mengakses nilai dari array setiap saat (vs akses sekuensial, seperti pada tape).
·         Memori seperti ini disebut RAM (random-access memory.)
·         Beberapa memori non-volatile, atau read-only (ROM
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiROu1S2lFv0h6-wb7uw5AW5eZGnqSnMg4Uar4mtPzAKCh1eOwTfD8CyYgO0zFXHCp4WSH5mL9Z7QVmerljn8zw6uVmkdN-WFF_SBkVOTN32tqzg3Qn12pIqC4BTCCe-YMT_YHrT0x5oZY/s1600/von-neumann-4.JPG

Keuntungan Model Arsitektur Von Neuman
a.       fleksibilitas pengalamatan program dan data.
b.       program selalu ada di ROM dan data selalu ada di RAM.
c.       Arsitektur Von Neumann memungkinkan prosesor untuk menjalankan program yang ada didalam memori data (RAM).
Kelemahan Model Arsitektur Von Neumann
a.       bus tunggalnya itu sendiri. Sehingga instruksi untuk mengakses program dan data harus dijalankan secara sekuensial dan tidak bisa dilakukan overlaping untuk menjalankan dua isntruksi yang berurutan.
b.      bandwidth program harus sama dengan banwitdh data. Jika memori data adalah 8 bits maka program juga harus 8 bits.

c.       prosesor Von Neumann membutuhkan jumlah clock CPI (Clock per Instruction) yang relatif lebih banyak sehingga eksekusi instruksi dapat menjadi relatif lebih lama.

Arsitektur Komputer Model Harvard
Arsitektur Harvard memiliki dua memori yang terpisah satu untuk program (ROM) dan satu untuk data (RAM), yang mana arsitektur ini merupkan kebalikkan dari arsitektur komputer model von nuemann, jika von neuman mengabungkan ROM dan RAM menjadi satu maka arsitektur harvard maka kedua memori tersebut dipisahkan.

Pada mikroprosesor yang berarsitektur Harvard, overlaping pada saat menjalankan instruksi bisa terjadi. Satu instruksi biasanya dieksekusi dengan urutan fetch (membaca instruksi ), decode (pengalamatan), read (membaca data), execute (eksekusi) dan write (penulisan data) jika perlu. Secara garis besar ada dua hal yang dilakukan prosesor yaitu fetching atau membaca perintah yang ada di memori program (ROM) dan kemudian diikuti oleh executing berupa read/write dari/ke memori data (RAM). Karena pengalamatan ROM dan RAM yang terpisah, ini memungkinkan CPU untuk melakukan overlaping pada saat menjalankan instruksi. Dengan cara ini dua instruksi yang beurutan dapat dijalankan pada saat yang hampir bersamaan. Yaitu, pada saat CPU melakukan tahap executing instruksi yang pertama, CPU sudah dapat menjalankan fetching instruksi yang ke-dua dan seterusnya. Ini yang disebut dengan sistem pipeline, sehingga program keseluruhan dapat dijalankan relatif lebih cepat. 

Pada arsitektur Harvard, lebar bit memori program tidak mesti sama dengan lebar memori data. Misalnya pada keluarga PICXX dari Microchip, ada yang memiliki memori program dengan lebar 12,14 atau 16 bits, sedangkan lebar data-nya tetap 8 bits. Karena bandwith memori program yang besar (16 bits), opcode dan operand dapat dijadikan satu dalam satu word instruksi saja. Tujuannya adalah supaya instruksi dapat dilakukan dengan lebih singkat dan cepat. 

Kedua hal di atas inilah yang membuat prosesor ber-arsitektur Harvard bisa memiliki CPI yang kecil. PICXX dari Microchip dikenal sebagai mikroprosesor yang memiliki 1 siklus mesin (machine cycle) untuk tiap instruksinya, kecuali instruksi percabangan. 


Dari segi kapasitas memori, tentu arsitektur Harvard memberi keuntungan. Karena memori program dan data yang terpisah, maka kavling total memori program dan data dapat menjadi lebih banyak. Mikrokontroler 8bit Motorola 68HC05 memiliki peta memori 64K yang dipakai bersama oleh RAM dan ROM. Oleh sebab itu pengalamatan ROM dan RAM hanya dapat mencapai 64K dan tidak lebih. Sedangkan pada mikrokontroler Intel keluarga 80C51 misalnya, memori program (ROM) dan memori data (RAM) masing-masing bisa mencapai 64K. 

Tetapi ada juga kekurangannya, arsitektur Harvard tidak memungkinkan untuk menempatkan data pada ROM. Kedengarannya aneh, tetapi arsitektur ini memang tidak memungkinkan untuk mengakses data yang ada di ROM. Namun hal ini bisa diatasi dengan cara membuat instruksi dan mekanisme khusus untuk pengalamatan data di ROM. Mikroprosesor yang memiliki instruksi seperti ini biasanya disebut ber-arsitektur Modified Harvard. Instruksi yang seperti ini dapat ditemukan pada keluarga MCS-51 termasuk Intel 80C51, P87CLXX dari Philips dan Atmel AT89LSXX

DIAGRAM BLOK ARSITEKTUR HARDVARD

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBeBN5xbDAPCeRIcf-rJkK6bZJHODwlrnW6_oOlhdNQsKounSXtPnHbXZAw1EQDRe53eYOa3QH84x-jEogubLQ7RofDwL7gBAt7CSNfPHPHbpo-UFBarvNhdX5qll5JSStQ8E8Tg2KkZg/s1600/harvard-1.jpg

Diagram Arsitektur Komputer Model Harvard

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrVGcYXgCn6snivubRGOxu9vT6BdvGtIB2vuRTFbIRW_zuBnBpSzzgBavER6lZ-lDx8scEiqn1PixTGUOKkz71FXB8Hykf8jRcKQ0beQE6_LuvUaWP_WRZgJszgmffKW3YxBGl-sFU4bo/s1600/harvard.gif

Kelebihan Arsitektur Komputer Model Harvard
a.       bandwidth program tidak mesti sama dengan bandwidth  data
b.      opcode dan operand dapat dijadikan dalam satu word instruksi saja
c.       instruksi dapat dilakukan dengan lebih singkat dan cepat
d.      memori program dan data yang terpisah,  maka kavling total memori program dan data dapat menjadi lebih banyak.
Kekurangan Arsitektur Komputer Model Harvard
a.       arsitektur Harvard tidak memungkinkan untuk menempatkan data pada ROM.
b.       arsitektur in tidak memungkinkan untuk mengakses data yang ada di ROM

CISC & RISC
Pada saat ini ada dua konsep populer yang berhubungan dengan desain CPU dan set instruksi:
1. Complex Instruction Set Computing (CISC).
2. Reduce Instruction Set Computing (RISC).
    Semua sistem yang lama (komputer mainframe, komputer mini atau komputer mikro) relatif mempunyai sistem CISC. Walaupun sistem sekarang terdiri atas kedua jenis tersebut. Sistem RISCsaat ini lebih populer karena tingkat kerjanya, dibandingkan dengan sistem CISC. Namun karena biayanya tinggi, sistem RISC hanya digunakan ketika diperlukan kecepatan khusus, keandalan dan sebagainya.

CISC (Complex Instruction-Set Computer)
          Complex Instruction Set Computer (CISC) 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. Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar.
     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.
Contoh-contoh prosesor CISC adalah : System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.
CISC mempunyai karakteristrik :
1. Instruksi berukuran tunggal
2. Ukuran yang umum adalah 4 byte. 
3. Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah. 
4. Tidak terdapat pengalamatan tak langsung. 
5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmetika (misalnya, penambahan dari memori, penambahan ke memori). 

RISC (Reduce Instruction Set Computer)
  RISC Reduced Instruction Set Computingatau "Komputasi set instruksi yang disederhanakan. Merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Biasanya digunakan pada komputer berkinerja tinggi seperti komputer vektor.
       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.
Set-set instruksi yang kompleks tersebut dimaksudkan untuk :
1. Memudahkan pekerjaan kompiler
2. Meningkatkan efisiensie ksekusi, karena operasi yang kompleks dapat diimplementasikan didalam mikrokode.
3. Memberikan dukungan bagi HLL yang lebih kompleks dan canggih.

RISC mempunyai karakteristik :
1. One cycle execution time : satu putaran eksekusi.
2. Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
3. Pipelining  adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan. Sehingga proses instruksi lebih efiisien
4. Large number of registers: Jumlah register yang sangat banyak
5. RISC didesain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
6. Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang lebih ringkas dibandingkan dengan CISC.
7. RISC memiliki keunggulan dalam hal kecepatannya sehingga banyak digunakan untuk aplikasi-aplikasi yang memerlukan kalkulasi secara intensif.

Ø   Perbandingan antara RISC dengan CISC
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb1hcMbUBLEqNUTwVpHpmMIRCSXsASVvw-VVQPNJgoN54AFSvvUfbrLgp3vwpGobYRahGCqZWCI6cp5Jlds9PmsGqYChUKRNuurDvBeDLZlrtPf_Bm83SeGwcZiXSvn6R26AiVOm7PEs8/s1600/CISC+dan+RISC.png

      Cara sederhana untuk melihat kekurangan dan kelebihan dari CISC dan RISC adalah dengan membandingkannya secara langsung. Pada tahap perbandingan ini dicoba dengan menghitung perkalian dua bilangan dalam memori. Memori tersebut terbagi menjadi beberapa lokasi yang diberi nomor 1(baris): 1 (kolom) hingga 6:4. Unit eksekusi bertanggung-jawab untuk semua operasi komputasi. Namun, unit eksekusi hanya beroperasi untuk data yang sudah disimpan kedalam salah satu dari 6 register (A, B, C, D, Eatau F). Misalnya, kita akan melakukan perkalian (product) dua angka, satu di simpan di lokasi 2:3 sedangkan lainnya di lokasi 5:2, kemudian hasil perkalian tersebut dikembalikan lagi kelokasi 2:3.

1.Menggunakan Pendekatan RISC
       Prosesor RISC hanya menggunakan instruksi-instruksi sederhana yang bisa dieksekusi dalam satu siklus. Dengan demikian, instruksi ‘MULT’ sebagaimana dijelaskan sebelumnya dibagi menjadi tiga instruksi yang berbeda, yaitu“LOAD”, yang digunakan untuk memindahkan data dari memori kedalam register, “PROD”, yang digunakan untuk melakukan operasi produk (perkalian) dua operan yang berada di dalam register (bukan yang ada di memori) dan “STORE”, yang digunakan untuk memindahkan data dari register kembali kememori. Berikut ini adalah urutan instruksi yang harus dieksekusi agar yang terjadi sama dengan instruksi “MULT” pada prosesor RISC (dalam 4 baris bahasa mesin):
LOAD A, 2:3
LOAD B, 5:2
PROD A, B
STORE 2:3, A

2.Menggunakan Pendekatan  CISC
      Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi.
      Sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang  diberi nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yang berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja.
MULT 2:3, 5:2


CISC
- Penekanan pada perangkat keras (hardware) 
- Termasuk instruksi kompleks multi-clock
- Memori-ke-memori: “LOAD” dan “STORE” saling bekerjasama
- Ukuran kode kecil, kecepatan rendah
- Transistor digunakan untuk menyimpan instruksi-instruksi kompleks
    
RISC
- Penekanan pada perangkat lunak (software)
- Single-clock, hanya sejumlah kecil instruksi
- Register ke register: “LOAD” dan “STORE” adalah instruksi - instruksi terpisah
- Ukuran kode besar, kecepatan (relatif) tinggi
- Transistor banyak dipakai untuk register memori

x86 & ARM

x86
        Arsitektur x86 adalah rancangan Set Instruksi Komputer Kompleks (Complex Instruction Set Computer) dengan panjang instruksi yang bervariasi. Word disimpan dengan urutan endian-kecil. Kompatibilitas mundur menjadi motivasi terkuat dalam pengembangan arsitektur x86 (keputusan ini menjadi sangat penting dan sering dikritik, terutama oleh pesaing dari pendukung arsitektur prosesor lainnya, yang dibuat frustasi oleh sukses yang berkelanjutan dari arsitektur ini yang secara umum dipandang memilki banyak kelemahan). Prosesor-prosesor terkini dari x86 menerapkan beberapa langkah penerjemah (dekoder) “tambahan” untuk (saat eksekusi) memecah (sebagian besar) instruksi x86 kedalam potongan-potongan kecil instruksi (dikenal dengan “micro-ops”) yang selanjutnya dieksekusi oleh arsitektur setara dengan arsitektur RISC.
      Bahasa rakitan dari x86 dibahas secara lebih terperinci di artikel Bahasa Rakitan x86.

1.        Mode Real (Real Mode)

      Intel 8086 dan 8088 dilengkapi dengan 14 16-bit register. Empat diantaranya (AX, BX, CX, DX) dirancang sebagai fungsi umum (general purpouse) (meskipun masing-masing juga memiliki fungsi khusus tambahan; misalnya hanya register CX yang dapat digunakan sebagai penghitung (counter) dalam instruksi loop). Setiap register dapat diakses sebagai dua byte (8-bit) terpisah (jadi byte-atas BX’s dapat diakses sebagai BH dan byte-bawah-nya sebagai BL). Selain itu, terdapat juga empat register segmen (CS, DS, SS dan ES). Register ini digunakan untuk membangun alamat memori. Ada juga dua register penunjuk (pointer) (SP yang menunjuk pada titik awal stack, dan BP yang dapat menunjuk pada titik manapun dalam stack atau memori). Ada dua register indeks (SI dan DI) yang dapat digunakan sebagai penunjuk dalam array. Dan terakhir, ada sebuah register penanda (register flag) yang terdapat didalamnya penanda-penanda seperti carry, overflow, zero dan lain-lain, dan juga sebuah penunjuk instruksi (instruction pointer – IP) yang menunjuk ke alamat instruksi yang sedang dieksekusi.

      Dalam mode real, memori diakses secara tersegmentasi. Hal ini dilakukan dengan menggeser (shifting) alamat segmen 4 bit ke kiri dan menambah sebuah ofset untuk menghasilkan alamat akhir sepanjang 20-bit. Contohnya, jika DS berisi nilai A000h dan SI berisi nilai 5677h, DS:SI akan mengacu pada titik alamat real DS × 16 + SI = A5677h. Jadi jumlah total alamat memori yang dapat diakses dalam mode real adalah 220 byte, atau 1 MiB, jumlah yang sangat mengesankan di tahun 1978. Seluruh alamat memori terbagi dalam segmen dan ofset; dan setiap tipe akses (kode, data, atau stack) memiliki register segmen tertentu (untuk data register yang digunakan DS, untuk kode digunakan register CS, dan untuk stack digunakan SS). Untuk mengakses data, register segmen dapat secara langsung dipilih (dengan melakukan ubah-paksa (override) prefik segmen) dari empat register segmen yang tersedia.

      Dengan aturan ini, dua pasang segmen/ofset yang berbeda bisa mengacu ke lokasi memori absolut yang sama. Jadi bila DS berisi A111h dan SI 4567h, DS:SI akan menunjuk ke alamat A56777h seperti di atas. Lebih lanjut, CS dan SS berperan vital bagi program agar berfungsi secara benar, sehingga hanya DS dan ES yang dapat dipakai untuk mengacu ke segmen data diluar program (atau lebih tepatnya, diluar segmen program yang sedang dieksekusi) atau stack. Skema ini, yang semula bertujuan mempertahankan kompatibilitas dengan Intel 8085, sering dikeluhkan oleh para programer (walaupun beberapa programer tidak terlalu mempedulikannya, dan popularitas x86 sebelum tahun-tahun mode proteksi diperkenalkan membuktikan bahwa hal ini bukan cacat yang sangat serius).

      Selain itu, 8086 juga memiliki 64 KB alamat I/O 8-bit (atau 32 K-word dari 16-bit), dan satu 64 KB (satu segmen) stack di memori yang didukung oleh hardware (memakai register-register SS, SP, dan BP). Hanya word (2 byte) yang bisa di-push ke stack. Stack tumbuh ke bawah (ke arah alamat yang lebih rendah secara numerik), dengan ujung bawah diacu oleh SS:SP. Ada 256 interrupt yang dapat diaktifkan oleh hardware maupun software. Interrupt tersebut bisa bertingkat, memanfaatkan stack untuk menyimpan alamat balik.

      CPU x86 32-bit yang modern masih mendukung real mode, bahkan memulai operasi pada real mode setelah reset. Kode real mode yang dijalankan pada prosesor-prosesor tersebut bisa memanfaatkan register 32-bit dan register segmen tambahan (FS dan GS) yang mulai tersedia sejak 80386.

2.        Mode terproteksi 16-bit (16-bit protected mode)

      Prosesor 80286 dapat menjalankan Operating System yang menggunakan Mode Real 16-bit prosesor 8086 tanpa perubahan pada OS, namun prosesor ini juga mempunyai mode lain, yaitu mode terproteksi. Mode terproteksi memungkinkan program untuk mengakses RAM yang berukuran 16MB, dan memiliki memori virtual hingga 1GB. Hal ini dimungkinkan karena mode terproteksi menggunakan register segmen untuk menyimpan index ke sebuah tabel segmen. Pada 80286, terdapat dua buah tabel segmen, yaitu tabel GDT dan tabel LDT, masing-masing dapat menyimpan hingga 8192 perinci segmen, tiap segment memberi akses untuk memori sebesar hingga 64KB. Tabel segmen ini menyimpan alamat dasar yang berukuran 24-bit, yang akan digunakan untuk menghitung alamat absolut dari memori yang akan digunakan. Selain itu, segmen-segmen ini dapat diberikan salah satu dari empat jenis level akses.


      Walaupun dibuatnya prosesor ini merupakan pengembangan yang baik, prosesor ini sangat jarang digunakan karena mode terproteksi tidak dapat menjalankan program-program yang berjalan mode real yang sudah ada sebagai proses, karena program-program mode real sering mengakses perangkat keras secara langsung dan beberapa ada yang melakukan aritmatika segmen, sehingga tidak dapat dijalankan pada mode terproteksi.

ARM

Prosesor berasitektur ARM merupakan prosesor yang paling banyak digunakan dalam perangkat mobile saat ini. Desainnya yang sederhana, membuat prosesor ARM cocok untuk aplikasi berdaya rendah.
Bebeda dari  Intel dan AMD yang memproduksi dan menjual prosesor rancangan mereka sendiri. ARM hanya menjual lisensi hak paten desain prosesor mereka kepada berbagai perusahaan manufaktur semikonduktor.
Lisensi arsitektur proseor ARM saat ini dimiliki oleh Alcatel, Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel melalui DEC, LG, Marvell Technology Group, NEC, NVIDIA, NXP Semiconductors, OKI, Quallcomm, Samsung, Sharp, ST Microelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamah dan ZiiLABS. Dalam situs resmi perusahaan, ARM mengklaim telah menjual 30 miliar unit prosesor dan lebih dari 16 juta prosesor terjual setiap harinya.
Pada awalnya, Advanced RISC Machines (ARM) yang didirikan pada tahun 1990 ini merupakan sebuah perusahaan patungan antara Acorn Computers, Apple Computer (sekarang Apple Inc), dan VLSI Technology. Pada tahun 1998, Advanced RISC Machines berganti nama menjadi ARM Holdings. Perusahaan ini fokus pada penelitan dan pengembangan desain arsitektur prosesor.
Arsitektur ARM menjadi dasar bagi sebagian besar central processing unit (CPU) di berbagai perangkat mobile. ARM mempunyai desain arsitektur Cortex seri M, R, A, hingga seri A57. Mereka juga memiliki desain arsitektur untuk graphics processing unit (GPU) bernama Mali.
Berikut daftar rancangan ARM dari awal hingga saat ini.
Arsitektur
Bit
Design ARM Holdings
Design dari Pihak ketiga
ARMv1
32/26
ARMv2
32/26
ARMv3
32
ARMv4
32
StrongARM, FA526
ARMv4T
32
ARMv5
32
XScale, FA626TE, Feroceon, PJ1/Mohawk
ARMv6
32
ARMv6-M
32
Microcontroller
ARMv7-M
32
Microcontroller
ARMv7E-M
32
Microcontroller
ARMv7-R
32
Real-Time
ARMv7-A
32
KraitScorpion, PJ4/Sheeva, Apple A6 /A6X (Swift)
Application
ARMv8-A
64
X-GeneDenverApple A7 (Cyclone)
Application
Menurut data dari ARM Holding, arsitektur ARM menguasai 95 persen arsitektur prosesor smartphone, 35 persen televisi digital, serta 10 persen komputer mobileHampir semua tablet dan smartphone unggulan, baik yang berbasis Android, iOS, BlackBerry, hingga Windows Phone, memakai prosesor arsitektur ARM. Beberapa konsol game portabel, seperti Game Boy Advance, Nintendo DS, dan PlayStation Portable, memakai prosesor ARM.
ARM juga mengekspansi bisnisnya ke pasar komputer server. Pada Mei 2012, Dell mengumumkan Copper, server yang memakai prosesor Marvell dengan desain ARM.
Pada Oktober 2012, ARM juga mengumumkan prosesor 64-bit dari keluarga Cortex-A57 yang saat ini digunakan oleh iPhone 5s, iPad Air dan iPad Mini generasi kedua. Samsung juga telah membeli lisensi desain ARM 64-bit untuk smartphonenya yang akan dirilis di 2014.

Perbedaan Prosessor X86 dan ARM

Prosessor X86
Prosessor ARM
  • Arsitektur ARM merupakan arsitektur prosesor 32-bit RISC yang dikembangkan oleh ARM Limited. Dikenal sebagai Advanced RISC Machine dimana sebelumnya dikenal sebagai Acorn RISC Machine. Pada awalnya merupakan prosesor desktop yang sekarang didominasi oleh keluarga x86.

  • Desainnya  yang sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah.Prosesor ARM digunakan di berbagai bidang seperti elektronik umum, termasuk PDA, mobile phone, media player, music player, game console genggam, kalkulator dan periperal komputer seperti hard disk drive dan router.

  • prosesor yang menggunakan perintah sederhana misal diberi  perintah menghitung 24 ARM akan mengartikan perintah 24  sebagai 2*2*2*2

  • prosesor RISC (ARM)cenderung memiliki transistor jauh lebih sedikit daripada prosesor CISC dengan  transistor  yang lebih sedikit  itu berarti  daya yang  digunakan juga lebih kecil, lebih sedikit panas, dan ruang yang sangat kecil, sehingga sangat cocok untuk perangkat-perangkat kecil dengan kemepuan terbatas.

  • operasi  floating point dan operasi pembagian tidak termasuk dalam mode pengalamatan prosessor RISC(ARM) operasi  floating point dann operasi pembagian  biasanya diturunkan untuk coprocessors.

  • Proyek Acorn RISC Machine resmi dimulai pada Oktober 1983. VLSI Technology, Inc dipilih sebagai mitra dalam memproduksi chip silikon dimana sebelumnya telah memproduksi ROM dan custom chip sebelumnya. Proses desain dipimpin oleh Wilson dan Furber, dengan tujuan utama latensi rendah (low-latency) pada penanganan input/output (interupsi) seperti pada prosesor MOS Technology 6502. Arsitektur 6502 memberikan pengembang mesin yang cepat dalam pengaksesan memory tanpa harus menggunakan perangkat direct access memory yang mahal. VLSI memproduksi chip ARM pertama kali pada 26 April 1985 yang berhasil bekerja dan dikenal sebagai ARM1. Dan disusul dengan ARM2 yang diproduksi pada tahun berikutnya dan terus berkembang.

  • Pada akhir 1980-an, Apple Computer dan VLSI Technology memulai kerja sama dengan Acorn untuk prosesor ARM berikutnya. Hasil kerja sama Apple-ARM menghasilkan ARM6 pada awal tahun 1992. Apple menggunakan ARM6 (ARM 610) sebagai prosesor pada PDA Apple Newton dan pada tahun 1994 Acorn menggunakan ARM6 pada komputer PC RISC. Pada frekuensi 233 MHz, prosesor ini hanya mengonsumsi daya sebesar 1 Watt dan versi berikutnya lebih kecil dari itu.
  • Arsitektur x86 adalah rancangan Set Instruksi Komputer Kompleks (Complex Instruction Set Computer) dengan panjang instruksi yang bervariasi. prosesor-prosesor awal dari keluarga arsitektur ini memiliki nomor model yang diakhiri dengan urutan angka “86″: prosesor 8086, 80186, 80286, 386, dan 486. Karena nomor tidak bisa dijadikan merek dagang, Intel akhirnya menggunakan kata Pentium untuk merek dagang processor generasi kelima mereka.