Rabu, 14 November 2018

CPU, sistem bus, dan ALU


CENTRAL PROCESSING UNIT ( CPU )

Central Processing Unit ( CPU ), merujuk kepada perangkat keras komputer yang memahami dan melaksanakan perintah dan data dari perangkat lunak. Istilah lain, pemroses/prosesor (processor), sering digunakan untuk menyebut CPU. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU. CPU Merupakan bagian utama dari komputer karena processor berfungsi untuk mengatur semua aktifitas yang ada pada komputer. Kecepatan eksekusi processor tergantung apalagi pada frekuensinya, satuan adalah MHz (MegaHertz) atau GHz (1 GigaHertz = 1000 MegaHertz).


Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
Unit kontrol yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antarkomponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmetika 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. Dengan demikian tugas dari unit kendali ini adalah:
  • Mengatur dan mengendalikan alat-alat masukan (input) dan keluaran (output).
  • Mengambil instruksi-instruksi dari memori utama.
  • Mengambil data dari memori utama (jika diperlukan) untuk diproses.
  • Mengirim instruksi ke ALU bila ada perhitungan aritmetika atau perbandingan logika serta mengawasi kerja dari ALU.
  • Menyimpan hasil proses ke memori utama.

Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.

ALU adalah unit yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmetika yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmetika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder. Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).

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, seperti memori utama, peranti masukan /keluaran.

Cara Kerja CPU

Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di MAA (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register).
Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Akumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.

Fungsi CPU

Sebagai komponen utama dalam sebuah komputer, CPU memiliki beberapa fungsi penting. Diantara fungsi-fungsi tersebut antara lain :
1.      Fetching
Fetching adalah suatu istilah yang digunakan dalam ilmu komputer dan diartikan sebagai proses pengambilan atau pemanggilan data. Dalam sebuah perangkat komputer, data disimpan dalam harddisk pada CPU dengan sebuah alamat.
Diibaratkan data didalam prosesor atau CPU disusun dalam kumpulan alamat dan ketika suatu program dijalankan CPU akan mengambil data dari alamat yang tersimpan dalam komponennya tersebut.
2.      Decoding
Dalam suatu sistem CPU, sebuah program yang akan dijalankan atau yang dieksekusi, harus sesuai dengan kode instruksi yang nantinya akan diterjemahkan agar CPU dapat mengenalinya dalam kode instruksi biner. Dapat disimpulkan bahwa decoding adalah suatu proses penterjemahan suatu program ke dalam bahasa yang dimengerti oleh CPU.
Decoding terjadi di dalam CPU dan semua program yang berjalan dalam perangkat komputer harus melalui proses decoding terlebih dahulu.
3.      Executing
Saat suatu program dijalankan maka CPU akan mengeksekusi program tersebut. Maksudnya adalah CPU akan melakukan satu hal yakni melakukan kalkulasi atau perhitungan dengan menggunakan suatu komponen didalamnya yang disebut dengan ALU atau Arithmetical Logical Unit .
Kompenen ALU sendiri bertanggung jawab dalam semua proses perhitungan matematika dan logika dalam komputer. Selain itu fungsi eksekusi dari suatu CPU juga berarti sebagai proses pemindahan suatu data dari suatu perangkat memori menuju perangkat memori yang lainnya.
4.      Storing
Storing atau menyimpan data adalah salah satu fungsi lainnya dari CPU. Saat seseorang menggunakan komputer maka ia membutuhkan perangkat untuk menyimpannya baik secara sementara maupun secara permanen.
Jika seseorang membutuhkan data dengan cepat dan memyimpannya secara sementara maka CPU akan menyimpannya dalam RAM sementara data yang disimpan secara permanen akan masuk ke dalam harddisk. Kedua fungsi tersebut dilakukan dan dikendalikan sepenuhnya oleh CPU.

BUS SISTEM

System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Sebuah komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.
Bus disusun secara hierarkis, karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu bus yang ada. Sebagai contoh, kartu grafis AGP akan dihubungkan ke bus AGP. Beberapa perangkat lainnya (utamanya chipset atau kontrolir) akan bertindak sebagai jembatan antara bus-bus yang berbeda. Sebagai contoh, sebuah kontrolir bus SCSI dapat mengubah sebuah bus menjadi bus SCSI, baik itu bus PCI atau bus PCI Express.

Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data maka bus ini disebut multiplexed bus. Kekurangan multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat tempat tetapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari multipexed bus.
Beberapa bus utama dalam sistem komputer modern adalah sebagai berikut:

Bus prosesor. Bus ini merupakan bus tercepat dalam sistem dan menjadi bus inti dalam chipsetdan motherboard. Bus ini utamanya digunakan oleh prosesor untuk meneruskan informasi dari prosesor ke cache atau memori utama ke chipset kontrolir memori (Northbridge, MCH, atau SPP). Bus ini juga terbagi atas beberapa macam, yakni Front-Side Bus, HyperTransport bus, dan beberapa bus lainnya. Sistem komputer selain Intel x86 mungkin memiliki bus-nya sendiri-sendiri. Bus ini berjalan pada kecepatan 100 MHz, 133 MHz, 200 MHz, 266 MHz, 400 MHz, 533 MHz, 800 MHz, 1000 MHz atau 1066 MHz. Umumnya, bus ini memiliki lebar lajur 64-bit, sehingga setiap detaknya ia mampu mentransfer 8 byte.
Bus AGP(Accelerated Graphic Port). Bus ini merupakan bus yang didesain secara spesifik untuk kartu grafis. Bus ini berjalan pada kecepatan 66 MHz (mode AGP 1x), 133 MHz (mode AGP 2x), atau 533 MHz (mode AGP 8x) pada lebar jalur 32-bit, sehingga bandwidth maksimum yang dapat diraih adalah 2133 MByte/s. Umumnya, bus ini terkoneksi ke chipsetpengatur memori (Northbridge, Intel Memory Controller Hub, atau NVIDIA nForce SPP). Sebuah sistem hanya dapat menampung satu buah bus AGP. Mulai tahun 2005, saat PCI Express mulai marak digunakan, bus AGP ditinggalkan.

Bus PCI(Peripherals Component Interconnect). Bus PCI tidak tergantung prosesor dan berfungsi sebagai bus peripheral. Bus ini memiliki kinerja tinggi untuk sistem I/O berkecepatan tinggi. Bus ini berjalan pada kecepatan 33 MHz dengan lebar lajur 32-bit. Bus ini ditemukan pada hampir semua komputer PC yang beredar, dari mulai prosesor Intel 486 karena memang banyak kartu yang menggunakan bus ini, bahkan hingga saat ini. Bus ini dikontrol oleh chipset pengatur memori (northbridge, Intel MCH) atau Southbridge (Intel ICH, atau NVIDIA nForce MCP).
  • Bus PCI Express(Peripherals Component Interconnect Express)
  • Bus PCI-X(Peripherals Component Interconnect Express)
  • Bus ISA(Industry Standard Architecture)
  • Bus EISA(Extended Industry Standard Architecute)
  • Bus MCA(Micro Channel Architecture)
Bus SCSI (Small Computer System Interface). Bus ini diperkenalkan oleh Macintosh pada tahun 1984. SCSI merupakan antarmuka standar untuk drive CD-ROM, peralatan audio, harddisk, dan perangkat penyimpanan eksternal berukuran besar
Bus USB(Universal Serial Bus). Bus ini dikembangkan oleh tujuh vendor komputer, yaitu Compaq, DEC, IBM, Intel, Microsoft, NEC, dan Northern Telecom. Bus ini ditujukan bagi perangkat yang memiliki kecepatan rendah seperti keyboard, mouse, dan printer karena tidak akan efisien jika perangkat yang berkecepatan rendah dipasang pada bus berkecepatan tinggi seperti PCI. Keuntungan yang didapat dari bus USB antara lain : tidak harus memasang jumper, tidak harus membuka casing untuk memasang peralatan I/O, hanya satu jenis kabel yang digunakan, dapat mensuplai daya pada peralatan I/O, tidak diperlukan reboot.
Bus 1394. Bus yang mempunyai nama FireWirememiliki kecepatan tinggi diatas SCSI dan PCI. Bus 1394 sangat cepat, murah, dan mudah untuk diimplementasikan. Bus ini tidak hanya populer perangkat komputer tetapi juga perangkat elektronik seperti kamera digital, VCR, dan televisi.

UNIT ARITMATIKA DAN LOGIKA

Simbol umum ALU.
ALU, singkatan dari Arithmetic And Logic Unit (bahasa Indonesia: unit aritmetika dan logika), adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmetika dan logika. Contoh operasi aritmetika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. tugas utama dari ALU (Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmetika atau matematika yang terjadi sesuai dengan instruksi program.
ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder. Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
sama dengan (=)
tidak sama dengan (<>)
kurang dari (<)
kurang atau sama dengan dari (<=)
lebih besar dari (>)
lebih besar atau sama dengan dari (>=) (sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan) , Addu (penjumlahan tidak bertanda) , Sub (pengurangan) , Subu (pengurangan tidak bertanda) , and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain.
Cara Kerja Arithmetic Logic Unit (ALU)
Secara umum, sirkuit eksternal mengontrol sebuah ALU dengan menerapkan sinyal ke input. Biasanya, sirkuit eksternal mempekerjakan logika sekuensial untuk mengendalikan operasi ALU, yang mondar-mandir oleh sinyal clock frekuensi yang cukup rendah untuk memastikan waktu yang cukup untuk output ALU untuk menetap dalam kondisi terburuk.
Misalnya, CPU dimulai operasi Selain ALU oleh routing operan dari sumber mereka (yang biasanya register) untuk input operan ALU, sementara unit kontrol secara bersamaan berlaku nilai untuk masukan opcode ALU ini, mengkonfigurasi untuk melakukan penambahan. Pada saat yang sama, CPU juga rute ALU hasil output ke daftar tujuan yang akan menerima jumlah tersebut. sinyal input ALU, yang diadakan stabil sampai jam berikutnya, diperbolehkan untuk menyebarkan melalui ALU dan register tujuan sementara CPU menunggu jam berikutnya. Ketika jam berikutnya tiba, register tujuan menyimpan hasil ALU dan, sejak operasi ALU selesai, masukan ALU dapat diatur untuk operasi ALU berikutnya.

ALU melakukan operasi aritmatika dan logika dasar. Contoh operasi aritmatika adalah penambahan, pengurangan, perkalian, dan pembagian. Contoh operasi logika adalah perbandingan antara nilai-nilai dalam operasi logis bitwise yang digunakan seperti:
DAN: bitwise AND A dan B muncul di Y.
OR: bitwise OR A dan B muncul di Y.
Exclusive-OR: bitwise XOR dari A dan B muncul di Y.
Melengkapi satu: semua bit A (atau B) terbalik dan muncul di Y.
Semua informasi dalam komputer disimpan dan dimanipulasi dalam bentuk bilangan biner, yaitu 0 dan 1. switch Transistor digunakan untuk memanipulasi angka biner karena hanya ada dua kemungkinan dari switch: terbuka atau tertutup. Transistor terbuka, di mana tidak ada saat ini, merupakan 0. ditutup transistor, di mana ada saat ini, merupakan 1.
Operasi dapat dicapai dengan menghubungkan beberapa transistor. Satu transistor dapat digunakan untuk mengendalikan kedua kemungkinan yang berlaku, memutar saklar transistor atau menonaktifkan tergantung pada keadaan transistor kedua. Hal ini disebut sebagai gerbang karena pengaturan dapat digunakan untuk membolehkan atau menghentikan arus.
Jenis paling sederhana dari operasi adalah gerbang NOT. Ini hanya menggunakan satu transistor. Menggunakan satu input dan menghasilkan satu output, yang selalu kebalikan dari input. Angka ini menunjukkan logika gerbang NOT.
Bagaimana sebuah gerbang NOT memproses data biner ?

Gerbang lain yang terdiri dari beberapa transistor dan menggunakan dua input. Hasil gerbang OR dalam 1 jika salah satu dari masukan pertama atau masukan kedua adalah 1. gerbang OR hanya menghasilkan 0 jika kedua input adalah 0. Angka ini menunjukkan logika dari gerbang OR.

Bagaimana sebuah gerbang OR memproses data biner ?
AND hasil gerbang dalam 1 hanya jika kedua input pertama dan kedua adalah 1. Angka ini menunjukkan logika gerbang.

Bagaimana sebuah gerbang AND memproses data biner ?
Gerbang XOR, juga diucapkan X-gerbang OR, hasil dalam 0 jika kedua input adalah 0 atau jika keduanya 1. Jika tidak, hasilnya adalah 1. Angka ini menunjukkan logika gerbang XOR.
REGISTER PROSESOR
Register prosesor dalam arsitektur komputer adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.

Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti “register 8-bit”, “register 16-bit”, “register 32-bit”, atau “register 64-bit” dan lain-lain.

Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata “Register Arsitektur”. Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tetapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.
Jenis register
  • Register terbagi menjadi beberapa kelas:
  • Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
  • Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
  • Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
  • Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
  • Register konstanta(constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
  • Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
  • Register special purposeyang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
  • Register yang spesifik terhadap model mesin(machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor. 


Register di dalam CPU terdiri atas :

Instruction Register (IR) digunakan untuk menyimpan instruksi yang sedang
Program Counter (PC) adalah register yang digunakan untuk menyimpan alamat lokasi main memory yang berisi instruksi yang sedang diproses. Selama proses berlangsung, isi PC diubah menjadi alamat main memory yang berisikan instruksi berikutnya yang akan diproses. Hal ini memungkinkan untuk melacak jejak instruksi selanjutnya di main memory.
General purpose register, yaitu register yang mempunyai berbagai macam fungsi yang berhubungan dengan data yang sedang diproses. Misal, jika digunakan untuk menampung data yang sedang diolah disebut sebagai operand register, sedangkan jika digunakan untuk menampung hasil olahan disebut sebagai accumulator.
Memory Data Register (MDR), yaitu register yang digunakan untuk menampung data atau instruksi yang dikirimkan dari main memory ke CPU, atau menampung data yang akan disimpan ke main memory sebagai hasil olahan CPU.
Memory Address Register (MAR) digunakan untuk menampung alamat data atau instruksi pada main memory yang akan diambil atau yang akan diletakkan

arsitektur set instruksi (jenis2, teknik pengalamatan dan desain set instruksi)



ARSITEKTUR SET INSTRUKSI


Set Instruksi (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.
Jenis-Jenis Instruksi
  1. 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.
  2. Data Storage / Penyimpanan Data : instruksi- instruksi memori. Instruksi- instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
  3. 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.
  4. Control / Kontrol : instruksi pemeriksaan dan percabangan. Instruksi- instruksi kontrol digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set instruksi lain.
Desain Set Instruksi

Desain set instruksi merupakan masalah yang sangatkomplek yang melibatkan banyak aspek, diantaranya adalah:
  • Kelengkapan set instruksi
  • Ortogonalitas (sifat independensi instruksi)
  • Kompatibilitas : Source Code Compatibility dan Object Code Compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut :
  1. Operation Repertoire, Berapa banyak dan opera siapa saja yang disediakan, dan berapa sulit operasinya
  2. 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
TEKNIK PENGALAMATAN
  1. Immediate Addressing
Immediate Addressing ModePenjelasan :
  • Operand benar-benar ada dalam instruksi atau bagian dari intsruksi
  • Operand sama dengan field alamat
  • Umumnya bilangan akan disimpan dalam bentuk complement dua
  • Bit paling kiri sebagai bit tanda
  • Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data


Keuntungan : Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand dan menghemat siklus instruksi sehingga proses keseluruhan akan cepat

Kekurangan : Ukuran bilangan dibatasi oleh ukuran field

Contoh : ADD 7 yaitu tambahkan 7 pada akumulator

2. Direct Addressing
Direct Addressing ModePenjelasan :
  • Teknik ini banyak digunakan pada komputer lama dan komputer kecil
  • Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
Kelebihan : Field alamat berisi efektif address sebuah operand

Kekurangan : Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word

Contoh : ADD A yaitu tambahkan isi pada lokasi alamat A ke akumulator

3. Indirect Addressing
Indirect Addressing Mode


Penjelasan :
  • Merupakan mode pengalamatan tak langsung
  • Field alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang

Kelebihan : Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi

Kekurangan : Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi

Contoh : ADD (A) yaitu tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator

4. Register Addressing
Register Addressing Mode


Penjelasan :
  • Metode pengalamatan register mirip dengan mode pengalamatan langsung
  • Perbedaanya terletak pada field alamat yang mengacu pada register, bukan pada memori utama
  • Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose

Keuntungan : Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori dan akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat

Kerugian : Ruang alamat menjadi terbatas

5. Register Indirect Addressing
register indirect
Penjelasan :

  • Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung
  • Perbedaannya adalah field alamat mengacu pada alamat register
  • Letak operand berada pada memori yang dituju oleh isi register
  • Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung
  • Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak
  • Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung
6. Displacement Addressing
displacement addressing


Penjelasan :

  • Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung
  • Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
  • Operand berada pada alamat A ditambahkan isi register
  • Tiga model displacement :-Relative addressing : register yang direferensi secara implisit adalah Program Counter (PC)-Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat-Memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya.
  • Base register addressing : register yang direferensi berisi sebuah alamat memori dan field alamat berisi perpindahan dari alamat itu :-Referensi register dapat eksplisit maupun implisit-Memanfaatkan konsep lokalitas memori
  • Indexing : field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut

Contoh : Field eksplisit bernilai A dan field imlisit mengarah pada register

7. Stack addressing

Penjelasan :
  • Stack adalah array lokasi yang linier = pushdown list = last-in-firs-out
  • Stack merupakan blok lokasi yang terbaik
  • Btir ditambahkan ke puncak stack sehingga setiap blok akan terisi secara parsial
  • Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack
  • Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stack
  • Stack pointer tetap berada dalam register
  • Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung

Rabu, 17 Oktober 2018

ORGNISASI KOMPUTER DASAR

ORGANISASI KOMPUTER DASAR
Organisasi Komputer mempelajari bagian yang terkait dengan unit unit operasional komputer dan hubungan antara komponen sistem komputer.
contoh: sinyal kontrol, interface, teknologi memori

ü Struktur komputer adalah cara komponen – komponen komputer saling terkait dan berhubungan
ü Fungsi komputer adalah operasi masing masing komponen sebagai bagian dari struktur
Dari asal katanya “to compute” komputer berarti alat penghitung. Ternyata sekarang
komputer tak hanya berguna sebagai alat hitung saja tetapi sudah meluas fungsinya.

Cara kerja sebuah komputer dapat dideskripsikan secara sederhana dengan diagram
blok sebagai berikut :
Secara umum masing-masing bagian dapat kita rinci sebagai berikut :

1. Input Device
Input device adalah peralatan yang kita gunakan untuk memasukkan data atau perintah ke dalam komputer. Contoh :
• keyboard
• mouse
• scanner

2. Output Device
Output device adalah peralatan yang kita gunakan untuk melihat hasil pengolahan data atau perintah yang dilakukan oleh komputer. Contoh :
• monitor

3. I/O Ports
I/O adalah Input/Output. Bagian ini digunakan untuk menerima ataupun mengirim data keluar sistem. Peralatan-peralatan input dan output seperti yang tercantum di atas terhubung melalui port ini.

4. Central Processing Unit
Central Processing Unit (CPU) merupakan otak sistem komputer. CPU memilikidua bagian fungsi operasional yaitu Arithmetical Logical Unit (ALU) sebagai pusat pengolah data serta bagian Control Unit (CU) digunakan untuk mengontrol kerja komputer. Biasa disebut dengan nama processor saja.

5. Memory
Bagian ini terdiri dari internal memory yaitu berupa RAM (Random Access Memory) dan ROM (Read Only Memory) serta eksternal memory yaitu berbagai macam disk seperti hard disk, floppy disk dan optical disc.

6. Data Bus
Data bus adalah jalur-jalur perpindahan data antarmodul dalam sistem komputer. Biasanya terdiri dari 8, 16 , 32 atau 64 jalur data yang paralel. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, misalnya CPU dapat membaca dari memory atau port dan dapat juga mengirim ke memory atau port.

7. Address Bus
Address Bus digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini CPU akan mengirimkan alamat memory yang akan ditulis atau dibaca. Address Bus biasanya terdiri atas 16, 20, 24 atau 32 jalur paralel. Lebar Address Bus menentukan kapasitas memory maksimum sistem. Sebagai contoh bila CPU mempunyai Address Bus 20 bit maka CPU dapat mengalamatkan 220 atau 1048576 alamat (1 MB).

8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Control Bus terdiri dari 4 sampai 10 jalur paralel. CPU akan mengirimkan sinyal pada control bus ini bila akan meng-enable sebuah alamat yang ditunjuk, baik itu memory atau I/O port.

A. Struktur Utama Komputer
Struktur CPU
Fungsi dari Komputer
Pemindahan data
– Contoh: keyboard ke screen
Penyimpanan data
– Contoh: Internet download ke disk
Pemrosesan data dari penyimpan data ke I/O
– Contoh: printing a bank statement
Komponen Utama CPU
v Arithmetic and Logic Unit (ALU), bertugas membentuk fungsi fungsi pengolahan data komputer
v Control Unit, bertugas mengontrol operasi CPU dan secara keseluruhan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi fungsi operasinya
v Registers, adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data
v 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
v 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
v 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
v CPU awalnya akan membaca instruksi dari memori
v Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC)
v PC akan menambah satu hitungannya setiap kali CPU membaca instruksi
v Instruksi instruksi yang dibaca akan dibuat dalam register instruksi (IR)
Aksi-Aksi CPU
v CPU Memori, perpindahan data dari CPU ke memori dan sebaliknya
v CPU – I/0, perpindahan data dari CPU ke modul I/0 dan sebaliknya
v Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data
v Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi

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

Fungsi Interrupt
v 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
v Tujuan interupsi secara umum untuk menejemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul modul I/0 maupun memori
v 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
v Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya: arimatika overflow, pembagian nol, oparasi ilegal
v Timer, adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler
v //0, sinyal interupsi yang dibangkitkan oleh modul I/0 sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi
v Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori

Mekanisme Interupsi
v Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi ke prosesor
v Prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandel routine interupsi
v Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali
v Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak

Iterupsi Ditangguhkan
v Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan
v Prosesor menyetel program counter (PC) ke alamat awal routine interrupt handler

Iterupsi Ganda
v 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
v Prioritas bagi interupsi dan interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu. Pedekatan ini disebut pengolahan interupsi bersarang

Interupsi Bersarang
v Sistem memiliki tiga perangkat 1/0: printer, disk, dan saluran komunikasi
v Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi
v Proses selanjutnya adalah pengalihan eksekusi interupsi mudul komunikasi, sedangkan interupsi 

printer ditangguhkan
v Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan
v Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk
v Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer
v Selanjutnya dilanjutkan eksekusi program utama

B. KOMPONEN SISTEM
Sebuah komputer moderen/digital dengan program yang tersimpan di dalamnya merupakan sebuah system yang memanipulasi dan memproses informasi menurut kumpulan instruksi yang diberikan. Sistem tersebut dirancang dari modul-modul hardware seperti :
1. Register
2. Elemen aritmatika dan logika
3. Unit pengendali
4. Unit memori
5. Unit masukan/keluaran (I/O)
Komputer dapat dibagi menjadi 3 bagian utama, yaitu :
1. Unit pengolahan pusat (CPU)
2. Unit masukan/keluaran (I/O)
3. Unit memori
Organisasi dasar dari sebuah komputer dapat ditunjukan pada
blok diagaram pada gambar 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.

C. OPERASI MIKRO
Adalah operasi tingkat rendah yang dapat dilakukan oleh komputer atau CPU sehingga fungsi-fungsi operasi akan dihasilkan untuk memindahkan data antar register.
Salah satu cara dalam melakukan operasi mikro tersebut dengan menggunakan bahasa transfer register / Register Transfer Language (RTL).
RTL adalah sebuah bahasa yang digunakan untuk menjabarkan atau melaksanakan operasi mikro.Untuk mengungkapkan bahasa RTL ini dapat digunakan notasi RTL yang merupakan aturan penulisan pemberian instruksi RTL. Contoh notasi tersebut antara lain :
• Notasi RTL untuk mentransfer isi register A ke B
• Notasi RTL untuk mentransfer bagian-bagian dari register (field). Sebuah field pada sebuah register dinotasikan dengan menggunakan tanda kurung. Field AD di register IR ditransfer ke register PC
• Notasi RTL untuk mentransfer field AD dari register IR ke register PC
Isi register X ditransfer ke bit 0 sampai 3 pada register R1, yang berari X mempeunyai panjang bit adalah 4 Selain itu, dapat juga dipakai konstanta pada sisi sebelah kanan tanda panah.
Artinya simpan nilai 5 pada register L
• Notasi RTL untuk menggambarkan berbagai macam operasi-mikro Aritmatika.
Artinya isi register A1 dan A2 dijumlahkan dengan menggunakan sirkuit adder biner dan hasil jumlahnya ditransfer ke register A3. Namum apabila dilakukan pengulangan penjumlahan akan menyebabkan overflow dan untuk menampung overflow tersebut digunakan register 1-bit yaitu V sebagai register overflow serta pelengkap A3.
• Notasi RTL untuk menggambarkan berbagai macam operasi-mikro Logika.
Artinya bahwa logika OR dari sis register A dan B ditransfer ke register C. Begitu juga dengan operasi AND
• Notasi RTL untuk menggambarkan transfer data ke dan dari word memori.
Dalam RTL, unit memori utama pada komputer dianggap sebagai M dan menulis word ke-i dalam memori menjadi M[i].Proses pembacaan memori (memory read) adalah :
Proses penulisan memori (memory write) adalah :
artinya word memori yang alamatnya ditunjukkan oleh register A ditransfer ke atau dari register B dalam CPU.
• Notasi RTL digunakan untuk transfer register hanya pada kondisi tertentu, hal tersebut dilakukan dengan 2 cara :
1. Menggunakan pernyataan kondisi logika (logical condition)
Men-set 0 ke register Q hanya jika nilai register V lebih besar dari nilai register W.
Note :
Pernyataan kondisi logikal hanya didefinisikan untuk IF
– THEN dan tidak untuk ELSE.
2. Menggunakan pernyataan kondisi pengendalian (control condition)
Dengan metode ini, kondisinya merupakan fungsi logikal dari variabel biner yang mengatur input register. Fungsi-fungsi ini dijabarkan disebelah kiri dari operasi transfer register dan diikuti oleh tanda titik dua. Keterangan contoh di atas Isi Y dipindahkan ke X hanya jika t0 bernilai 1 dan salah satu c1 atau c2 juga bernilai 1.Namun jika kondisi tertentu adalah 0, simbol utama (‘) harus digunakan sehingga pernyataan RTL – nya adalah
maka transfer hanya akan terjadi jika t0 bernilai 0 dan
salah satu c1 atau c2 juga bernilai 1.
D. SIC (SIMPLIFIED INSTRUCTIONAL COMPUTER)
Komputer yang didasarkan pada SIC ini merupakan komputer yang termasuk dalam perancangan arsitektur yang sangat sederhana dan komputer ini dipersembahkan oleh BECK (1985).
Struktur Mesin SIC terdiri dari :
1. CPU
2. Unit memori
3. Minimal satu unit prinati I/O
Untuk CPU yang digunakan terdiri dari 13 register khusus, seperti yang ada pada table di bawah ini.
Format instruksi pada mesin SIC :
Keterangan :
OP = OPCODE 8 bit yang menerangkan operasi-mikro yang akan dijalankan
IX = flag indeks yang menunujukkan mode pengalamatan yang harus digunakan
AD = alamat untuk memori operand 15 bit
• Pengalamatan langsung (direct addressing) yaitu operand disimpan di dalam M[AD]
• Pengalamatan berindeks (index addressing) yaitu operand disimpan di dalam M[AD = (X)] dengan bit IX bernilai 1

Penggunaan register-register pada SIC
1. Register A = register yang digunakan untuk proses perhitungan
2. Register X = register yang digunakan untuk mode pengalamatan berindex
3. Register PC = register yang menyimpan alamat instruksi berikutnya
4. Register L = register yang menyimpan alamat asal sebelum melakukan subroutines
5. Register IR = register yang menyimpan instruksi yang sedang dikerjakan
6. Register MBR = register yang digunakan untuk proses masukan atau keluaran data dari memori
7. Register MAR = register yang menyimpan alamat memori untuk proses pembacaan atau penulisan
8. SW = register yang berisi informasi status relatif terhadap instruksi sebelumnya
9. C = register yang membangkitkan signal waktu t0, t1, t2, t3
10. INT = register yang menentukan apakah signal interrupt telah diterima
11. F = register yang digunakan dalam proses”siklus fetch’
12. E = register khusus yang digunakan dalam proses “siklus eksekusi’
13. S = register yang akan mengaktifkan register C

Kumpulan Instruksi SIC
Ada 21 instruksi SIC yang digunakan, dimana pada instruksi ini m menunjukkan address memori dari operand dan (m) menunjukkan nilai yang disimpan pada address memori tersebut. Opcode instruksinya ditulis dalam notasi heksadesimal.
• JSUB dan RSUB merupakan dua instruksi yang berhubungan dengan subrutin. JSUB menyimpan PC saat ini ke L dan kemudian melompat ke subrutin dengan menyimpan operand ke PC. RSUB kembali dari subrutin dengan melompat ke lokasi yang dinyatakan oleh L.
• Instruksi TD digunakan untuk menguji piranti I/O sebelum berusaha untuk membaca dari atau menulis ke piranti tersebut.Hasil pengujian tersebut disimpan di dalam kode kondisi (condition code), field CC, pada SW. Panjang field ini 2 bit dan digunakan untuk mewakili salah satu dari tiga nilai
Jika instruksi TD dijalankan, nilai field CC aka di-set menurut kode berikut :
menunjukkan bahwa piranti tidak beroperasi

• Instruksi COMP digunakan juga untuk men-set field CC. Nilai yang disimpan field CC setelah sebuah instruksi COMP setelah sebuah instruksi COMP menggambarkan hubungan antara A dan operand instruksi

• Instruksi IRT digunakan oleh interrupt handler agar menyebabkan lompatan kembali ke tempat dimana CPU berada sebelum intrupsi terjadi.
Jika interupsi terjadi, CPU akan menyimpan PC saat ini ke dalam memori pada address 0. Untuk kembali dari sebuah interupsi , isi dari alamat memori ini harus di-load kembali ke dalam PC.

• Instruksi-instruksi lainnya adalah operasi aritmatika dan logika, transfer dari pengendalian(jump), loading register, storing register atau membaca dan menulis ke piranti I/O

EVOLUSI ARSITEKTUR KOMPUTER(TUGAS SOFTSKILL 1)



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.

KLASIFIKASI ARSITEKTUR KOMPUTER

1. Arsitektur Von Neumann

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



Pada perkembangan komputer modern, setiap prosesor terdiri dari atas :

Arithmetic and Logic Unit (ALU)

Arithmatic and Logic Unit atau Unit Aritmetika dan Logika berfungsi untuk melakukan semua perhitungan aritmatika (matematika) dan logika yang terjadi sesuai dengan instruksi program. ALU menjalankan operasi penambahan, pengurangan, dan operasi-operasi sederhana lainnya pada input-inputnya dan memberikan hasilnya pada register output.

Register

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

Control Unit

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

Bus

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

2. Arsitektur RISC

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





RISC, yang jika diterjemahkan berarti “Komputasi Kumpulan Instruksi yang Disederhanakan”, merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor.

Selain digunakan dalam komputer vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari International Business Machine. Selain itu, RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard.

Karakteristik RISC

· Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC

· Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control

· Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register.

· Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word.

Karakteristik-Karakteristik Eksekusi Instruksi

Salah satu evolusi komputer yang besar adalah evolusi bahasa pemprograman. Bahasa pemprograman memungkinkan programmer dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan mendukung penggunaan pemprograman terstruktur, tetapi ternyata muncul masalah lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi yang disediakan oleh HLL dengan yang disediakan oleh arsitektur komputer, ini ditandai dengan ketidakefisienan eksekusi, program mesin yang berukuran besar,dan kompleksitas kompiler.

Untuk mengurangi kesenjangan ini para perancang menjawabnya dengan arsitektur. Fitur-fiturnya meliputi set-set instruksi yang banyak, lusinan mode pengalamatan, dan statemen –statemen HLL yang diimplementasikan pada perangkat keras.

Operasi

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

Operand

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

Procedure Calls

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

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

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

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



Referensi :
– http://tergesa.blogspot.com/2012/02/sejarah-evolusi-dan-kinerja-komputer.html
– http://www.scribd.com/doc/97383983/40/Klasifikasi-Feng-KLASIFIKASI-FENG
– http://diaz9895.blogspot.com/2011/11/kualitas-arsitektur-komputer.html
– http://next-timexxxx.blogspot.com/2011/10/organisasi-dan-arsitektur-komputer.html
– http://www.scribd.com/doc/52467855/DEFINISI-ORGANISASI-KOMPUTER