CPU terdiri dari beberapa bagian yang berbeda yang saling
berintegrasi dalam membentuk fungsinya secara bersamaan. Pada bagian ini akan dibahas
perkembangan arsitektur CPU dari tiga 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 dan generasi komputer
modern.
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 prototype dari komputer-komputer jaman sekarang. Mesin
tersebut dikenal dengan nama Babbage’s 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 input, digunakan untuk membaca instruksi-instruksi dan data dari
kartu berlubang.
- 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.
Arsitektur Mesin 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”.
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. Sketsa
arsitektur dari rancangan tersebut adalah seperti pada gambar di bawah ini.
Dari gambar di atas, dapat diketahui bahwa mesin Neumann
memiliki lima bagian utama, yaitu :
- 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.
Arsitektur
Mesin Komputer Modern (1980 …)
Arsitektur CPU komputer modern, secara umum dapat dilihat
seperti pada gambar di bawah ini :
Pada gambar di atas, dapat dilihat bagian-bagian CPU yang
lebih lengkap seperti Register, Control Unit, Kendali I/O (Interconection) dan
Arithmetic Logic Unit.
Bagian-bagian pada
CPU
- 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 menjalankan 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 :
1.
CPU awalnya akan membaca instruksi dari memori.
2. Terdapat register
dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang
disebut Program Counter (PC).
3. PC akan menambah
satu hitungannya setiap kali CPU membaca instruksi.
4. 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 Interrupt
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 adalah
untuk memanajemen 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
pada CPU
- Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi
pada hasil eksekusi program. Contohnya: arimatika overflow, pembagian nol,
oparasi ilegal.
- Timer, adalah interupsi yang dibangkitkan pewaktuan dalam
prosesor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu
secara reguler.
- 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
Perkembangan Desain
Prosessor
Tanembaun (2001) mengemukakan adanya prinsip-prinsip
penting dalam melakukan desain prosessor komputer modern. Dikenal dengan
prinsip RISC (Reduced Instruction Set Computer), yang antara lain sebagai
berikut :
Prinsip 1 : Memaksimalkan
kecepatan di mana instruksi-instruksi dikeluarkan
Prinsip ini menekankan pengembangan jumlah instruksi yang
dapat diproses per detik pada sebuah prosesor. Dari konsep ini akhirnya lahir
istilah MIPS (Milion of Instruction Per Second) yang nantinya akan menunjukan
bahwa paralelisme prosesor akan dapat meningkatkan kinerja sebuah komputer.
Prinsip 2 :
Memperbanyak instruksi yang secara langsung dapat dijalankan hardware untuk
mempercepat kinerja
Untuk meningkatkan kecepatan proses eksekusi sebuah
perintah, maka salah satu cara yang dapat ditempuh adalah dengan memperbanyak
jumlah instruksi yang dapat secara langsung dijalankan oleh hardware komputer.
Prinsip 3 :
Instruksi-instruksi harus mudah untuk di kodekan
Batas kritis pada tingkat kecepatan adalah dekode dari
setiap instruksi. Semakin sedikit format instruksi maka akan semakin baik
kinerja dan kecepatan sebuah eksekusi instruksi.
Prinsip 4 : Hanya
instruksi LOAD dan STORE yang diakses ke memory
Prinsip ini memberikan pandangan kepada para peneliti dan
pengembang komputer untuk berusaha memperkecil instruksi yang langsung diakses
dari memory utama.
Prinsip 5 : Menyiapkan
banyak register
Rata-rata sekarang memiliki 32 register dalam sebuah CPU.
Tidak ada komentar:
Posting Komentar