Anda di halaman 1dari 9

Perkembangan Arsitektur CPU

CPU(Central Processing Unit) terdiri dari beberapa bagian yang berbeda yang saling berintegrasi
dalam membentuk fungsinya secara bersamaan. Pada bagian ini akan dibahas perkembangan
arsitektur CPU dari beberapa generasi yaitu generasi pra komputer yang akan diwakili oleh
arsitektur mesin Analitis Babagge, generasi komputer pertama yang stored program yang
diwakili oleh mesin Von Noumann, generasi komputer modern dan sebagainya.

PERKEMBANGAN ARSITEKTUR CPU

1) Arsitektur Mesin Analitis Babbage (1843)


Pada tahun 1843, seorang professor matematika dari Universitas Cambridge Inggris yang
bernama Charles Babbage, menemukan suatu konsep pemrosesan data yang menjadi dasar kerja
dan prototipe dari komputer-komputer jaman sekarang. Mesin tersebut dikenal dengan nama
Babbages Analytical Engine.

Babbages Analytical Engine

Mesin Analitis Babbage merupakan alat mekanis pertama yang mampu dipergunakan untuk
menjalankan beberapa algoritma. Artinya mesin tersebut sudah dapat dipergunakan untuk
berbagai keperluan. Programming mesin tersebut dilakukan langsung oleh seorang programmer
yang pada waktu itu dilakukan oleh Ada Augusta Lovelace (penemu bahasa ADA sebagai bahasa
pemrograman pertama di dunia).

Mesin Babbage memiliki empat blok utama dalam menjalankan fungsinya, yaitu :
Bagian penyimpanan, memuat 1000 Word yang masing-masing terdiri dari 50 digit
desimal. Bagian tersebut digunakan untuk menyimpan operand-operand matematika dari suatu
perhitungan.
Bagian pengolah, digunakan untuk melakukan pemrosesan data berdasarkan instruksi
yang diberikan oleh kartu-kartu plong.
Bagian output, terdiri dari output tercatat dan output tercetak yang digunakan untuk
menyimpan serta menampilkan hasil pengolahan. Salah satu kelemahan mesin ini yang bukan
merupakan konsep komputer modern adalah bahwa mesin ini belum stored program atau tidak
mampu menyimpan program secara tetap.
2) Arsitektur Von Neumann (1952)
Mesin Von Neumann dalam hal ini mewakili mesin komputer generasi pertama yang bersifat
stored program. John Von Neumann adalah seorang ahli matematika dan anggota Institute of
Advance Study di Princention New Jersey yang bekerja sama dengan H.H. Goldstine dan A.W.
Binks mengajukan suatu makalah yang menyarankan bahwa dalam pembuatan komputer
sebaiknya menggunakan angka binary. Konsep tersebut pada akhirnya menjadi tonggak sejarah
dalam terciptanya komputer digital yang akhirnya membawa Neumann pada julukan promoter
of the stored program (software) concept.

Non Neumann dengan mesin kebanggannya

Rancangan dasar mesin yang diberi nama IAS ini adalah konsep Neumann yang menyatakan
bahwa pemrograman komputer secara langsung dengan menggunakan banyak tombol dan kabel
adalah sesuatu yang melelahkan, lambat dan tidak fleksibel. Untuk itu dia berpikiran bahwa
sebuah program dapat diwakili dalam bentuk digital dan tersimpan secara tetap dalam memori
komputer secara bersama-sama.

Dapat diketahui bahwa mesin Neumann memiliki lima bagian utama sebagai berikut :
Unit Input untuk membaca data dan instruksi yang diberikan.
Main Memory terdiri dari 4096 Word satu word memuat 40 bit biner.
Arithmetic Logic sebagai bagian yang berfungsi sebagai unit pemrosesan.
Control Unit sebagai pengendali kerja antar komponen arsitektur.
Unit Output untuk menampilkan hasil pengolahan data yang dilakukan ALU dan CU.

Dari arsitektur mesin tersebut terlihat bahwa mesin ini sudah memiliki bagian-bagian yang
menjadi prototipe komputer modern yaitu Arithmetic Logic dan Control Unit yang merupakan
bagian dari Central Processing Unit.
3) Arsitektur Mesin Komputer Modern (1980)
Arsitektur CPU komputer modern secara umum adalah
Arithmetic and Logic Unit (ALU) bertugas membentuk fungsi - fungsi pengolahan data
komputer
Control Unit bertugas mengontrol operasi CPU dan secara keseluruhan mengontrol
komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi - fungsi
operasinya
Registers adalah media penyimpan internal CPU yang digunakan saat proses pengolahan
data
CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen
internal CPU, yaitu ALU, unit kontrol dan register - register dan juga dengan bus - bus eksternal
CPU yang menghubungkan dengan sistem lainnya

FUNGSI CPU
Fungsi CPU adalah penjalankan program - program yang disimpan dalam memori utama
dengan cara mengambil instruksi - instruksi, menguji instruksi tersebut dan mengeksekusinya
satu persatu sesuai alur perintah
Proses Eksekusi Program adalah dengan mengambil pengolahan instruksi yang terdiri
dari dua langkah, yaitu operasi pembacaan instruksi (fetch) dan operasi pelaksanaan instruksi
(execute).
Siklus Fetch Eksekusi Program : CPU awalnya akan membaca instruksi dari
memori, lalu terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi
selanjutnya, yang disebut Program Counter (PC), lalu PC akan menambah satu hitungannya
setiap kali CPU membaca instruksi dan terakhir Instruksi - instruksi yang dibaca akan dibuat
dalam register instruksi (IR).

AKSI-AKSI DI DALAM CPU


CPU - Memori, perpindahan data dari CPU ke memori dan sebaliknya.
CPU - I/0, perpindahan data dari CPU ke modul I/0 dan sebaliknya.
Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data.
Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi
pengubahan urutan eksekusi.

SIKLUS INSTRUKSI DALAM CPU


Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat
instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke
alamat instruksi sebelumnya.
Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke
CPU.
Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan
jenis operasi yang akan dibentuk dan operand yang akan digunakan.
Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini
dilakukan apabila melibatkan referensi operand pada memori.
Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul i/o.
Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.

TENTANG INTERUPT
Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi
dalam CPU kepada routine interupsi. Hampir semua modul (memori dan I/0) memiliki
mekanisme yang dapat menginterupsi kerja CPU.
Tujuan interupsi secara umum untuk manajemen pengeksekusian routine instruksi agar
efektif dan efisien antar CPU dan modul - modul I/0 maupun memori.
Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali
terletak pada CPU disamping itu kecepatan eksekusi masing - masing modul berbeda sehingga
dengan adanya fungsi interupsi ini dapat sebagai sinkronisasi kerja antar modul.

SINYAL INTERUPSI DALAM CPU


Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada
hasil eksekusi program. Contohnya: arimatika overflow, pembagian nol, oparasi illegal.
Timer, adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini
memungkinkan sistem operasi menjalankan fungsi tertentu secara regular.
I/0, sinyal interupsi yang dibangkitkan oleh modul I/0 sehubungan pemberitahuan kondisi
error dan penyelesaian suatu operasi.
Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan
paritas memori.

INTERUPSI GANDA
Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
Kemudian setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru di tangani.
Pendekatan ini disebut pengolahan interupsi berurutan / sekuensial.
Prioritas bagi interupsi dan interrupt handler mengizinkan interupsi berprioritas lebih
tinggi ditangani terlebih dahulu. Pedekatan ini disebut pengolahan interupsi bersarang.

INTERUPSI BERSARANG
Sistem memiliki tiga perangkat I/0: printer, disk, dan saluran komunikasi.
Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data
pada saluran komunikasi sehingga modul komunikasi meminta interupsi.
Proses selanjutnya adalah pengalihan eksekusi interupsi modul komunikasi, sedangkan
interupsi printer ditangguhkan.
Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya
lebih rendah maka interupsi disk ditangguhkan.
Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki
prioritas lebih tinggi, yaitu disk.
Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer.
Selanjutnya dilanjutkan eksekusi program utama.
4) Arsitektur RISC
RICS singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur
mikroprosessor, berbentuk kecil dan berfungsi untuk mengeset instruksi 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 di implementasikan 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, yaitu :


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.

Beberapa Karakteristik-Karakteristik Eksekusi Instruksi, yaitu :

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 ke
tidak efisienan 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 kelas-kelas
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).

5) 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, yaitu :
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.

6) 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 menyediakan organisasi internal yang berbeda
sedemikian rupa instruksi dapat diambil dan dikodekan ketika dan data, tetapi juga menyediakan
organisasi internal yang berbeda sedemikian rupa instruksi dapat lebih 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 diambil dan dikodekan ketika
berbagai data sedang diambil dan dioperasikan. Sebagai contoh, mikro kontroler 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.

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

Anda mungkin juga menyukai