Senin, 25 Oktober 2010

RANGKAIAN LOGIKA

5.2 Gerbang Logika (Logic Gate)
Menurut Ibrahim (1996) Gerbang Logika adalah piranti dua-keadaan: keluaran
dengan nol volt yang menyatakan logika 0 (rendah) dan keluaran dengan tegangan tetap
yang menyatakan logika 1 (tinggi). Gerbang logika ini dapat digunakan untuk
melakukan fungsi-fungsi khusus, misalnya AND, OR, NOT, NAND, NOR, EX-OR
atau EX-NOR yang mempunyai beberapa masukan yang masing-masing mempunyai
salah satu dari dua keadaan logika, yaitu 0 dan 1.
5-4
Dasar-dasar teoretis daripada rangkaian digital adalah pemakaian bilanganbilangan
Biner (2 BIT) beserta operasi-operasinya yang meliputi: penjumlahan dan
pengurangan, perkalian dan pembagian serta konversi terhadap sistem bilangan lainnya
seperti desimal, oktal dan heksadesimal yang terutama digunakan dalam sistem
komputer.Di dalam praktek, operasi-operasi ini dilakukan dengan sistem kombinasi di
mana susunan rangkaian-rangkaian logika yang membentuk suatu sistem operasi yang
digunakan dalam komputer. Biasanya rangkaian-rangkaian sejenis ini disebut rangkaian
digital.
Untuk menyatakan hubungan antara input dengan output dari suatu rangkaian logika
pada berbagai variasi keadaan inputnya digunakan tabel kebenaran (truth table).
Lambang/simbol beberapa unsur logika diperlihatkan pada Gambar 5-1.




5.3Aljabar Boole
Menurut Mismail (1998), Aljabar Boole merupakan aljabar yang membuktikan
bahwa logika biner atau logika dua nilai berlaku untuk huruf dan lambang ketimbang
untuk ungkapan dengan kata-kata yang unggul dalam hal kesederhanaan dan
ketepatannya dalam menguraikan, memanipulasi dan menyederhanakan pernyataan
logika dengan cara yang sistematik.
Seperti halnya aljabar biasa, aljabar Boole juga tunduk pada hukum-hukum dan
aturan tertentu. Aljabar Boole tunduk pada sepuluh hukum dasar, di antaranya ada yang
dipinjam dari aljabar biasa, sedangkan yang lain adalah khas milik Ajabar Boole.
Hukum-hukum/aturan tersebut adalah:
1. Hukum identitas
A = A
2. Hukum idempoten (kaitan variabel dengan dirinya sendiri)
A = A . A. A
A = A + A + A
Suatu variabel akan sama hasilnya dengan variable aslinya bila di-AND-kan dan
di-OR-kan dengan dirinya sendiri sebanyak sembarang beberapa kali.
3. Hukum komplementasi
A. A = 0
AA= 1
Suatu variabel yang di-AND-kan atau di-OR-kan dengan ingkarannya akan
selalu menghasilkan konstanta.
4. Operasi terhadap konstanta
A . 0 = 0
A . 1 = A
A + 0 = A
A + 1 = 1
5. Hukum ingkaran rangkap
A = A
Suatu variabel akan mempunyai hasil yang sama dengan variable aslinya jika
mendapat operasi pengingkaran sebanyak n kali, dimana n bilangan genap.
5-11
6. Hukum komutatif
A . B = B . A
A + B = B + A
Dalam operasi OR dan AND terhadap variabel maka tidak masalah urutannya
dipertukarkan asalkan operasi aljabarnya sama.
7. Hukum asosiatif
A . (B + C) = (A . B) . C = A . (B . C) = (A . C) . B
A + B + C = (A + B) + C = A + ( B + C) = (A + C) + C
8. Hukum distributif
A . (B + C) = (A . B) + (A . C)
A + (B . C) = (A + B) . (A + C)
9. Hukum serapan
A . (A + B) = A
A + (A . B) = A
10. Teorema De Morgan
AB= A.B
A.BAB

Arsitektur set intruksi

(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 kumpulan 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.
ISA kadang-kadang digunakan untuk membedakan kumpulan karakteristik yang disebut di atas dengan mikroarsitektur prosesor, yang merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set instruksi (mencakup microcode, pipeline, sistem cache, manajemen daya, dan lainnya). Komputer-komputer dengan mikroarsitektur berbeda dapat saling berbagi set instruksi yang sama. Sebagai contoh, prosesor Intel Pentium dan prosesor AMD Athlon mengimplementasikan versi yang hampir identik dari set instruksi Intel x86, tetapi jika ditinjau dari desain internalnya, perbedaannya sangat radikal. Konsep ini dapat diperluas untuk ISA-ISA yang unik seperti TIMI yang terdapat dalam IBM System/38 dan IBM IAS/400. TIMI merupakan sebuah ISA yang diimplementasikan sebagai perangkat lunak level rendah yang berfungsi sebagai mesin virtual. TIMI didesain untuk meningkatkan masa hidup sebuah platform dan aplikasi yang ditulis untuknya, sehingga mengizinkan platform tersebut agar dapat dipindahkan ke perangkat keras yang sama sekali berbeda tanpa harus memodifikasi perangkat lunak (kecuali yang berkaitan dengan TIMI). Hal ini membuat IBM dapat memindahkan platform AS/400 dari arsitektur mikroprosesor CISC ke arsitektur mikroprosesor POWER tanpa harus menulis ulang bagian-bagian dari dalam sistem operasi atau perangkat lunak yang diasosiasikan dengannya.
Ketika mendesain mikroarsitektur, para desainer menggunakan Register Transfer Language (RTL) untuk mendefinisikan operasi dari setiap instruksi yang terdapat dalam ISA.
Sebuah ISA juga dapat diemulasikan dalam bentuk perangkat lunak oleh sebuah interpreter. Karena terjadi translasi tambahan yang dibutuhkan untuk melakukan emulasi, hal ini memang menjadikannya lebih lambat jika dibandingkan dengan menjalankan program secara langsung di atas perangkat keras yang mengimplementasikan ISA tersebut. Akhir-akhir ini, banyak vendor ISA atau mikroarsitektur yang baru membuat perangkat lunak emulator yang dapat digunakan oleh para pengembang perangkat lunak sebelum implementasi dalam bentuk perangkat keras dirilis oleh vendor.
Daftar ISA di bawah ini tidak dapat dikatakan komprehensif, mengingat banyaknya arsitektur lama yang tidak digunakan lagi saat ini atau adanya ISA yang baru dibuat oleh para desainer.
[sunting] ISA yang diimplementasikan dalam bentuk perangkat keras
• Alpha AXP (DEC Alpha)
• ARM (Acorn RISC Machine) (Advanced RISC Machine now ARM Ltd)
• IA-64 (Itanium/Itanium 2)
• MIPS
• Motorola 68k
• PA-RISC (HP Precision Architecture)
• IBM POWER
• IBM PowerPC
• SPARC
• SuperH (Hitachi)
• System/360
• Tricore (Infineon)
• Transputer (STMicroelectronics)
• VAX (Digital Equipment Corporation)
• x86 (IA-32, Pentium, Athlon) (AMD64, EM64T)

KOMPONEN DIGITAL BERUPA MULTIPLEXER

Teknologi ADSL (Asymmetric Digital Subscriber Line) adalah suatu teknologi MODEMyang memiliki kecepatan pentransferan data 1.5 Mbps sampai 8 Mbps untuk mendukung implementasi layanan multimedia pada jaringan broadband dengan menggunakan satu pair kabel tembaga.. Disebut asymmetric karena rate (kecepatan transmisi) dari arah downstream (sentral ke pelanggan) lebih besar dari arah upstream (pelanggan ke sentral), atau dapat dikatakan bahwa kecepatan transmisi dari arah downstream berbeda dengan dari arah upstream. Bit rate downstream 1,5-8 Mbps, upstream 16-640 Kbps. Adanya perbedaan kecepatan transmisi antara sisi downstream dan upstream dikarenakan kebutuhan koneksi internet lebih banyak digunakan untuk mengambil data (download) dari jaringan utama dibandingkan dengan pengiriman informasi (upload). Perbedaan antara modem konvensional dengan modem ADSL pada dasarnya dikarenakan perbedaan penggunaan frekuensi untuk mengirimkan sinyal atau data. Pada modem konvensional frekuensi yang digunakan di bawah 4 KHz, sedangkan pada modem ADSL digunakan frekuensi di atas 4 KHz.
Kelebihan modem ADSL yang lainnya adalah dari segi line codingnya yaitu menggunakan teknik modulasi multicarrier atau lebih dikenal dengan istilah DMT ( Discrete Multitone ). DMT mampu mengalokasikan bandwith untuk transmisi data sehingga transmisi dari tiap sub kanal lebih maksimal. Teknik multiplexing yang digunakan pada teknologi ADSL adalah melalui FDM (Frekuensi Division Multiplexing) atau Echo Cancellation. Cara kerja teknologi ADSL hanya berupa proses “dial-up connection”, bukan proses “call set-up” seperti jaringan fixed telephone, harus melalui proses dial tone dulu. Ketika ada permintaan dari user (pelanggan di rumah) untuk akses internet, maka modem ADSL sisi sentral akan langsung memprosesnya (dipisahkan apakah informasi yang diminta berupa data atau suara, alat pemisahnya disebut splitter). Selanjutnya informasi tersebut akan dilewatkan melalui MDF-RK-DP hingga KTB, kemudian di sisi pelanggan informasi data tersebut masuk ke splitter lagi, jika informasinya berupa akses internet (data) maka akan dimasukkan ke modem ADSL sisi pelanggan diteruskan ke PC user, jika berupa suara dari splitter langsung ke telepon, jika yang diminta video dari splitter masuk ke modem ADSL lalu masuk ke Set Top Box (STB) baru ke layar TV.

Senin, 11 Oktober 2010

tugas tulisan

Sistim VVT-i (Variable Valve Timing - Intelligent) merupakan serangkaian peranti untuk mengontrol penggerak camshaft. Maksudnya adalah menyesuaikan waktu bukaan katup dengan kondisi mesin. Sehingga bisa didapat torsi optimal di setiap tingkat kecepatan. Sekaligus menghemat bahan bakar dan mengurangi emisi gas buang.

Pada mesin Toyota, sistim ini diaplikasikan pada katup masuk. Waktu bukaan camshaft bisa bervariasi pada rentang 60 derajat. Misalnya, pada saat start, kondisi mesin dingin dan mesin stasioner tanpa beban, timing dimundurkan 30 derajat.

Cara ini bakal menghilangkan overlap. Yaitu peristiwa membukanya katup masuk dan buang secara bersamaan di akhir langkah pembuangan karena katup masuk baru akan membuka beberapa saat setelah katup buang menutup penuh. Logikanya, pada kondisi ini mesin tak perlu bekerja ekstra.

Dengan tertutupnya katup buang, tak ada bahan bakar yang terbuang saat terisap ke ruang bakar. Konsumsi BBM jadi hemat dan mesin lebih ramah lingkungan.Sedangkan saat ada beban, timing akan maju 30 derajat . Derajat overlapping akan meningkat. Tujuannya untuk membantu mendorong gas buang plus memanaskan campuran bahan bakar dan udara yang masuk. Selain itu, waktu kompresi juga bertambah karena katup masuk juga menutup lebih cepat. Efeknya, efisiensi volumetrik jadi lebih baik.

Untuk mewujudkannya, ada VVT-i controller pada timing gear di intake camshaft. Alat ini terdiri atas housing (rumah), kemudian di dalamnya ada ruangan oli untuk menggerakkan vane (baling-baling).

Baling-baling itu terhubung dengan camshaft. Di dalamnya terdapat dua jalur oli menuju masing-masing ruang oli di dalam rumah VVT-i controller. Dari jalur oli yang berbeda inilah, vane akan mengatur waktu bukaan katup.

Posisi advance timing maju didapat dengan mengisi oli ke ruang belakang masing-masing bilah vane. Sehingga vane akan bergerak maju dan posisi timing pun ikut maju 30 derajat. Tekanan olinya sendiri disediakan oleh camshaft timing Oli Control Valve yang diatur oleh ECU mesin.

Kebalikannya, untuk kondisi retard (mundur), ruang di depan vane akan terisi dan posisi timing mundur. Sedangkan kalau dibutuhkan pada kondisi standar, ada pin yang akan mengunci posisi vane tetap ada di tengah.

Sebenarnya masih ada sistem yang lebih canggih, namanya VVTL-i (Variable Valve Timing Lift-Intelligent). Selain memainkan waktu bukaan katup, tingginya pun ikut dibedakan.

VTEC

Teknologi canggih Variable Valve Timing and Lift Electronic Controlled (VTEC) hasil inovasi Honda ini menampilkan mekanisme berbeda. Perbedaan utamanya adalah pada pergerakan katup masuknya. Pada mesin 16 valve, terdapat masing-masing dua katup masuk dan buang di tiap silinder.

VTEC diaplikasikan hanya pada katup masuk. Pada katup inilah pengontrolan efisiensi mesin lebih berpengaruh. Asumsinya, proses pembuangan tak memerlukan pembukaan katup variabel sebab semakin lancar gas buang, kerja mesin akan semakin enteng.

Pada mesin VTEC, kedua katup masuk tak selalu bergerak bareng. Misalnya, di putaran rendah hanya ada satu klep yang membuka. Bukaannya pun relatif kecil karena karakter camshaft yang menonjok katup ini cocok buat putaran rendah. Kondisi ini dinilai pas untuk mesin. Karena pada putaran rendah tak perlu suplai udara banyak. Selain itu, bisa terjadi turbulensi udara untuk membantu mencampur bahan bakar. Mesin jadi irit, efisien, juga ramah lingkungan.

Seiring naiknya putaran mesin, kebutuhan suplai udara juga meningkat. Langsung dijawab dengan katup kedua. Bukaannya lebih besar karena nok chamshaft punya karakter derajat lebih tinggi. Asyiknya, katup pertama tadi ikut membuka lebih lebar. Hal ini disebabkan ada pin yang menghubungkan rocker arm dan mendorong pin. Otomatis pin tadi akan mengunci kedua rocker arm. Karena rocker arm kedua digerakkan oleh nok camshaft yang berdurasi lebih tinggi, gerakan katup pertama jadi mengikuti.

CPU

A. Format Instruksi
Program terdiri dari urutan instruksi, setiap instrusksi memiliki aksi tertentu. Setiap instruksi terdiri dari field kode operasi atau opcode yang menentukan operasi apa yang harus dikerjakan oleh CPU. Instruksi dapat berupa opcode saja, tetapi sebagian besar instrusksi melibatkan satu atau lebih operand.
Untuk menentukan dimana operand berada disebut addressing. Instruksi tanpa operand disebut dengan zero address instruction. Instruksi yang memerlukan satu atau lebih operand disebut one-address instruction, two-address instruction,dan seterusnya.
Panjang Instruksi tergantung jumlah operand yang terlibat dan cara menentukan setiap operand.
Pada sistem dua operand:
1. 1 operand sebagai sumber (source) atau src.
2. 1 operand sebagai tujuan (destination) atau dest.
Pada sistem tiga operand:
1. 2 operand pertama sebagai sumber (source), src 1 dan src 2.
2. 1 operand kedua sebabagai tujuan (destination), dest.

B. Addressing Mode
Beberapa jenis addressing modes diuraikan sebagai berikut:
1. Immediate Addressing
Pada mode ini, operand merupakan bagian dari instruksi, sehingga operand tersedia dengan segera. Operand ini disebut immediate operand karena secara otomatis di-fetch dari memori dengan instruksi.
2. Direct Addressing
Pada mode ini instruksi menyediakan alamat operand secara langsung. CPU menggunakan alamat ini untuk melakukan fetch (atau store) oprend.
3. Register Direct Addressing
Mode ini mirip dengan direct addressing, perbedaannya field operand menentukan register, bukan alamatmemori. Register ini adalah salah satu dari general purpose register (GPR) CPU.
4. Register Indirect Addressing
Pada mode ini register ditentukan oleh instruksi yang berisi alamat operand, bukan operand itu sendiri. Karena memegang alamat operand, maka register dapat dipandang sebagai petunjuk ke operand, sehingga disebut pointer.
5. Indirect Addressing
Pada addressing mode berikutnya instruksi menentukan alamat operand berkaiatan dengan jarak dari alamat yang laian. Pada mode addressing ini instruksi menyediakan dan menunjukkan register mana yang memegang indek. Indek menentukan berapa jauh operand dari alamat yang disediakan oleh instruksi.
6. Based Addressing
Mode ini dikenal dengan relative addressing. Pada tipe addressing ini alamat operand berkenaan dengan jarak (atau displacement) dengn base address yang disimpan dalam register.


7. Relative Addressing
Program melibatkan instruksi tipe jump untuk menttansfer control ke program lain atau ke bagian lain dari program lain dari program yang sama.

C. Set Instruksi
Set instruki dapat berbeda tidak hanya pada tipe operasi, tetapi juga tipe data dimana operasi-operasi tersebut dilakukan.
Dipandang dari tipe operasi, instruksi dapat dibagi menjadi tiga kelas utama, yaitu:
1. Instruksi transfer data
Memindahkan data antar lokasi tanpa melakukan operasi apapun pada data yang bersangkutan. Contoh instrusi transfer data adalah MOV.
2. Instruksi kendali
Tidak melakukan operasi pada data. Fungsi instrusksi ini untuk mengendalikan program dan keadaan (state) CPU. Contoh instrusksi transfer kendali adalah JUMP, CALLSUB, RETSUB, RETINT, LOOPBCK (kendali program) dan SETC, CLRC, ENINT, DISINT, HALT, NOP (kendali CPU).
3. Instruksi manipulasi data
Melakukan operasi data yang memberikan hasil melalui transformasi data. Yang termasuk instruksi manipulasi data adalah:
a). Aritmetik
b). Lojik
c). Shift/rotate
d). Manipulasi bit
e). Perosesan string

D. CPU Timing
Instruction cyce dan Machine cycle
Adalah urutan langkah yang diperlukan dalam fetching dan eksekusi instrusi. Di dalam prosesor, langkah ini dibagi menjadi urutan yanglebih kecil yang disebut machine cycle. Tipe machine cycle yang umum adalah:
a). Memory Read
b). Memory Write
c). Internal Operation
d). Interupt Acknowledge
e). Bus Grant

KOMPONEN UTAMA CPU

- Arithmetic and Logic Unit (ALU)
- Control Unit (CU)
- Registers
- CPU Interconnections
Arithmetic and Logic Unit
• Bertugas membentuk fungsi-fungsi pengolahan data komputer.
• Arithmetic Logic Unit sering disebut dengan bahasa mesin (machine language) karena bagian ini mengerkjakan instruksi-instruksi bahasa mesin yang diberikan kepadanya.
• Arithmetic Logic Unit terdiri dari dua bagian yaitu unit arithmetic dan unit logika Boolean yang masing-masing memiliki spesifikasi tugas tersendiri.
Control Unit [CU]
• Bertugas mengontrol operasi CPU dan secara keseluruhan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya.
• Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi-intstruksi dari memori utama dan menentukan jenis instruksi tersebut.
Registers [Top Level Memory]
• Media penyimpanan 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
• Sistem koneksi dan bus yang menghubungkan komponen internal dan bus-bus eksternal CPU.
• Komponen internal CPU yaitu ALU, unit kontrol dan register-register.
• Komponen eksternal CPU : sistem lainnya, seperti memori utama, piranti masukan dan keluaran.
KOMPONEN INTERNAL CONTROL PROCESSING UNIT [CPU]
Fungsi CPU
• Menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil instruksi-instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah.
• 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
• 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 dengan 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 biner yang dapat di interprestasikan oleh CPU kemudian dilakukan aksi yang diperlukan.
Aksi CPU
• 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.
Siklus Eksekusi
• Instruction Address Calculation (IAC), yaitu mengkalkulasikan atau menentukan alamat instruksi berikutnya yang akan dieksekusi.
• Instruction Fetch (IF), yaitu membaca atau mengambil 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.
• Operator Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
• Operand Fetch (OF), 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 Interupsi
• 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 manajemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul-modul I/O maupun memori.
• Setiap komponen computer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan eksekusi masing-masing modul berbeda.
• Dapat sebagai sinkronisasi kerja antar modul
Kelas Sinyal Interupsi
• Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya : aritmatika overflow, pembagian nol, operasi ilegal.
• Timer, adalah interupsi yang dibangkitkan perwaktuan dalam processor. 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.
Proses Interupsi
• 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 menghandle routine interupsi.
• Setelah program interupsi selesai, maka prosesor akan melanjutkan eksekusi programnya.
• Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditolak dan interupsi ditolak.
Interupsi ditangguhkan
Apa yang dilakukan prosesor?
• Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan kalamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan
• Prosesor menyetel program counter (PC) ke alamat awal routine interrupt handler.
Sistem Operasi Kompleks
• 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.
• Dapat diambil dua buah pendekatan untuk menangani interupsi ganda ini.
Pendekatan Interupsi Ganda
Ada dua pendekatan :
• Pendekatan ini disebut pengolahan interupsi berurutan/sekuensial.
• Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
• Setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru ditangani.
• Pengolahan interupsi bersarang yaitu mendefinisikan prioritas bagi interupsi.
• Interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu.
Contoh Kasus
Suatu system memiliki tiga perangkat I/O : printer, disk, dan saluran komuniksi, masing-masing prioritasnya 2, 4 dan 5. Bagaimana proses interupsinya?
Contoh Kasus
• Pada awal system melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi.
• Proses selanjutnya adalah pengalihan eksekusi interupsi modul komunikasi, sedangkan interupsi printer ditangguhkan.
• Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan.
• Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk.
• Bola interupsi disk selesai dilanjutkan dilanjutkan eksekusi interupsi printer. Selanjutnya dilanjutkan eksekusi program utama.

struktur komputer

Struktur Komputer Struktur sebuah sistem komputer dapat dibagi menjadi: • Sistem Operasi Komputer. • Struktur I/O. • Struktur Penyimpanan. • Storage Hierarchy. • Proteksi Perangkat Keras. Sistem Operasi Komputer Dewasa ini sistem komputer multiguna terdiri dari CPU (Central Processing Unit); serta 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). CPU dan device controller dapat dijalankan secara bersamaan, namun demikian diperlukan mekanisme sinkronisasi untuk mengatur akses ke memori. Pada saat pertama kali dijalankan atau pada saat boot, terdapat sebuah program awal yang mesti dijalankan. Program awal ini disebut program bootstrap. Program ini berisi semua aspek dari sistem komputer, mulai dari register CPU, device controller, sampai isi memori. Interupsi merupakan bagian penting dari sistem arsitektur komputer. Setiap sistem komputer memiliki mekanisme yang berbeda. Interupsi bisa terjadi apabila perangkat keras (hardware) atau perangkat lunak (software) minta "dilayani" oleh prosesor. Apabila terjadi interupsi maka prosesor menghentikan proses yang sedang dikerjakannya, kemudian beralih mengerjakan service routine untuk melayani interupsi tersebut. Setelah selesai mengerjakan service routine maka prosesor kembali melanjutkan proses yang tertunda. Struktur I/O Bagian ini akan membahas struktur I/O, interupsi I/O, dan DMA, serta perbedaan dalam penanganan interupsi. Interupsi I/O Untuk memulai operasi I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya device controller memeriksa isi register untuk kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, kendali dikembalikan ke proses pengguna setelah proses I/O selesai dikerjakan. Sedangkan pada asynchronous I/O, kendali dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai. Sehingga proses I/O dan proses pengguna dapat dijalankan secara bersamaan. Struktur DMA Direct Memory Access (DMA) suatu metoda penanganan I/O dimana device controller langsung berhubungan dengan memori tanpa campur tangan CPU. Setelah men-set buffers, pointers, dan counters untuk perangkat I/O, device controller mentransfer blok data langsung ke penyimpanan tanpa campur tangan CPU. DMA digunakan untuk perangkat I/O dengan kecepatan tinggi. Hanya terdapat satu interupsi setiap blok, berbeda dengan perangkat yang mempunyai kecepatan rendah dimana interupsi terjadi untuk setiap byte (word). Struktur Penyimpanan Program komputer harus berada di memori utama (biasanya RAM) untuk dapat dijalankan. Memori utama adalah satu-satunya tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Idealnya program dan data secara keseluruhan dapat disimpan dalam memori utama secara permanen. Namun demikian hal ini tidak mungkin karena: • Ukuran memori utama relatif kecil untuk dapat 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. Memori Utama Hanya memori utama dan register merupakan tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan dieksekusi harus disimpan di memori utama atau register. Untuk mempermudah akses perangkat I/O ke memori, pada arsitektur komputer menyediakan fasilitas pemetaan memori ke I/O. Dalam hal ini sejumlah alamat di memori dipetakan dengan device register. Membaca dan menulis pada alamat memori ini menyebabkan data ditransfer dari dan ke device register. Metode ini cocok untuk perangkat dengan waktu respon yang cepat seperti video controller. Register yang terdapat dalam prosesor dapat diakses dalam waktu 1 clock cycle. Hal ini menyebabkan register merupakan media penyimpanan dengan akses paling cepat bandingkan dengan memori utama yang membutuhkan waktu relatif lama. Untuk mengatasi perbedaan kecepatan, dibuatlah suatu penyangga (buffer) penyimpanan yang disebut cache. Magnetic Disk Magnetic Disk berperan sebagai secondary storage pada sistem komputer modern. Magnetic Disk disusun dari piringan-piringan seperti CD. Kedua permukaan piringan diselimuti oleh bahan-bahan magnetik. Permukaan dari piringan dibagi-bagi menjadi track yang memutar, yang kemudian dibagi lagi menjadi beberapa sektor. Storage Hierarchy Dalam storage hierarchy structure, data yang sama bisa tampil dalam level berbeda dari sistem penyimpanan. Sebagai contoh integer A berlokasi pada bekas B yang ditambahkan 1, dengan asumsi bekas B terletak pada magnetic disk. Operasi penambahan diproses dengan pertama kali mengeluarkan operasi I/O untuk menduplikat disk block pada A yang terletak pada memori utama Operasi ini diikuti dengan kemungkinan penduplikatan A ke dalam cache dan penduplikatan A ke dalam internal register. Sehingga penduplikatan A terjadi di beberapa tempat. Pertama terjadi di internal register dimana nilai A berbeda dengan yang di sistem penyimpanan. Dan nilai di A akan kembali sama ketika nilai baru ditulis ulang ke magnetic disk. Pada kondisi multi prosesor, situasi akan menjadi lebih rumit. Hal ini disebabkan masing-masing prosesor mempunyai local cache. Dalam kondisi seperti ini hasil duplikat dari A mungkin hanya ada di beberapa cache. Karena CPU (register-register) dapat dijalankan secara bersamaan maka kita harus memastikan perubahan nilai A pada satu cache akan mengubah nilai A pada semua cache yang ada. Hal ini disebut sebagai Cache Coherency. Proteksi Perangkat Keras Sistem komputer terdahulu berjenis programmer-operated systems. Ketika komputer dioperasikan dalam konsul mereka (pengguna) harus melengkapi sistem terlebih dahulu. Akan tetapi setelah sistem operasi lahir maka hal tersebut diambil alih oleh sistem operasi. Sebagai contoh pada monitor yang proses I/O sudah diambil alih oleh sistem operasi, padahal dahulu hal ini dilakukan oleh pengguna. Untuk meningkatkan utilisasi sistem, sistem operasi akan membagi sistem sumber daya sepanjang program secara simultan. Pengertian spooling adalah suatu program dapat dikerjakan walau pun I/O masih mengerjakan proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi programming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu. Pembagian ini memang menguntungkan sebab banyak proses dapat berjalan pada satu waktu akan tetapi mengakibatkan masalah-masalah baru. Ketika tidak di sharing maka jika terjadi kesalahan hanyalah akan membuat kesalahan program. Tapi jika di-sharing jika terjadi kesalahan pada satu proses/ program akan berpengaruh pada proses lainnya. Sehingga diperlukan pelindung (proteksi). Tanpa proteksi jika terjadi kesalahan maka hanya satu saja program yang dapat dijalankan atau seluruh output pasti diragukan. Banyak kesalahan pemprograman dideteksi oleh perangkat keras. Kesalahan ini biasanya ditangani oleh sistem operasi. Jika terjadi kesalahan program, perangkat keras akan meneruskan kepada sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Pesan kesalahan disampaikan, dan memori dari program akan dibuang. Tapi memori yang terbuang biasanya tersimpan pada disk agar programmer bisa membetulkan kesalahan dan menjalankan program ulang. Operasi Dual Mode Untuk memastikan operasi berjalan baik kita harus melindungi sistem operasi, program, dan data dari program-program yang salah. Proteksi ini memerlukan share resources. Hal ini bisa dilakukan sistem operasi dengan cara menyediakan pendukung perangkat keras yang mengizinkan kita membedakan mode pengeksekusian program. Mode yang kita butuhkan ada dua mode operasi yaitu: • Mode Monitor. • Mode Pengguna. Pada perangkat keras akan ada bit atau Bit Mode yang berguna untuk membedakan mode apa yang sedang digunakan dan apa yang sedang dikerjakan. Jika Mode Monitor maka akan benilai 0, dan jika Mode Pengguna maka akan bernilai 1. Pada saat boot time, perangkat keras bekerja pada mode monitor dan setelah sistem operasi di-load maka akan mulai masuk ke mode pengguna. Ketika terjadi trap atau interupsi, perangkat keras akan men-switch lagi keadaan dari mode pengguna menjadi mode monitor (terjadi perubahan state menjadi bit 0). Dan akan kembali menjadi mode pengguna jikalau sistem operasi mengambil alih proses dan kontrol komputer (state akan berubah menjadi bit 1). Proteksi I/O Pengguna bisa mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan mengakses lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan diri dari prosesor. Untuk mencegahnya kita menganggap semua instruksi I/O sebagai privilidge instruction sehingga mereka tidak bisa mengerjakan instruksi I/O secara langsung ke memori tapi harus lewat sistem operasi terlebih dahulu. Proteksi I/O dikatakan selesai jika pengguna dapat dipastikan tidak akan menyentuh mode monitor. Jika hal ini terjadi proteksi I/O dapat dikompromikan. Proteksi Memori Salah satu proteksi perangkat keras ialah dengan proteksi memori yaitu dengan pembatasan penggunaan memori. Disini diperlukan beberapa istilah yaitu: • Base Register yaitu alamat memori fisik awal yang dialokasikan/ boleh digunakan oleh pengguna. • Limit Register yaitu nilai batas dari alamat memori fisik awal yang dialokasikan/boleh digunakan oleh pengguna. • Proteksi Perangkat Keras.