BAB 1 ORGANISASI KOMPUTER MODERN Karakteristik dari computer Komputasi yang sangat cepat , Bersifat konsisten yang tidak terpengaruh pada kelelahan Bosan suka dan tidak suka, dsb, Kapasitas penyimpanan yang besar baik untuk data ataupun programdan memiliki akurasi yang sangat tinggi, lebih cendrung dikategorikan pada kajian atribut-atribut sistem komputer yang terkait dengan seorang programmer contoh: set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/0. Contoh aspek organisasi komputer : teknologi hardware, perangkat antarmuka, teknologi memori, dan sinyal sinyal control. Struktur Fungsional dan Interkoneksi Antar Unit
Unit Kontrol, Mengatur dan mengendalikan semua peralatan yang ada pada sistem Komputer,mengambil instruksi instruksi dari main memory, mengirim instruksi ke aritmatic
and logic unit dan menyimpan hasil proses ke main memory ALU, Unit Aritmatik dan Logis , Melakukan operasi aritmatik dengan dasar pertambahan, sedang operasi aritmatik yang lainnya seperti pengurangan, perkalian dan pembagian
dilakukan dengan dasar penjumlahan Register, Untuk melakukan eksekusi terhadap program-program komputer dengan cepat terhadap nilai-nilai yang sedang dieksekusi dalam waktu tertentu
Memori memory merupakan komponen pembantu kerja CPU dalam melakukan kegiatan pemrosesan data atau pengeksekusian sebuah perintah. Sebuah sistem komputer memiliki berbagai jenis memori, diantaranya: Register, Memori Utama (Dynamic RAM), dan Memori Sekunder. Memory terdiri dari sejumlah cell yang dapat menyimpan sepotong informasi. Setiap cell menyimpan sebuah angka yang disebut alamat. Jika sebuah memory memiliki n cell, maka memory tersebut akan memiliki alamat 0 sampai dengan n-1. Register Berada dalam chip sebuah processor dan merupakan bagian integral dari processor itu sendiri. Register merupakan memori dengan kemampuan proses paling cepat, dimana proses baca dan tulis dilakukan dalam satu siklus detik
Memori Utama Wadah penyimpanan utama untuk data, instruksi, maupun hasil pengolahan CPU. Semua instruksi yang akan dieksekusi oleh CPU diambil langsung melalui memori ini. Harganya lebih murah, tidak cepat panas. Lebih dikenal dengan RAM (Random Access Memory). Cara Kerja Memori Utama
Memori utama mengambil data dan program dari memori sekunder (hardisk, dll) CPU mengeksekusi data dan program dari RAM. Jika ingin menyimpan secara permanen maka perubahan data dan program itu dikirim kembali ke memori sekunder (save file to disk).
Memori utama terdapat beberapa unit penting yaitu :
MDR (Memory Data Register): unit yang digunakan untuk menampung data yang dipilih dan
untuk diteruskan ke processor. MAR (Memory Address Register): unit yang digunakan untuk menampung alamat memori
yang dikirim dari processor. Pemilih fungsi Read/Write: unit yang memberikan perintah input (write) dan output (read) kepada elemen memori lainnya
Urutan pembacaan data di dalam memori utama
Program counter di dalam processor mengirimkan alamat ke memori utama Alamat data yang dikirim dari program counter processor pada memori utama diterima oleh
MAR Setelah alamat berada di dalam MAR, kemudian ditranslasikan ke dalam elemen memori
yang diinginkan dengan menggunakan rangkaian dekoder Setelah alamat yang diinginkan dicari dan ditemukan di dalam memori utama, kemudian data
atau program yang ada didalamnya di copy ke dalam MDR Data atau program yang telah ditemukan tersebut dikirim ke processor melalui MDR
Memori Sekunder Memori sekunder adalah wadah penyimpanan eksternal yang berada diluar inti sistem komputer dan dapat menyimpan data dan program dalam jumlah yang besar. Lebih dikenal dengan harddisk. Operasi CPU CPU terdiri dari beberapa bagian yang berbeda yang saling berintegrasi dalam membentuk fungsinya secara bersamaan. Perkembangan arsitektur CPU dari tiga generasi yaitu
generasi pra komputer yang diwakili oleh arsitektur mesin Analitis Babagge
generasi komputer pertama yang stored program yang diwakili oleh mesin Von Noumann generasi komputer modern
Mesin Analitis Babbage adalah Alat mekanis pertama yang mampu dipergunakan untuk menjalankan beberapa algoritma. Programming mesin tersebut dilakukan langsung oleh seorang programmer Ada Augusta Lovelace (penemu bahasa ADA sebagai bahasa pemrograman pertama di dunia). Arsitektur Babbage’s Analytical Engine Bagian input, digunakan untuk membaca instruksi-instruksi dan data. Bagian penyimpanan, 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. Arsitektur Mesin Von Neumann (1952) Mewakili mesin komputer generasi pertama yang bersifat stored program. Rancangan dasar mesin yang diberi nama IAS
Konsep Neumann yang menyatakan bahwa pemrograman komputer dengan menggunakan
banyak tombol dan kabel Lambat dan tidak fleksibel
Untuk itu Neumann berpikiran bahwa sebuah program dapat diwakili dalam bentuk digital dan tersimpan secara tetap dalam memori komputer secara bersama-sama. Arsitektur mesin Von Noumann 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.
Arsitektur Mesin Komputer Modern (≥1980)
Arsitektur mesin Von Noumann menjadi prototipe komputer modern yaitu Arithmetic Logic dan Control Unit yang merupakan bagian dari Central Processing Unit. CPU :
ALU (Arithmetic and Logic Unit) membentuk fungsi – fungsi pengolahan data computer Control Unit, bertugas mengontrol operasi CPU Registers, adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data CPU Interconnections, adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU
Konsep Interupsi Fungsi interupsi sebagai Mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU. Dan Hampir semua modul (memori dan I/0) memiliki mekanisme yang dapat menginterupsi kerja CPU. Tujuan interupsi adalah Untuk manajemen pengeksekusian 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 sehingga dengan adanya fungsi interupsi ini dapat sebagai sinkronisasi kerja antar modul.
Sinyal Interupsi Program, Interupsi yang dibangkitkan pada hasil eksekusi program.Contohnya: arimatika
overflow, pembagian nol, operasi illegal Timer, Interupsi yang dibangkitkan pewaktuan dalam prosesor. I/0, Sinyal interupsi yang dibangkitkan oleh modul I/0 terhadap kondisi error dan
penyelesaian suatu operasi. Hardware failure, interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori.
Teknik-Teknik I/O Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor untuk berhubungan dengan dunia luar.
Unit input, Untuk memasukkan data dari luar ke dalam mikroprosesor. Contohnya data yang
berasal dari keyboard atau mouse. Unit Output, Untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor. Contohnya data yang akan ditampilkan pada layar monitor atau printer.
Modul Hardware Modul hardware yang disebut “pengontrol I/O” , Modul shoftware disebut I/O driver. Fungsi Pengontrol I/O adalah Menerima perintah, Menganalisis perintah dan mengeksekusinya, Menerima
sinyal status dari perangkat dan melakukan tindakan yang tepat, Mentransfer data dari CPU / memori ke perangkat, Mentransfer data dari perangkat ke CPU/ memori, Mengubah format data yang diterima dari perangkat, Membangkitkan error checking code selama operasi penulisan, Memeriksa error pada data, Melakukan pembatalan eksekusi command’mencoba kembali perintah semua error, danMelapor pada CPU pada akhir eksekusi perintah Konsep BUS Hubungan bus/jalur diperlukan di dalam komputer untuk membawa berbagai jenis informasi di antara sub sistem (CPU, Memori, dan pengontrol I/O) antara lain :
Instruksi dari memori ke CPU Data dari memori ke CPU Data dari CPU ke memori Alamat memori dari CPU ke memori Alamat port dari CPU ke pengontrol I/O Perintah dari CPU ke pengontrol I/O Status dari pengontrol I/O ke CPU.
Bus merupakan jalur yang digunakan secara bersama untuk sejumlah sumber dan tujuan. Keuntungan utama metode bus adalah mengurangi biaya perkawatan yang berhubungan dengan sirkuit driver/receiver. Kekurangannya adalah kecepatannya rendah karena bus digunakan bersama. Pada satu waktu, hanya ada dua unit yang dapat berkominikasi, unit yang lain yang ingin melakukan komunikasi harus menunggu. Siklus BUS Pada komputer yang berdasarkan bus: Komunikasi antar CPU dan sub sistem lainnya mengunakan bus. Urutan kejadian yang dikerjakan bus untuk menstransfer satu byte (word) melalui bus data disebut siklus bus. Ada empat macam siklus bus yang utama:
Memory read bus cycle: CPU membaca data dari lokasi memori Memory write bus cycle: CPU menulis data ke lokasi memori I/O read bus cycle: CPU membaca (menerima) data dari port input I/O write bus cycle: CPU menulis (mengirim) data dari port output
MODEL-MODEL KOMPUTASI
SISD, Single Instruction, Single Data. Satu-satunya yang menggunakan model SISD: arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Beberapa
contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600,
Cray 1 dan PDP SIMD, Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-
MP, Thingking Machine CM-2. MISD , Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Sampai saat ini belum ada komputer yang
menggunakan model MISD. MIMD, Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Jenis-Jenis Komputer
Komputer Generasi Pertama 1940-1959 ENIAC (Electronic Numerical Integrator and Calculator), Komputer ENIAC ini diciptakan oleh Dr John Mauchly dan Presper Eckert pada tahun 1946. EDVAC (Electronic Discrete Variable Automatic Computer), Proses perhitungan telah menjadi lebih cepat dibandingkan ENIAC. EDSAC (Electronic Delay Storage Automatic Calculator), Telah memperkenalkan penggunaan raksa (merkuri) dalam tube untuk menyimpan memori. UNIVAC I (Universal Automatic Calculator, Pada tahun 1951 Dr Mauchly dan Eckert menciptakan UNIVAC I ,
komputer pertama yang digunakan untuk memproses data perniagaan. Komputer Generasi Ke Dua (1959-1964) Komputer-komputer generasi kedua telah menggunakan transistor dan dioda. Penyimpanan memori juga diperkenalkan melalui teknologi magnetik. Keupayaan pemprosesan dan ukuran memori utama komputer juga bertambah dan manjadikan komputer lebih efisien. Kemunculan FORTRAN dan COBOL menandakan permulaan bahasa tingkat tinggi untuk menggantikan bahasa pengantar dalam mesin yang lebih sulit. Minikomputer juga telah diperkenalkan yaitu yang kedua terbesar di dalam generasi komputer. Versinya yang pertama ialah DEC PDP 8 yang diciptakan pada tahun 1964
yang berguna untuk memproses data-data. Komputer Generasi Ke Tiga (1964-1980) Chip mulai menggantikan transistor. Jenis komputer terkecil mikrokomputer telah muncul dan paling cepat menjadi popular seperti Apple II, IBM PC dan Sinclair. Banyak bahasa
pemrograman telah muncul seperti BASIC, Pascal dan PL/1. Komputer Generasi Ke Empat (awal 80-an).
Chip masih digunakan untuk memproses dan menyimpan memori. Lebih canggih, dilengkapi hingga ratusan ribu komponen transistor yang disebut very large scale intergartion (VLSI). Pemprosesan dapat dilakukan dengan lebih tepat,sampai jutaan bit per detik. Memori utama komputer menjadi lebih besar sehingga menyebabkan memori sekunder kurang penting. Teknologi chip yang maju ini telah mewujudkan satu lagi kelas komputer yang disebut
Supercomputer. Komputer Generasi Ke Lima (masa depan) Generasi kelima dalam sejarah evolusi komputer merupakan komputer impian masa depan. Ia diperkirakan mempunyai lebih banyak unit pemprosesan yang berfungsi bersamaan untuk menyelesaikan lebih daripada satu tugas dalam satu masa.Komputer ini juga mempunyai ingatan yang amat besar sehingga mampu menyelesaikan lebih dari satu tugas dalam waktu bersamaan. Unit pemprosesan pusat juga dapat berfungsi sebagai otak manusia. Komputer ini juga mempunyai kepandaian tersendiri, merespon keadaan sekeliling melalui penglihatan yang bijak dalam mengambil sesuatu keputusan bebas dari pemikiran manusia yang disebut sebagai artificial intelligence.
BAB 2 EVOLUSI KOMPUTER Struktur Komputer Struktur sebuah sistem komputer dapat dibagi menjadi: Sistem Operasi Komputer, Struktur I/O, dan Struktur Penyimpanan Sistem Operasi Komputer Sistem komputer,terdiri dari: CPU (Central Processing Unit) dan Sejumlah device controller yang dihubungkan melalui bus yang menyediakan akses ke memori. Setiap device controller bertugas mengatur perangkat yang tertentu (contohnya disk drive, audio device, dan video display). Interupsi
merupakan bagian penting dari sistem arsitektur komputer. Interupsi bisa terjadi apabila perangkat keras (hardware) atau perangkat lunak (software) minta "dilayani" oleh prosesor. Struktur Penyimpanan Program komputer harus berada di memori utama (biasanya RAM). Memori utama adalah satusatunya tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Idealnya program dan data secara keseluruhan dapat disimpan dalam memori utama secara permanen. Namun tidak mungkin karena: Ukuran memori utama relatif kecil untuk menyimpan data dan program secara keseluruhan. , Memori utama bersifat volatile, tidak bisa menyimpan secara permanen, apabila komputer dimatikan maka data yang tersimpan di memori utama akan hilang. Fungsi Komputer
Pengolahan data - Data processing, Penyimpanan data - Data storage, Pemindahan data - Data movement, Kendali – Control
Fungsi Komponen Komputer
Address Bus, Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau
dibaca. Control Bus, Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus
dan Address Bus. Output Device (Alat Keluaran), Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke
kertas), soft-copy (ke monitor), ataupun berupa suara I/O Ports, Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem.
Peralatan input dan output di atas terhubung melalui port ini. Input Device (Alat Masukan), Adalah perangkat keras komputer yang berfungsi sebagai alat
untuk memasukan data atau perintah ke dalam computer Memori, Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu. ROM (Read Only Memory) yaitu memori yang haya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama
kali dinyalakan. CPU (Central Processing Unit), CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit) sebagai pengontrol kerja komputer.
Dimensi Evolusi Komputer Ada lima dimensi untuk mengukur keunggulan komputer:
Performa (performance) Kapasitas (capacity) Biaya (cost) Kenyamanan (User Friendliness) Keandalan (Maintainability)
Sejarah Komputer
KOMPUTER GENERASI PERTAMA (1941), Pemicu Perang Dunia II, Penggunaan Vacum Tube & instruksi menggunakan bahasa mesin, ENIAC (Electronic Numerical Integrator and Computer) : 18000 tabung, 30 ton. ENIAC (Electronic Numerical Integrator and Computer). ENIAC didesain dan dibangun oleh John Mauckhy dan John Presper Eckret di Universitas Pennsylvania. Spesifikasi : Memanfaatkan bilangan desimal bukan bilangan biner, Berat 30 ton, Volume 1.500 kaki², Berisi 18.000 Vakum Tube, Daya listrik yang diperlukan 140 kW, Kecepatan operasi 5000 per detik, 20 akumulator mampu menampung 10 digit bilangan
decimal. Masih menggunakan saklar maual KOMPUTER GENERASI KEDUA (1948), Menggunakan Transistor ( IBM 1401 ). Sudah memiliki SO, program, media penyimpan (disket). Munculnya COBOL , FORTRAN. Software house, programmer, analyst. Pemanfaatan pada skala industri
KOMPUTER GENERASI KETIGA (1958), Penggunaan IC (Integrated Circuit ). Mengkombinasikan tiga komponen elektronik dalam sebuah piringan silikon kecil yang terbuat dari pasir kuarsa. Munculnya chip semikonduktor : gabungan banyak IC dalam 1 chip
yang dapat diprogram sesui dengan kebutuhan KOMPUTER GENERASI KEEMPAT (1980), Large Scale Integration (LSI) dapat memuat ratusan komponen dalam sebuah chip. Very Large Scale Integration (VLSI) memuat ribuan komponen dalam sebuah chip tunggal. Mikroprosesor : penggabungan seluruh komponen komputer ( CPU , memori, kendali I/O) dan diprogram sesuai dengan kebutuhan. Munculnya
PC Komputer Generasi Kelima, Sudah tidak berorientasi pada kecepatan atau ukuran fisik, namun lebih menonjolkan performance Artificial Intelegence. Patern recognation, bioinformatika
BAB 4 ARITMETIKA KOMPUTER Datapath Datapath berisi: ALU, Register, dan BUS. Kecepatan unit datapath bergantung pada algoritma yang digunakan untuk operasi-operasi aritmetika dan desain sirkuit ALU Jenis-Jenis Aritmetika
Aritmetika Biner, Titik-Tetap (fixed-point) dan Titik mengambang (floating point), Rentangan
bilangan lebih luas. Kompleks dan mahal Aritmetika Desimal, Bilangan desimal direpresentasikan dalam bentuk BCD (Binary Coded Decimal). Kelemahan: Hardware arimetika desimal kompleks dan mahal dan Sistem bil. BCD tidak efisien karena membesar penggunaan memori dan register.
Komponen-Komponen Aritmetika Biner
Gate, sirkuit logika (NOT, OR, AND, XOR) Flip-flop, media penyimpanan biner (0 dan 1) Register, sekumpulan flip flop dengan masukan clock bersama (operasi aritmetika) Counter, digunakan dalam operasi aritmetika dan operasi kontrol Multiplexer, memilih salah satu dari beberapa input ke bagian output sesuai sinyla kontrol
selector Decoder, Pendekodean instruksi, alamat dan perintah Encoder, Kebalikan decoder
Representasi data Program bahasa mesin dapat bekerja dengan data numerik atau non numerik. Data numerik berupa bilangan desimal atau bilangan biner. Data non numerik berupa data karakter, data alamat, data logika Data Karakter Kumpulan bit digunakan untuk merepresentasikan sebuah karakter yang mungkin berupa sebuah digit, sebuah alfabet atau simbol khusus lainnya.. Kode ASCII (American Standard Code for Information Interchange). Menggunakan pola 8 bit Data Alamat dan Data Biner Beberapa intruksi, operand adalah alamat. Bergantung pada instruksi, alamat diperlakukan sebagai bilangan biner atau logika. Data biner, bil. Titik tetap dikenal dengan bil. Integer. Sedangkan bil. Titik-mengambang dikenal sebagai bilangan real/pecahan. Konversi Format Scientific ke Standart IEEE 754 Langkah-langkah:
Ubah ke bilangan biner Normalisasi bilangan tersebut sehingga terdapat satu digit nonzero diujung terkiri, lakukan
pengaturan eksponen sesuai kebutuhan Simpan digit biner mantissa ke sisi kanan Tambahkan 127 ke eksponen (E’ = E +127) dan ubah hasil penjumlahan tersebut ke biner unsigned untuk nilai eksponen yang akan disimpan. Untuk presisi ganda tambahkan 1023 ke
eksponen (E’=E+1023) Bit tanda =1 untuk bilangan negatif dan bit tanda =0 untuk bilangan positif.
Contoh: Konversikan bilangan biner format saintifik +0.0010110...x 2^9 menjadi format presisi tunggal standar IEEE 754.
Solusi :
Dilakukan normalisasi +0.0010110...x2^9 menjadi +1.0110...x2^6 Diperoleh S=0, M=0110, E=6 Sehingga E’ dapat dihitung : E’=E+127=6+127=133 =10000101 Format standart IEEE 754 :
BAB 5 DESAIN PROSESOR DAN DATAPATH Level-Level Desain Level sudut pandang prosesor, terdiri dari:
Level system, Eksekusi Program (Pemrosesan data, penyimpanan data dan pergerakan data)
dan Antarmuka dengan subsistem lain (Memori utama, memori cache, pengontrol I/O) Level Arsitektur/instruksi, set instruksi berupa program counter, stack, dll Level Transfer Register, Modul-modul digital : register, adder, counter, multiplexer, decoder Level Gerbang (Gate Level), Sirkuit harware
Tipe-Tipe Processor
Uniprocessor Multiprocessor Array Processor Network Processor
Proses Desain Prosesor
Mengerti dengan baik setiap instruksi. Menetapkan sumber daya hardware yang dihubungkan(register, flag, stack,dll). Menerjemahkan setiap instruksi. Menganalisa sirkuit datapath. Mengaktifkan titik-titik kontrol Mikro Operasi Dikelompokan kedalam 4 tipe:
Mikro operasi transfer register, Menyalin isi salah satu register ke register lain tanpa
mengubah isi sumber Mikro operasi aritmetika, Melakukan operasi aritmetika pada data dalam register Mikro operasi logika, Melakukan operasi manipulasi bit pada data dalam register Mikro operasi pergeseran, Melakukan operasi pergeseran pada data dalam register.Misal : pergeseran logika, seperti bit 0 masuk kedalam posisi bit kosong (terkiri atau terkanan)
Bahasa Transfer Register RTL (Register Transfer Language), Adalah sebuah notasi yang digunakan untuk menentukan transfer mikro operasi antar register, lebih ke tingkah laku instruksi dan organisasi sebuah komputer. Misal : R3 := R1 menujukkan suatu transfer register sederhana yang melibatkan dua register R1 dan R3 dimana isi register R1 ditransfer (disalin) ke register R3. Organisasi Datapath Datapath merupakan komponen hardware. Diistilahkan sebagai: ALU, Register sebagai penyimpanan sementara, Sirkuit driver untuk mentransmisikan sinyal ke unit eksternal(memori, I/O), Sirkuit receiver untuk menerima sinyal dari unit eksternal Antarmuka Memori Utama
Flag MR/W, Bernilai 1 jika prosesor melakukan operasi tulis memori dan Bernilai 0 jika
prosesor melakukan operasi baca memori Flag SMMA, Bernilai 1 jika operasi memori dalam progress dan Bernilai 0 jika tidak ada
operasi memori dalam progress MAR, Menempatkan alamat memori
Operasi Pembacaan Memori oleh Prosesor Menempatkan alamat memori dalam MAR. Me-reset flip-flop MR/W menuju ke MEMORI READ . Men-set flag SMMA. Memeriksa apakah flag SMMA sudah menjadi 0. ketika SMMA menjadi 0 maka prosesor meload data dari memori ke MDR.
Operasi Penulisan Memori oleh Prosesor Menempatkan alamat memori dalam MAR. Menempatkan data dalam MDR. Menset flip-flop MR/W menuju MEMORI WRITE. Menset flag SMMA. Memeriksa apakah flag SMMA sudah menjadi 0, ketika SMMA menjadi 0 maka prosesor memulai operasi lain Register File Terdiri dari sekumpulan register prosesor. Terdapat 2 tipe register:
Program addressable register, Untuk menyimpan operand dan hasil. Untuk register khusus,
seperti stack pointer Scartch pad register, Untuk register sementara oleh unit control, Untuk penyimpanan hasil sementara, Sebagai konstanta yang diperlukan selama eksekusi suatu instruksi
Macam-Macam Instruksi
Instruksi HALT, Menghentikan siklus instruksi. Hal ini digambarkan dengan RUN/HALT:=0 Instruksi JUMP, Bercabang ke alamat instruksi. Digambarkan dengan PC:=BA, dimana BA
adalah alamat cabang yang diberikan oleh instruksi yang ada di register ALU. Instruksi LOAD, Menyalin isi suatu lokasi memori ke dalam suatu register. Digambarkan dengan
:=<MA>, dimana MA adalah alamat memori dan RA adalah alamat register.
BAB 6 UNIT KONTROL Unit Kontrol Unit Kontrol, merupakan “otak” atau pusat syaraf hardware komputer. Unit kontrol : Mengawasi pelaksanakan siklus instruksi. Membangkitkan sinyal sinyal kontrol yang dikerjakan pada CPU dan Unit-unit eksternal lainnya seperti memori dan I/O controller/devices. Pada dasarnya unit kontrol mengubah setiap instruksi bahasa mesin menjadi serangkaian sinyal kontrol yang mengaktifkan titiktitik kontrol dalam datapath. Fungsi Unit Kontrol Mengambil / membaca instruksi. Mode pengalamatan : mempengaruhi seberapa cepat suatu siklus instruksi selesai, terdapat 4 lokasi yaitu: • • • •
Instruksi itu sendiri Register prosesor Memori utama Port I/O
Membangkitkan sinyal kontrol yang diperlukan yang sesuai dengan instruksi dalam urutan waktu yang tepat Tugas Khusus Unit Kontrol
Urutan reset pada pengindraan sinyal reset. Pengenalan interupsi dan pencabangan ke ISR (Interrupt Service Routine). Penanganan situasi abnormal seperti pengenalan kegagalan hardware yang serius dan pengambilan aksi yang tepat seperti shutdown atau pengecekan mesin Kondisi Urutan Reset Daya Komputer dihidupkan. Hal ini mengaktifkan sirkuit power-on-reset. Operator menekan tombol reset pada panel depan yang mengaktifkan sinyal MANUAL RESET. Hardware eksternal memberikan sinyal reset ke prosesor atau Shutdown. Pengenalan Interupsi Interupsi bisa terjadi setiap saat. Unit kontrol memeriksa kehadiran permintaan interupsi sebelum melakukan pengambilan instruksi baru dan setelah instruksi sebelumnya diselesaikan, dengan cara: Menyimpan isi PC kedalam lokasi stack yang alamatnya pada stack pointer. menurunkan nilai stack pointer. Menetapkan vektor interupsi (alamat awal). Memasukan alamat awal kedalam program counter. Penanganan Situasi Abnormal Unit kontrol dapat melakukan shutdown dengan melakukan resetting pada flip-flop RUN/HALT jika terjadi kondisi ‘double error’ atau layanan interupsi. Unit kontrol melakukan scan diagnostik dengan menyimpan status CPU pada register khusus ketika prosesor melakukan siklus bus baca/tulis dan mengalami gagal. Desain Unit Kontrol •
HCU (Harwired Control Unit), Membangkitkan sinyal control. Keuntungan : Bekerja lebih cepat dibanding MCU. Kekurangan : Mempunyai banyak titik kontrol sehingga desain unit
•
kontrol menjadi sangat kompleks. MCU (Microprogrammed Control Unit), Sinyal kontrol disimpan sebagai pola-pola bit dalam sebuah ROM. Keuntungan : Tidak kompleks, Lebih fleksibel karena mudah memodifikasinya, Set instruksi mudah dimodifikasi, Debugging dan maintenance lebih mudah. Kekurangan : Lambat, Mahal, Komponen sangat terbatas
BAB 7 DESAIN MEMORI UTAMA SEMTKONDUKTOR Memori Memori digunakan untuk penyimpanan informasi. Informasi berupa : Program (instruksi dan operand) dan Kontrol. Parameter dalam memilih sebuah memori: •
Kapasitas : memori sebagai unit penyimpanan yang terdiri dari alamat dan panjang word w
•
bit. Kecepatan : Kecepatan operasi baca, dekode (penerjemahan) yang terdiri dari waktu akses
• •
dan pemulihan waktu (recovery time) Bandwidth : Kecepatan transfer data memori yang dinyatakan dalam jumlah byte per detik Latency : waktu yang digunakan untk mengakses lokasi (word) yang pertama dalam suatu rangkaian lokasi (blok lokasi), seperti had disk.
Memori yang dapat menyimpan 32 word, berarti memori memiliki 32 lokasi penyimpanan berupa alamat alamat biner 32 macam mulai dari 00000 sampai 11111 (0 sampai 31 dalam desimal). Secara umum masukan alamat N diperlukan untuk memori yang mempunyai kapasitas 2^N. Contoh : Sebuah memori mempunyai kapasitas 4K x 8. berapa saluran alamat yang dimiliki? Jawab: Memori : 4K = 4 x 1024 = 4096 word. Ukuran word : 8 bit. 4096 = 2^12 maka : saluran alamat terdapat 12 bit yang dapat mengalamati salah satu lokasi dari 4096 lokasi Klasifikasi Memori • •
Berdasarkan Fungsi : Memori Utama, Memori Sekunder, Memori Cache, Memori Virtual Berdasarkan Teknologi : Memori magnetic buble, Memori semikonduktor, Memori core, Memori Optik
• •
Berdasarkan Kemampuan : Memori Baca/Tulis, Memori Baca Saja Berdasarkan Akses : Memori Akses Acak, Memori Akses Urut, Memori Akses Semi-Acak
Kemampuan Baca/tulis : Memori ROM (Read Only Memory) hanya boleh dibaca oleh CPU. Dapat melakukan operasi baca dan tulis. Memori semikonduktor baca/tulis : RAM (Random Access Memory) Memori Akses Acak Memori yang membolehkan pengaksesan ke suatu lokasi tanpa ada keterkaitan dengan posisi fisik dan tidak bergantung pada lokasi lain. Dengan kata lain,waktu akses sama untuk semua lokasi. Contoh : RAM dan ROM.
Memori Akses Urut Pembacaan suatu lokasi dilakukan secara berurut dimana setelah operasi baca atau tulis dilakukan, baca/tulis diletakkan didepan lokasi berikutnya. Karena itu waktu akses akan berbeda setaip lokasi. Contoh : pita magnetik dan pita kertas Memori semi acak Pemilihan lokasi yang akan diakses menggunakan dua langkah: satu akses acak dan lainnya akses urut. Contohnya: memori magnetik (floppy disk dan hard disk) Peran Memori dalam CPU •
Register internal, Peran yang sangat terbatas dalam penyimpanan informasi sementara ketika program berjalan. Mempunyai waktu akses yg sangat singkat. Hanya dpt diakses oleh CPU
•
sedangkan yang lain dapat juga diakses oleh program Memori Utama, CPU mengambil (fetch) instruksi ketika program dijalankan. Dikenal dengan
•
memori program dan memori primer. Jenis memori akses acak Memori Sekunder, Dikenal juga dengan nama memori pembantu. Digunakan untuk menyimpan program dan data dalam volume yg besar. Memori lambat dan murah. Jenis
•
memori semi acak. Contoh : floppy disk, hard disk Memori cache, Sebuah penyangga tengah antara CPU dan memori utama. Kapasitas lebih kecil dibanding memori utama. Kecepatan berkali-kali dari memori utama sehingga waktu
•
akses ke memori utama sering diambil alih oleh akss memori cache Memori virtual, Suatu fitur yang membantu menjalankan program yang panjang dalam sebuah memori fisik yang kecil. Sistem operasinya dengan cara mengatur program dengan
hanya menyimpan sebagian ke memori utama dan menggunakan memori sekunder untuk menyimpan program keseluruhan. Ketika bagian program tidak terdapat didalam memori utama maka diambil dari memori sekunder. Arsitektur ROM (Read Only Memory) •
Larik register, Menyimpan data yang telah diprogram kedalam ROM. Setiap register berisi banyak sel-sel memori setara ukuran word. Setiap register menyimpan word 8 bit. Setiap register mempunyai 2 saluran masuk enable (E) dan harus dalam keadaan HIGH agar dapat
• • •
ditempatkan pada bus. Decoder baris Decoder kolom Penyangga output, Data ke penyangga output akan melewatkan data ke keluaran data eksternal. Jika CS = HIGH maka penyangga output berada dalam keadaan impedansi tinggi. Contoh : intel 27C64 adalah sebuah ROM CMOS yang menyimpan 8192 x 8 berarti ada 8192 register.
Arsitektur RAM (Random Access Memory) Lokasi alamat memori dimana saja dapat diakses semudah mengakses lokasi alamat lainnya dalam memori tersebut tanpa ada perbedaan waktu akses. Untuk melakukan pembacaan, pertama sel memori dipilih oleh sinyal “pilih” kemudian diikuti dengan sinyal kontrol “baca”. Isi sel diberikan pada “data keluar” (D0) setelah melewati waktu akses. Untuk melakukan penulisan, pertama sel memori dipilih oleh sinyal “pilih” kemudian diikuti dengan pengiriman data pada “data masuk”m (D1) dan mengaktifkan sinyal kontrol “tulis”.
BAB 3 ARSITEKTUR CPU DAN SET INSTRUKSI Komponen Utama CPU CPU merupakan komponen terpenting dari sistem komputer. CPU adalah komponen pengolah data berdasarkan instruksi – instruksi yang diberikan kepadanya.
Dalam mewujudkan fungsi dan
tugasnya, CPU tersusun atas beberapa komponen sebagai bagian dari struktur CPU, struktur detail internal CPU. CPU tersusun atas beberapa komponen, yaitu : •
Arithmetic and Logic Unit (ALU), bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya, ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing –
•
masing memiliki spesifikasi tugas tersendiri. Control Unit, bertugas mengontrol operasi CPU dan secara keselurahan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi – fungsi operasinya. Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi –
•
instruksi dari memori utama dan menentukan jenis instruksi tersebut. Registers, adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah
•
ataupun data untuk pengolahan selanjutnya. 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, piranti masukan/keluaran.
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. Untuk memahami fungsi CPU dan caranya berinteraksi dengan komponen lain, perlu kita tinjau lebih jauh proses eksekusi program. Pandangan paling sederhana proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah, yaitu : operasi pembacaan instruksi (fetch) dan operasi pelaksanaan instruksi (execute). Siklus instruksi yang terdiri dari siklus fetch dan siklus eksekusi
Siklus Fetch - Eksekusi Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori. Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC). PC akan menambah satu hitungannya setiap kali CPU membaca instruksi. Instruksi – instruksi yang dibaca akan dibuat dalam register instruksi (IR). Instruksi – instruksi ini dalam bentuk kode – kode binner yang dapat diinterpretasikan oleh CPU kemudian dilakukan aksi yang diperlukan. Aksi – aksi ini dikelompokkan menjadi empat katagori, yaitu : • • • •
CPU – Memori, perpindahan data dari CPU ke memori dan sebaliknya. CPU –I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya. Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data. Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi.
Perlu diketahui bahwa siklus eksekusi untuk suatu instruksi dapat melibatkan lebih dari sebuah referensi ke memori. Disamping itu juga, suatu instruksi dapat menentukan suatu operasi I/O. detail siklus operasi yaitu : •
Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki
•
panjang 8 bit, maka tambahkan 2 ke alamat 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.
Fungsi Interrupt Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi. Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU. Tujuan interupsi secara umum untuk menejemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul – modul I/O 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. Macam – macam kelas sinyal interupsi : •
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/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi
•
error dan penyelesaian suatu operasi. Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori.
Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk mengeksekusi instruksi – instruksi lain. Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi ke prosesor. Kemudian prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandel routine interupsi. Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali. Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak. Apabila interupsi ditangguhkan, prosesor akan melakukan hal – hal dibawah ini : •
Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data
•
lain yang relevan. Prosesor menyetel program counter (PC) ke alamat awal routine interrupt handler.
Untuk sistem operasi yang kompleks sangat dimungkinkan adanya interupsi ganda (multiple interrupt). Misalnya suatu komputer akan menerima permintaan interupsi saat proses pencetakan dengan printer selesai, disamping itu dimungkinkan dari saluran komunikasi akan mengirimkan permintaan interupsi setiap kali data tiba. Dalam hal ini prosesor harus menangani interupsi ganda. Dapat diambil dua buah pendekatan untuk menangani interupsi ganda ini. Pertama adalah 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. Pendekatan ini cukup baik dan sederhana karena interupsi ditangani dalam ututan yang cukup ketat. Kelemahan pendekatan ini adalah metode ini tidak memperhitungkan prioritas interupsi. Pendekatan ini diperlihatkan pada gambar 3.6a. Pendekatan kedua adalah dengan mendefinisikan prioritas bagi interupsi dan interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu. Pedekatan ini disebut pengolahan interupsi bersarang. Sebagai contoh untuk mendekatan bersarang, misalnya suatu sistem memiliki tiga perangkat I/O: printer, disk, dan saluran komunikasi, masing – masing prioritasnya 2, 4 dan 5. 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 mudul 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.