RISC dan CISC
RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalam komunikasi diantara arsitektur yang lainnya.
Sejarah RISC
Proyek RISC pertama dibuat oleh IBM, stanford dan UC –Berkeley pada akhir tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Barkeley RISC 1 dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai RISC. RISC mempunyai karakteristik :
one cycle execution time : satu putaran eksekusi. Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
pipelining:adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan.Sehingga proses instruksi lebih efiisien
large number of registers: Jumlah register yang sangat banyak. RISC di Desain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
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.
Satu alasan mengenai hal ini adalah karena set-set instruksi level-tinggi, yang sering disandikan (untuk kode-kode yang kompleks), akan menjadi cukup sulit untuk diterjemahkan kembali dan dijalankan secara efektif dengan jumlah transistor yang terbatas. Oleh karena itu arsitektur -arsitektur ini memerlukan penanganan yang lebih terfokus pada desain prosesor. Pada saat itu di mana jumlah transistor cukup terbatas, mengakibatkan semakin sempitnya peluang ditemukannya cara-cara alternatif untuk optimisasi perkembangan prosesor. Oleh karena itulah, pemikiran untuk menggunakan desain RISC muncul pada pertengahan tahun 1970 (Pusat Penelitian Watson IBM 801 - IBMs)
Contoh-contoh prosesor CISC adalah System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.
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 pertam` 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.
Minggu, 18 Desember 2011
Senin, 05 Desember 2011
Pertemuan 8
Struktur Program Assembly
Sarana yang ada dalam program assembly sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas (high level language programming) semuanya sudah siap pakai. Penulis program assembly harus menentukan segalanya, menentukan letak program yang ditulisnya dalam memori-program, membuat data konstan dan tablel konstan dalam memori-program, membuat variabel yang dipakai kerja dalam memori-data dan lain sebagainya.
Program sumber assembly
Program-sumber assembly (assembly source program) merupakan kumpulan dari baris-baris perintah yang ditulis dengan program penyunting-teks (text editor) sederhana, misalnya program EDIT.COM dalam DOS, atau program NOTEPAD dalam Windows. Kumpulan baris-printah tersebut biasanya disimpan ke dalam file dengan nama ekstensi *.ASM atau nama lain misalnya *.A51 dan lain sebagainya, tergantung pada program Assembler yang akan dipakai untuk mengolah program-sumber assembly tersebut.
Setiap baris-perintah merupakan sebuah perintah yang utuh, artinya sebuah perintah tidak mungkin dipecah menjadi lebih dari satu baris. Satu baris perintah bisa terdiri atas 4 bagian, bagian pertama dikenali sebagai label atau sering juga disebut sebagai symbol, bagian kedua dikenali sebagai kode operasi, bagian ketiga adalah operand dan bagian terakhir adalah komentar.
Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau tabulator.
Bagian label
Label dipakai untuk memberi nama pada sebuah baris-perintah, agar bisa mudah menyebitnya dalam penulisan program. Label bisa ditulis apa saja asalkan diawali dengan huruf, biasa panjangnya tidak lebih dari 16 huruf. Huruf-huruf berikutnya boleh merupakan angka atau tanda titik dan tanda garis bawah. Kalau sebuah baris-perintah tidak memiliki bagian label, maka bagian ini boleh tidak ditulis namun spasi atau tabulator sebagai pemisah antara label dan bagian berikutnya mutlak tetap harus ditulis.
Dalam sebuah program sumber bisa terdapat banyak sekali label, tapi tidak boleh ada label yang kembar.
Sering sebuah baris-perintah hanya terdiri dari bagian label saja, baris demikian itu memang tidak bisa dikatakan sebagai baris-perintah yang sesungguhnya, tapi hanya sekedar memberi nama pada baris bersangkutan.
Bagian label sering disebut juga sebagai bagian symbol, hal ini terjadi kalau label tersebut tidak dipakai untuk menandai bagian program, melainkan dipakai untuk menandai bagian data.
Bagian kode operasi
Kode operasi (operation code atau sering disingkat sebagai OpCode) merupakan bagian perintah yang harus dikerjakan. Dalam hal ini dikenal dua macam kode operasi, yang pertama adalah kode-operasi untuk mengatur kerja mikroprosesor / mikrokontroler. Jenis kedua dipakai untuk mengatur kerja program assembler, sering dinamakan sebagai assembler directive.
Kode-operasi ditulis dalam bentuk mnemonic, yakni bentuk singkatan-singkatan yang relatip mudah diingat, misalnya adalah MOV, ACALL, RET dan lain sebagainya. Kode-operasi ini ditentukan oleh pabrik pembuat mikroprosesor/mikrokontroler, dengan demikian setiap prosesor mempunyai kode-operasi yang berlainan.
Kode-operasi berbentuk mnemonic tidak dikenal mikroprosesor/mikrokontroler, agar program yang ditulis dengan kode mnemonic bisa dipakai untuk mengendalikan prosesor, program semacam itu diterjemahkan menjadi program yang dibentuk dari kode-operasi kode-biner, yang dikenali oleh mikroprosesor/mikrokontroler.
Tugas penerjemahan tersebut dilakukan oleh program yang dinamakan sebagai Program Assembler.
Di luar kode-operasi yang ditentukan pabrik pembuat mikroprosesor/mikrokontroler, ada pula kode-operasi untuk mengatur kerja dari program assembler, misalnya dipakai untuk menentukan letak program dalam memori (ORG), dipakai untuk membentuk variabel (DS), membentuk tabel dan data konstan (DB, DW) dan lain sebagainya.
Bagian operand
Operand merupakan pelengkap bagian kode operasi, namun tidak semua kode operasi memerlukan operand, dengan demikian bisa terjadi sebuah baris perintah hanya terdiri dari kode operasi tanpa operand. Sebaliknya ada pula kode operasi yang perlu lebih dari satu operand, dalam hal ini antara operand satu dengan yang lain dipisahkan dengan tanda koma.
Bentuk operand sangat bervariasi, bisa berupa kode-kode yang dipakai untuk menyatakan Register dalam prosesor, bisa berupa nomor-memori (alamat memori) yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di-operasi-kan. Semuanya disesuaikan dengan keperluan dari kode-operasi.
Untuk membedakan operand yang berupa nomor-memori atau operand yang berupa data yang siap di-operasi-kan, dipakai tanda-tanda khusus atau cara penulisan yang berlainan.
Di samping itu operand bisa berupa persamaan matematis sederhana atau persamaan Boolean, dalam hal semacam ini program Assembler akan menghitung nilai dari persamaan-persamaan dalam operand, selanjutnya merubah hasil perhitungan tersebut ke kode biner yang dimengerti oleh prosesor. Jadi perhitungan di dalam operand dilakukan oleh program assembler bukan oleh prosesor!
Bagian komentar
Bagian komentar merupakan catatan-catatan penulis program, bagian ini meskipun tidak mutlak diperlukan tapi sangat membantu masalah dokumentasi. Membaca komentar-komentar pada setiap baris-perintah, dengan mudah bisa dimengerti maksud tujuan baris bersangkutan, hal ini sangat membantu orang lain yang membaca program.
Pemisah bagian komentar dengan bagian sebelumnya adalah tanda spasi atau tabulator, meskipun demikian huruf pertama dari komentar sering-sering berupa tanda titik-koma, merupakan tanda pemisah khusus untuk komentar.
Untuk keperluan dokumentasi yang intensip, sering-sering sebuah baris yang merupakan komentar saja, dalam hal ini huruf pertama dari baris bersangkutan adalah tanda titik-koma.
Sarana yang ada dalam program assembly sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas (high level language programming) semuanya sudah siap pakai. Penulis program assembly harus menentukan segalanya, menentukan letak program yang ditulisnya dalam memori-program, membuat data konstan dan tablel konstan dalam memori-program, membuat variabel yang dipakai kerja dalam memori-data dan lain sebagainya.
Program sumber assembly
Program-sumber assembly (assembly source program) merupakan kumpulan dari baris-baris perintah yang ditulis dengan program penyunting-teks (text editor) sederhana, misalnya program EDIT.COM dalam DOS, atau program NOTEPAD dalam Windows. Kumpulan baris-printah tersebut biasanya disimpan ke dalam file dengan nama ekstensi *.ASM atau nama lain misalnya *.A51 dan lain sebagainya, tergantung pada program Assembler yang akan dipakai untuk mengolah program-sumber assembly tersebut.
Setiap baris-perintah merupakan sebuah perintah yang utuh, artinya sebuah perintah tidak mungkin dipecah menjadi lebih dari satu baris. Satu baris perintah bisa terdiri atas 4 bagian, bagian pertama dikenali sebagai label atau sering juga disebut sebagai symbol, bagian kedua dikenali sebagai kode operasi, bagian ketiga adalah operand dan bagian terakhir adalah komentar.
Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau tabulator.
Bagian label
Label dipakai untuk memberi nama pada sebuah baris-perintah, agar bisa mudah menyebitnya dalam penulisan program. Label bisa ditulis apa saja asalkan diawali dengan huruf, biasa panjangnya tidak lebih dari 16 huruf. Huruf-huruf berikutnya boleh merupakan angka atau tanda titik dan tanda garis bawah. Kalau sebuah baris-perintah tidak memiliki bagian label, maka bagian ini boleh tidak ditulis namun spasi atau tabulator sebagai pemisah antara label dan bagian berikutnya mutlak tetap harus ditulis.
Dalam sebuah program sumber bisa terdapat banyak sekali label, tapi tidak boleh ada label yang kembar.
Sering sebuah baris-perintah hanya terdiri dari bagian label saja, baris demikian itu memang tidak bisa dikatakan sebagai baris-perintah yang sesungguhnya, tapi hanya sekedar memberi nama pada baris bersangkutan.
Bagian label sering disebut juga sebagai bagian symbol, hal ini terjadi kalau label tersebut tidak dipakai untuk menandai bagian program, melainkan dipakai untuk menandai bagian data.
Bagian kode operasi
Kode operasi (operation code atau sering disingkat sebagai OpCode) merupakan bagian perintah yang harus dikerjakan. Dalam hal ini dikenal dua macam kode operasi, yang pertama adalah kode-operasi untuk mengatur kerja mikroprosesor / mikrokontroler. Jenis kedua dipakai untuk mengatur kerja program assembler, sering dinamakan sebagai assembler directive.
Kode-operasi ditulis dalam bentuk mnemonic, yakni bentuk singkatan-singkatan yang relatip mudah diingat, misalnya adalah MOV, ACALL, RET dan lain sebagainya. Kode-operasi ini ditentukan oleh pabrik pembuat mikroprosesor/mikrokontroler, dengan demikian setiap prosesor mempunyai kode-operasi yang berlainan.
Kode-operasi berbentuk mnemonic tidak dikenal mikroprosesor/mikrokontroler, agar program yang ditulis dengan kode mnemonic bisa dipakai untuk mengendalikan prosesor, program semacam itu diterjemahkan menjadi program yang dibentuk dari kode-operasi kode-biner, yang dikenali oleh mikroprosesor/mikrokontroler.
Tugas penerjemahan tersebut dilakukan oleh program yang dinamakan sebagai Program Assembler.
Di luar kode-operasi yang ditentukan pabrik pembuat mikroprosesor/mikrokontroler, ada pula kode-operasi untuk mengatur kerja dari program assembler, misalnya dipakai untuk menentukan letak program dalam memori (ORG), dipakai untuk membentuk variabel (DS), membentuk tabel dan data konstan (DB, DW) dan lain sebagainya.
Bagian operand
Operand merupakan pelengkap bagian kode operasi, namun tidak semua kode operasi memerlukan operand, dengan demikian bisa terjadi sebuah baris perintah hanya terdiri dari kode operasi tanpa operand. Sebaliknya ada pula kode operasi yang perlu lebih dari satu operand, dalam hal ini antara operand satu dengan yang lain dipisahkan dengan tanda koma.
Bentuk operand sangat bervariasi, bisa berupa kode-kode yang dipakai untuk menyatakan Register dalam prosesor, bisa berupa nomor-memori (alamat memori) yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di-operasi-kan. Semuanya disesuaikan dengan keperluan dari kode-operasi.
Untuk membedakan operand yang berupa nomor-memori atau operand yang berupa data yang siap di-operasi-kan, dipakai tanda-tanda khusus atau cara penulisan yang berlainan.
Di samping itu operand bisa berupa persamaan matematis sederhana atau persamaan Boolean, dalam hal semacam ini program Assembler akan menghitung nilai dari persamaan-persamaan dalam operand, selanjutnya merubah hasil perhitungan tersebut ke kode biner yang dimengerti oleh prosesor. Jadi perhitungan di dalam operand dilakukan oleh program assembler bukan oleh prosesor!
Bagian komentar
Bagian komentar merupakan catatan-catatan penulis program, bagian ini meskipun tidak mutlak diperlukan tapi sangat membantu masalah dokumentasi. Membaca komentar-komentar pada setiap baris-perintah, dengan mudah bisa dimengerti maksud tujuan baris bersangkutan, hal ini sangat membantu orang lain yang membaca program.
Pemisah bagian komentar dengan bagian sebelumnya adalah tanda spasi atau tabulator, meskipun demikian huruf pertama dari komentar sering-sering berupa tanda titik-koma, merupakan tanda pemisah khusus untuk komentar.
Untuk keperluan dokumentasi yang intensip, sering-sering sebuah baris yang merupakan komentar saja, dalam hal ini huruf pertama dari baris bersangkutan adalah tanda titik-koma.
Minggu, 06 November 2011
pertemuan 7
Sistem Operasi berikut berisi tentang PCB (Process Control Block) yang berada pada sistem Operasi Linux. Process Control Block berkaitan erat dengan manajemen proses. Proses adalah program yang sedang dieksekusi, yang meliputi aktivitas yang berkaitan dengan program Counter; stack yang berisi data sementara seperti parameter fungsi, return address, dan variabel local; dan data section yang menyimpan variabel-variabel global.
Sistem operasi dapat menjalankan satu proses tunggal pada satu waktu tetapi juga dapat menjalankan beberapa proses (multi-proses) dalam satu waktu. Sistem Operasi mengeksekusi proses dengan dua cara yaitu:
Batch System yang mengeksekusi jobs
Time-shared System yang mengatur pengeksekusian program pengguna (user programs) atau tasks.
Pada umumnya sistem komputer hanya memiliki satu prosesor yang dapat menjalankan satu instruksi pada satu waktu. Untuk dapat menangani multi-proses dalam satu waktu, prosesor bekerja dengan cara menjalankan satu proses pada satu waktu dan berganti dengan cepat untuk menangani proses yang lain demikian proses akan ditangani secara bergantian oleh prosesor. Pada satu waktu setiap proses dalam multi-proses memiliki status proses yang berbeda-beda. Status proses tersebut adalah:
New : status yang dimiliki pada saat proses baru saja dibuat.
Running : status pada saat instruksi-instruksi dari sebuah proses dieksekusi.
Waiting : status pada saat proses menunggu suatu sebuah event seperti proses I/O.
Ready : status pada saat proses siap untuk dieksekusi oleh prosesor
Terminated : status yang dimiliki pada saat proses telah selesai dieksekusi.
Agar prosesor dapat menangani multi-proses dengan baik dan lancar diperlukan manajemen proses. Untuk melakukan pengaturan eksekusi proses, setiap proses memiliki sebuah PCB (Process Control Block) pada sistem operasi. Process Control Block adalah struktur data yang digunakan oleh sistem oprasi untuk melakukan manajemen proses. PCB memuat informasi sebuah proses yang spesifik, termasuk hal-hal di bawah ini:
Process state
Proses ID (PID), sebagai nomor identitas
Program counter
CPU registers
CPU scheduling information.
Prioritas eksekusi proses, menunjukkan seberapa sering proses dikerjakan prosesor. Proses yang memiliki nilai prioritas lebih tinggi akan dikerjakan terlebih dahulu.
Memory-management information
Accounting information
I/O status information
Untuk melihat secara langsung sebuah PCB menyimpan informasi dari suatu proses, berisi seperti yang disebutkan diatas, kami (kelompok PCB : Dany Kurniawan, Yonan, dan M. Arif) mencoba untuk menjalankan Open Office, dan melihat kejadian-kejadian sebagai berikut:
Informasi yang kami dapatkan adalah:
Nama Process (Command) : soffice.bin
Proses ID(PID) : 3388
melihat isi /proc dalam directory 3388 yang merupakan proses dari open office. Isi dari proses 3388 dpt diihat
Status (S) : S (Sleep)
Memori (%MEM) : 11.6
Sistem operasi dapat menjalankan satu proses tunggal pada satu waktu tetapi juga dapat menjalankan beberapa proses (multi-proses) dalam satu waktu. Sistem Operasi mengeksekusi proses dengan dua cara yaitu:
Batch System yang mengeksekusi jobs
Time-shared System yang mengatur pengeksekusian program pengguna (user programs) atau tasks.
Pada umumnya sistem komputer hanya memiliki satu prosesor yang dapat menjalankan satu instruksi pada satu waktu. Untuk dapat menangani multi-proses dalam satu waktu, prosesor bekerja dengan cara menjalankan satu proses pada satu waktu dan berganti dengan cepat untuk menangani proses yang lain demikian proses akan ditangani secara bergantian oleh prosesor. Pada satu waktu setiap proses dalam multi-proses memiliki status proses yang berbeda-beda. Status proses tersebut adalah:
New : status yang dimiliki pada saat proses baru saja dibuat.
Running : status pada saat instruksi-instruksi dari sebuah proses dieksekusi.
Waiting : status pada saat proses menunggu suatu sebuah event seperti proses I/O.
Ready : status pada saat proses siap untuk dieksekusi oleh prosesor
Terminated : status yang dimiliki pada saat proses telah selesai dieksekusi.
Agar prosesor dapat menangani multi-proses dengan baik dan lancar diperlukan manajemen proses. Untuk melakukan pengaturan eksekusi proses, setiap proses memiliki sebuah PCB (Process Control Block) pada sistem operasi. Process Control Block adalah struktur data yang digunakan oleh sistem oprasi untuk melakukan manajemen proses. PCB memuat informasi sebuah proses yang spesifik, termasuk hal-hal di bawah ini:
Process state
Proses ID (PID), sebagai nomor identitas
Program counter
CPU registers
CPU scheduling information.
Prioritas eksekusi proses, menunjukkan seberapa sering proses dikerjakan prosesor. Proses yang memiliki nilai prioritas lebih tinggi akan dikerjakan terlebih dahulu.
Memory-management information
Accounting information
I/O status information
Untuk melihat secara langsung sebuah PCB menyimpan informasi dari suatu proses, berisi seperti yang disebutkan diatas, kami (kelompok PCB : Dany Kurniawan, Yonan, dan M. Arif) mencoba untuk menjalankan Open Office, dan melihat kejadian-kejadian sebagai berikut:
Informasi yang kami dapatkan adalah:
Nama Process (Command) : soffice.bin
Proses ID(PID) : 3388
melihat isi /proc dalam directory 3388 yang merupakan proses dari open office. Isi dari proses 3388 dpt diihat
Status (S) : S (Sleep)
Memori (%MEM) : 11.6
Minggu, 30 Oktober 2011
Pertemuan 6
Input/Output Problems
Berbagai macam peripheral
Menyampaikan berbagai data dalam jumlah
Pada kecepatan yang berbeda
Dalam format yang berbeda
Lebih lambat dari CPU dan RAM Semua
Need I / O modul
Input/Output Module
Interface ke CPU dan Memori
Interface ke satu atau lebih peripheral
External Devices
dapat dibaca manusia
Layar, printer, keyboard
dibaca mesin
Monitoring dan kontrol
komunikasi
modem
Network Interface Card (NIC)
I/O Module Function
Control & Timing
CPU Communication
Device Communication
Data Buffering
Error Detection
I/O Steps
CPU memeriksa I / O Status modul device
Modul I / O Status pengembalian
Jika siap, CPU meminta transfer data
Modul I / O mendapatkan data dari device
Modul I / O transfer data ke CPU
Variasi untuk output, DMA, dll
I/O Module Decisions
Menyembunyikan atau mengungkapkan device properties ke CPU
Dukungan beberapa device atau tunggal
Kontrol fungsi perangkat atau meninggalkan untuk CPU
Juga O / S keputusan
misalnya Unix memperlakukan segala sesuatu yang dapat sebagai file
Input Output Techniques
Programmed
interrupt driven
Direct Memory Access (DMA)
Programmed I/O
CPU memiliki kontrol langsung atas I / O
penginderaan Status
Membaca / menulis perintah
mentransfer data
CPU menunggu modul I / O untuk operasi lengkap
Limbah waktu CPU
Programmed I/O – detail
CPU meminta I / O operasi
Modul I / O melakukan operasi
I / O modul set bit status yang
CPU memeriksa bit status yang secara berkala
Modul I / O tidak memberitahu CPU secara langsung
Modul I / O tidak mengganggu CPU
CPU mungkin menunggu atau kembali lagi nanti
I/O Commands
CPU masalah alamat
Mengidentifikasi modul (& perangkat jika> 1 per modul)
CPU masalah perintah
Kontrol - modul memberitahu apa yang harus dilakukan
misalnya berputar disk
Uji - Status cek
misalnya kekuasaan? Kesalahan?
Baca / Tulis
Modul transfer data melalui buffer dari / ke perangkat
Addressing I/O Devices
Di bawah diprogram I / O transfer data sangat seperti akses memori (sudut pandangCPU)
Setiap perangkat diberi pengenal unik
Perintah CPU berisi pengenal (alamat)
I/O Mapping
Memori dipetakan I / O
Perangkat dan berbagi ruang alamat memori
I / O tampak seperti memori baca / tulis
Tidak ada perintah khusus untuk I / O
Banyak pilihan perintah akses memori yang tersedia
Terisolasi I / O
Pisahkan alamat spasi
Butuh I / O atau memori baris pilih
Khusus perintah untuk I / O
terbatas diatur
Interrupt Driven I/O
Mengatasi CPU menunggu
Tidak memeriksa ulang perangkat CPU
I / O modul interupsi saat siap
Interrupt Driven I/O Basic Operation
Masalah CPU membaca perintah
Modul I / O mendapatkan data dari CPU sementara tidak bekerja perifer lainnya
Modul I / O menyela CPU
CPU permintaan data
Transfer modul I / O data
CPU Viewpoint
Masalah membaca perintah
Melakukan pekerjaan lain
Periksa interupsi pada akhir setiap siklus instruksi
Jika terganggu: -
Simpan konteks (register)
proses mengganggu
Mengambil data & menyimpan
Lihat catatan Sistem Operasi
Design Issues
Bagaimana Anda mengidentifikasi modul menerbitkan mengganggu?
Bagaimana Anda menangani beberapa interupsi?
yakni sebuah interrupt handler yang terganggu
Identifying Interrupting Module (1)
Berbeda baris untuk setiap modul
PC
Batas jumlah perangkat
Software jajak pendapat
CPU meminta modul masing-masing pada gilirannya
lambat
Identifying Interrupting Module (2)
Daisy Chain atau jajak pendapat perangkat keras
Interrupt Akui diturunkan rantai
Modul bertanggung jawab tempat vektor di bus
CPU menggunakan vektor untuk mengidentifikasi rutin handler
bus Master
Modul harus mengajukan klaim bus sebelum dapat meningkatkan mengganggu
misalnya PCI & SCSI
Multiple Interrupts
Setiap baris interrupt memiliki prioritas
Garis prioritas yang lebih tinggi dapat mengganggu jalur prioritas yang lebih rendah
Jika bus mastering hanya master saat ini dapat mengganggu
Example - PC Bus
80x86 memiliki satu baris interrupt
8086 menggunakan sistem berbasis satu controller interupsi 8259A
8259A memiliki 8 baris interrupt
Sequence of Events
Menerima interupsi 8259A
8259A menentukan prioritas
8259A sinyal 8086 (INTR menimbulkan baris)
CPU Mengakui
8259A menempatkan vektor yang benar pada data bus
Proses CPU mengganggu
ISA Bus Interrupt System
Bus ISA chain dua 8259As bersama-sama
Link adalah melalui interupsi 2
Memberikan 15 baris
16 baris kurang satu untuk link
IRQ 9 digunakan untuk kembali rute apa pun mencoba untuk menggunakan IRQ 2
kompatibilitas mundur
Incorporated di chip set
Direct Memory Access
Interrupt driven dan diprogram I / O memerlukan intervensi CPU aktif
Transfer rate terbatas
CPU diikat
DMA adalah jawabannya
DMA Function
Modul tambahan (hardware) di bus
DMA controller mengambil alih dari CPU untuk I / O
DMA Operation
DMA controller memberitahu CPU: -
Baca / Tulis
alamat perangkat
Mulai alamat blok memori untuk data
Jumlah data yang ditransfer
CPU melanjutkan pekerjaan lain
DMA controller mentransfer berhubungan dengan
DMA controller mengirimkan interupsi ketika selesai
DMA Transfer Cycle Stealing
DMA controller mengambil alih bus untuk siklus
Transfer data satu kata
Tidak interrupt
CPU tidak context switch
CPU ditangguhkan sebelum ia mengakses bus
yaitu sebelum mengambil operand atau data atau menulis data
Memperlambat CPU, tetapi tidak sebanyak mentransfer CPU melakukan
I/O Channels
I / O device semakin canggih
misalnya Kartu grafis 3D
Menginstruksikan CPU I / O controller untuk melakukan transfer
I / O controller tidak seluruh transfer
meningkatkan kecepatan
Membawa beban dari CPU
Dedicated prosesor lebih cepat
Small Computer Systems Interface (SCSI)
paralel antarmuka
8, 16, 32 bit data baris
daisy dirantai
Perangkat independen
Perangkat dapat berkomunikasi satu sama lain juga sebagai tuan rumah
SCSI – 1
awal 1980-an
8 bit
5MHz
Data rate 5MBytes.s-1
tujuh perangkat
Delapan termasuk antarmuka host
SCSI – 2
1991
16 dan 32 bit
10MHz
Data rate 20 atau 40 Mbytes.s-1
(Check out Ultra / Wide SCSI)
SCSI Signaling (1)
Antara inisiator dan target
Biasanya host & perangkat
Bis gratis? (c.f. Ethernet)
Arbitrase - mengendalikan bus (c.f. PCI)
memilih target
seleksi ulang
Memungkinkan rekoneksi setelah suspensi
misalnya jika permintaan membutuhkan waktu untuk mengeksekusi, bus dapat dilepaskan
SCSI Signaling (2)
Perintah - target meminta dari inisiator
data permintaan
Status permintaan
Pesan permintaan (kedua cara)
Configuring SCSI
Bus harus diakhiri di setiap akhir
Biasanya salah satu ujungnya adalah host adapter
Pasang di terminator atau beralih (es)
SCSI Id harus diatur
Jumper atau switch
Unik pada rantai
0 (nol) untuk perangkat boot
Jumlah yang lebih tinggi merupakan prioritas tinggi pada arbitrase
IEEE 1394 FireWire
Kinerja bus seri tinggi
cepat
biaya rendah
Mudah untuk menerapkan
Juga digunakan dalam kamera digital, VCR dan TV
FireWire Configuration
rantai daisy
Sampai dengan 63 perangkat pada port tunggal
Benar-benar 64 yang satu adalah antarmuka itu sendiri
Sampai 1022 bus dapat dihubungkan dengan jembatan
konfigurasi otomatis
Tidak ada bus terminator
Mungkin struktur pohon
FireWire 3 Layer Stack
fisik
Transmisi menengah, listrik dan karakteristik sinyal
link
Transmisi data dalam paket
transaksi
Permintaan-respon protocol
FireWire - Physical Layer
Data rate dari 25 hingga 400Mbps
Dua bentuk arbitrase
Berdasarkan struktur pohon
Akar bertindak sebagai arbiter
Pertama datang pertama dilayani
Prioritas alami kontrol permintaan simultan
yaitu yang terdekat untuk root
arbitrase yang adil
mendesak arbitrase
FireWire - Link Layer
Dua jenis transmisi
asynchronous
Jumlah variabel data dan beberapa byte data transaksi ditransfer sebagai sebuah paket
Untuk mengatasi eksplisit
Pengakuan kembali
isochronous
Variabel jumlah data dalam urutan paket ukuran yang tetap secara berkala
Sederhana menangani
tidak ada pengakuan
Foreground Reading
Check out Universal Serial Bus (USB)
Bandingkan dengan standar komunikasi lainnya misalnya Ethernet
Berbagai macam peripheral
Menyampaikan berbagai data dalam jumlah
Pada kecepatan yang berbeda
Dalam format yang berbeda
Lebih lambat dari CPU dan RAM Semua
Need I / O modul
Input/Output Module
Interface ke CPU dan Memori
Interface ke satu atau lebih peripheral
External Devices
dapat dibaca manusia
Layar, printer, keyboard
dibaca mesin
Monitoring dan kontrol
komunikasi
modem
Network Interface Card (NIC)
I/O Module Function
Control & Timing
CPU Communication
Device Communication
Data Buffering
Error Detection
I/O Steps
CPU memeriksa I / O Status modul device
Modul I / O Status pengembalian
Jika siap, CPU meminta transfer data
Modul I / O mendapatkan data dari device
Modul I / O transfer data ke CPU
Variasi untuk output, DMA, dll
I/O Module Decisions
Menyembunyikan atau mengungkapkan device properties ke CPU
Dukungan beberapa device atau tunggal
Kontrol fungsi perangkat atau meninggalkan untuk CPU
Juga O / S keputusan
misalnya Unix memperlakukan segala sesuatu yang dapat sebagai file
Input Output Techniques
Programmed
interrupt driven
Direct Memory Access (DMA)
Programmed I/O
CPU memiliki kontrol langsung atas I / O
penginderaan Status
Membaca / menulis perintah
mentransfer data
CPU menunggu modul I / O untuk operasi lengkap
Limbah waktu CPU
Programmed I/O – detail
CPU meminta I / O operasi
Modul I / O melakukan operasi
I / O modul set bit status yang
CPU memeriksa bit status yang secara berkala
Modul I / O tidak memberitahu CPU secara langsung
Modul I / O tidak mengganggu CPU
CPU mungkin menunggu atau kembali lagi nanti
I/O Commands
CPU masalah alamat
Mengidentifikasi modul (& perangkat jika> 1 per modul)
CPU masalah perintah
Kontrol - modul memberitahu apa yang harus dilakukan
misalnya berputar disk
Uji - Status cek
misalnya kekuasaan? Kesalahan?
Baca / Tulis
Modul transfer data melalui buffer dari / ke perangkat
Addressing I/O Devices
Di bawah diprogram I / O transfer data sangat seperti akses memori (sudut pandangCPU)
Setiap perangkat diberi pengenal unik
Perintah CPU berisi pengenal (alamat)
I/O Mapping
Memori dipetakan I / O
Perangkat dan berbagi ruang alamat memori
I / O tampak seperti memori baca / tulis
Tidak ada perintah khusus untuk I / O
Banyak pilihan perintah akses memori yang tersedia
Terisolasi I / O
Pisahkan alamat spasi
Butuh I / O atau memori baris pilih
Khusus perintah untuk I / O
terbatas diatur
Interrupt Driven I/O
Mengatasi CPU menunggu
Tidak memeriksa ulang perangkat CPU
I / O modul interupsi saat siap
Interrupt Driven I/O Basic Operation
Masalah CPU membaca perintah
Modul I / O mendapatkan data dari CPU sementara tidak bekerja perifer lainnya
Modul I / O menyela CPU
CPU permintaan data
Transfer modul I / O data
CPU Viewpoint
Masalah membaca perintah
Melakukan pekerjaan lain
Periksa interupsi pada akhir setiap siklus instruksi
Jika terganggu: -
Simpan konteks (register)
proses mengganggu
Mengambil data & menyimpan
Lihat catatan Sistem Operasi
Design Issues
Bagaimana Anda mengidentifikasi modul menerbitkan mengganggu?
Bagaimana Anda menangani beberapa interupsi?
yakni sebuah interrupt handler yang terganggu
Identifying Interrupting Module (1)
Berbeda baris untuk setiap modul
PC
Batas jumlah perangkat
Software jajak pendapat
CPU meminta modul masing-masing pada gilirannya
lambat
Identifying Interrupting Module (2)
Daisy Chain atau jajak pendapat perangkat keras
Interrupt Akui diturunkan rantai
Modul bertanggung jawab tempat vektor di bus
CPU menggunakan vektor untuk mengidentifikasi rutin handler
bus Master
Modul harus mengajukan klaim bus sebelum dapat meningkatkan mengganggu
misalnya PCI & SCSI
Multiple Interrupts
Setiap baris interrupt memiliki prioritas
Garis prioritas yang lebih tinggi dapat mengganggu jalur prioritas yang lebih rendah
Jika bus mastering hanya master saat ini dapat mengganggu
Example - PC Bus
80x86 memiliki satu baris interrupt
8086 menggunakan sistem berbasis satu controller interupsi 8259A
8259A memiliki 8 baris interrupt
Sequence of Events
Menerima interupsi 8259A
8259A menentukan prioritas
8259A sinyal 8086 (INTR menimbulkan baris)
CPU Mengakui
8259A menempatkan vektor yang benar pada data bus
Proses CPU mengganggu
ISA Bus Interrupt System
Bus ISA chain dua 8259As bersama-sama
Link adalah melalui interupsi 2
Memberikan 15 baris
16 baris kurang satu untuk link
IRQ 9 digunakan untuk kembali rute apa pun mencoba untuk menggunakan IRQ 2
kompatibilitas mundur
Incorporated di chip set
Direct Memory Access
Interrupt driven dan diprogram I / O memerlukan intervensi CPU aktif
Transfer rate terbatas
CPU diikat
DMA adalah jawabannya
DMA Function
Modul tambahan (hardware) di bus
DMA controller mengambil alih dari CPU untuk I / O
DMA Operation
DMA controller memberitahu CPU: -
Baca / Tulis
alamat perangkat
Mulai alamat blok memori untuk data
Jumlah data yang ditransfer
CPU melanjutkan pekerjaan lain
DMA controller mentransfer berhubungan dengan
DMA controller mengirimkan interupsi ketika selesai
DMA Transfer Cycle Stealing
DMA controller mengambil alih bus untuk siklus
Transfer data satu kata
Tidak interrupt
CPU tidak context switch
CPU ditangguhkan sebelum ia mengakses bus
yaitu sebelum mengambil operand atau data atau menulis data
Memperlambat CPU, tetapi tidak sebanyak mentransfer CPU melakukan
I/O Channels
I / O device semakin canggih
misalnya Kartu grafis 3D
Menginstruksikan CPU I / O controller untuk melakukan transfer
I / O controller tidak seluruh transfer
meningkatkan kecepatan
Membawa beban dari CPU
Dedicated prosesor lebih cepat
Small Computer Systems Interface (SCSI)
paralel antarmuka
8, 16, 32 bit data baris
daisy dirantai
Perangkat independen
Perangkat dapat berkomunikasi satu sama lain juga sebagai tuan rumah
SCSI – 1
awal 1980-an
8 bit
5MHz
Data rate 5MBytes.s-1
tujuh perangkat
Delapan termasuk antarmuka host
SCSI – 2
1991
16 dan 32 bit
10MHz
Data rate 20 atau 40 Mbytes.s-1
(Check out Ultra / Wide SCSI)
SCSI Signaling (1)
Antara inisiator dan target
Biasanya host & perangkat
Bis gratis? (c.f. Ethernet)
Arbitrase - mengendalikan bus (c.f. PCI)
memilih target
seleksi ulang
Memungkinkan rekoneksi setelah suspensi
misalnya jika permintaan membutuhkan waktu untuk mengeksekusi, bus dapat dilepaskan
SCSI Signaling (2)
Perintah - target meminta dari inisiator
data permintaan
Status permintaan
Pesan permintaan (kedua cara)
Configuring SCSI
Bus harus diakhiri di setiap akhir
Biasanya salah satu ujungnya adalah host adapter
Pasang di terminator atau beralih (es)
SCSI Id harus diatur
Jumper atau switch
Unik pada rantai
0 (nol) untuk perangkat boot
Jumlah yang lebih tinggi merupakan prioritas tinggi pada arbitrase
IEEE 1394 FireWire
Kinerja bus seri tinggi
cepat
biaya rendah
Mudah untuk menerapkan
Juga digunakan dalam kamera digital, VCR dan TV
FireWire Configuration
rantai daisy
Sampai dengan 63 perangkat pada port tunggal
Benar-benar 64 yang satu adalah antarmuka itu sendiri
Sampai 1022 bus dapat dihubungkan dengan jembatan
konfigurasi otomatis
Tidak ada bus terminator
Mungkin struktur pohon
FireWire 3 Layer Stack
fisik
Transmisi menengah, listrik dan karakteristik sinyal
link
Transmisi data dalam paket
transaksi
Permintaan-respon protocol
FireWire - Physical Layer
Data rate dari 25 hingga 400Mbps
Dua bentuk arbitrase
Berdasarkan struktur pohon
Akar bertindak sebagai arbiter
Pertama datang pertama dilayani
Prioritas alami kontrol permintaan simultan
yaitu yang terdekat untuk root
arbitrase yang adil
mendesak arbitrase
FireWire - Link Layer
Dua jenis transmisi
asynchronous
Jumlah variabel data dan beberapa byte data transaksi ditransfer sebagai sebuah paket
Untuk mengatasi eksplisit
Pengakuan kembali
isochronous
Variabel jumlah data dalam urutan paket ukuran yang tetap secara berkala
Sederhana menangani
tidak ada pengakuan
Foreground Reading
Check out Universal Serial Bus (USB)
Bandingkan dengan standar komunikasi lainnya misalnya Ethernet
Minggu, 23 Oktober 2011
Pertemuan 5
Jenis Memori External
Magnetic Disk
RAID
Removable
Optical
CD-ROM
CD-Writable (WORM)
CD-R/W
DVD
Magnetic Tape
Magnetic Disk
Metal atau plastic dilapisi dg material yg bersifat magnet (iron oxide)
Jenis kemasan
Floppy
Winchester hard disk
Removable hard disk
Format dan Organisasi Data
Lingkaran konsentris atau track
Ada Gap antar track
Gap sempit, kapasitas bertambah
Jumlah bit per track sama (kerapatan bervariasi)
Kecepatan putar tetap
Track dibagi menjadi beberapa sector
Ukuran minimum block adalah satu sector
Satu block bisa berisi lebih dari satu sector
Fixed/Movable Head Disk
Fixed head
Ada satu head (r/w) per track
Head diletakkan pada tangkai yg tetap
Movable head
Hanya ada satu head per side
Diletakkan pada tangkai yg dpt bergerak
Removable / Non removable
Removable disk
Dapat dilepas dari drive dan diganti dg disk lain
Memberikan kapasitas simpanan yg tak terbatas
Mudah melakukan transfer data antar sistem
Nonremovable disk
Terpasanang permanen dalam drive
Floppy Disk
8”, 5.25”, 3.5”
Kapasitas kecil
sampai 1.44Mbyte (ada yg 2.88M)
Lambat
Umum dipakai
Murah
Winchester Hard Disk (1)
Dikembangkan oleh IBM di Winchester (USA)
Dikemas dalam satu unit
Berisi satu cakram atau lebih
Head sangat kecil
Handal
Winchester Hard Disk (2)
Umum digunakan
Murah
Sbg external storage yg sangat cepat
Kapasitas semakin besar
Dalam orde GB
Removable Hard Disk
ZIP
Murah
Banyak digunakan
100MB
JAZ
Mahal
1G
L-120 (a: drive)
Juga dpt untuk membaca 3.5” floppy
Pencarian Sector
Harus dapat mengenali awal suatu track dan sector
Format disk
Menambahkan informasi tambahan
Memberi tanda awal track dan sector
Karakteristik
Fixed head atau movable head
Removable disk atau fixed disk
Single side atau double side
Single platter atau multiple platter
Mekanisme head
Contact (Floppy)
Fixed gap
Flying (Winchester)
Multiple Platter
Satu head per side
Semua head di-join dan di-align
Track-track yg setiap platter membentuk cylinder
Data dipecah berdasarkan cylinder
Mengurangi gerakan head
Meningkatkan kecepatan (transfer rate)
Kecepatan
Seek time
gerakan head ke track yg dituju
(Rotational) latency
Putar platter sampai posisi data dibawah head
Access time = Seek + Latency
Transfer rate
RAID
Redundant Array of Independent Disks
Redundant Array of Inexpensive Disks
Ada 6 level
Tidak berhirarki
Sejumlah disks (fisik) yg dipandang sbg satu drive (logical) oleh Sistem Operasil
Data tersebar diantara disk fisik
RAID 0
No redundancy
Data striped across all disks
Round Robin striping
Increase speed
Multiple data requests probably not on same disk
Disks seek in parallel
A set of data is likely to be striped across multiple disks
RAID 1
Mirrored Disks
Data is striped across disks
2 copies of each stripe on separate disks
Read from either
Write to both
Recovery is simple
Swap faulty disk & re-mirror
No down time
Expensive
RAID 2
Disks are synchronized
Very small stripes
Often single byte/word
Error correction calculated across corresponding bits on disks
Multiple parity disks store Hamming code error correction in corresponding position
Lots of redundancy
Expensive
Not used
RAID 3
Similar to RAID 2
Only one redundant disk, no matter how large the array
Simple parity bit for each set of corresponding bits
Data on failed drive can be reconstructed from surviving data and parity info
Very high transfer rates
RAID 4
Each disk operates independently
Good for high I/O request rate
Large stripes
Bit by bit parity calculated across stripes on each disk
Parity stored on parity disk
RAID 5
Like RAID 4
Parity striped across all disks
Round robin allocation for parity stripe
Avoids RAID 4 bottleneck at parity disk
Commonly used in network servers
N.B. DOES NOT MEAN 5 DISKS!!!!!
Optical Storage CD-ROM
Originally for audio
650Mbytes giving over 70 minutes audio
Polycarbonate coated with highly reflective coat, usually aluminum
Data stored as pits
Read by reflecting laser
Constant packing density
Constant linear velocity
CD-ROM Drive Speeds
Audio is single speed
Constant linier velocity
1.2 ms-1
Track (spiral) is 5.27km long
Gives 4391 seconds = 73.2 minutes
Other speeds are quoted as multiples
e.g. 24x
The quoted figure is the maximum the drive can achieve
Random Access on CD-ROM
Difficult
Move head to rough position
Set correct speed
Read address
Adjust to required location
(Yawn!)
CD-ROM for & against
Large capacity (?)
Easy to mass produce
Removable
Robust
Expensive for small runs
Slow
Read only
Other Optical Storage
CD-Writable
WORM
Now affordable
Compatible with CD-ROM drives
CD-RW
Erasable
Getting cheaper
Mostly CD-ROM drive compatible
DVD - what’s in a name?
Digital Video Disk
Used to indicate a player for movies
Only plays video disks
Digital Versatile Disk
Used to indicate a computer drive
Will read computer disks and play video disks
Dogs Veritable Dinner
Officially - nothing!!!
DVD – technology
Multi-layer
Very high capacity (4.7G per layer)
Full length movie on single disk
Using MPEG compression
Finally standardized (honest!)
Movies carry regional coding
Players only play correct region films
Can be “fixed”
DVD – Writable
Loads of trouble with standards
First generation DVD drives may not read first generation DVD-W disks
First generation DVD drives may not read CD-RW disks
Wait for it to settle down before buying!
Foreground Reading
Check out optical disk storage options
Check out Mini Disk
Magnetic Tape
Serial access
Slow
Very cheap
Backup and archive
Digital Audio Tape (DAT)
Uses rotating head (like video)
High capacity on small tape
4Gbyte uncompressed
8Gbyte compressed
Backup of PC/network servers
Magnetic Disk
RAID
Removable
Optical
CD-ROM
CD-Writable (WORM)
CD-R/W
DVD
Magnetic Tape
Magnetic Disk
Metal atau plastic dilapisi dg material yg bersifat magnet (iron oxide)
Jenis kemasan
Floppy
Winchester hard disk
Removable hard disk
Format dan Organisasi Data
Lingkaran konsentris atau track
Ada Gap antar track
Gap sempit, kapasitas bertambah
Jumlah bit per track sama (kerapatan bervariasi)
Kecepatan putar tetap
Track dibagi menjadi beberapa sector
Ukuran minimum block adalah satu sector
Satu block bisa berisi lebih dari satu sector
Fixed/Movable Head Disk
Fixed head
Ada satu head (r/w) per track
Head diletakkan pada tangkai yg tetap
Movable head
Hanya ada satu head per side
Diletakkan pada tangkai yg dpt bergerak
Removable / Non removable
Removable disk
Dapat dilepas dari drive dan diganti dg disk lain
Memberikan kapasitas simpanan yg tak terbatas
Mudah melakukan transfer data antar sistem
Nonremovable disk
Terpasanang permanen dalam drive
Floppy Disk
8”, 5.25”, 3.5”
Kapasitas kecil
sampai 1.44Mbyte (ada yg 2.88M)
Lambat
Umum dipakai
Murah
Winchester Hard Disk (1)
Dikembangkan oleh IBM di Winchester (USA)
Dikemas dalam satu unit
Berisi satu cakram atau lebih
Head sangat kecil
Handal
Winchester Hard Disk (2)
Umum digunakan
Murah
Sbg external storage yg sangat cepat
Kapasitas semakin besar
Dalam orde GB
Removable Hard Disk
ZIP
Murah
Banyak digunakan
100MB
JAZ
Mahal
1G
L-120 (a: drive)
Juga dpt untuk membaca 3.5” floppy
Pencarian Sector
Harus dapat mengenali awal suatu track dan sector
Format disk
Menambahkan informasi tambahan
Memberi tanda awal track dan sector
Karakteristik
Fixed head atau movable head
Removable disk atau fixed disk
Single side atau double side
Single platter atau multiple platter
Mekanisme head
Contact (Floppy)
Fixed gap
Flying (Winchester)
Multiple Platter
Satu head per side
Semua head di-join dan di-align
Track-track yg setiap platter membentuk cylinder
Data dipecah berdasarkan cylinder
Mengurangi gerakan head
Meningkatkan kecepatan (transfer rate)
Kecepatan
Seek time
gerakan head ke track yg dituju
(Rotational) latency
Putar platter sampai posisi data dibawah head
Access time = Seek + Latency
Transfer rate
RAID
Redundant Array of Independent Disks
Redundant Array of Inexpensive Disks
Ada 6 level
Tidak berhirarki
Sejumlah disks (fisik) yg dipandang sbg satu drive (logical) oleh Sistem Operasil
Data tersebar diantara disk fisik
RAID 0
No redundancy
Data striped across all disks
Round Robin striping
Increase speed
Multiple data requests probably not on same disk
Disks seek in parallel
A set of data is likely to be striped across multiple disks
RAID 1
Mirrored Disks
Data is striped across disks
2 copies of each stripe on separate disks
Read from either
Write to both
Recovery is simple
Swap faulty disk & re-mirror
No down time
Expensive
RAID 2
Disks are synchronized
Very small stripes
Often single byte/word
Error correction calculated across corresponding bits on disks
Multiple parity disks store Hamming code error correction in corresponding position
Lots of redundancy
Expensive
Not used
RAID 3
Similar to RAID 2
Only one redundant disk, no matter how large the array
Simple parity bit for each set of corresponding bits
Data on failed drive can be reconstructed from surviving data and parity info
Very high transfer rates
RAID 4
Each disk operates independently
Good for high I/O request rate
Large stripes
Bit by bit parity calculated across stripes on each disk
Parity stored on parity disk
RAID 5
Like RAID 4
Parity striped across all disks
Round robin allocation for parity stripe
Avoids RAID 4 bottleneck at parity disk
Commonly used in network servers
N.B. DOES NOT MEAN 5 DISKS!!!!!
Optical Storage CD-ROM
Originally for audio
650Mbytes giving over 70 minutes audio
Polycarbonate coated with highly reflective coat, usually aluminum
Data stored as pits
Read by reflecting laser
Constant packing density
Constant linear velocity
CD-ROM Drive Speeds
Audio is single speed
Constant linier velocity
1.2 ms-1
Track (spiral) is 5.27km long
Gives 4391 seconds = 73.2 minutes
Other speeds are quoted as multiples
e.g. 24x
The quoted figure is the maximum the drive can achieve
Random Access on CD-ROM
Difficult
Move head to rough position
Set correct speed
Read address
Adjust to required location
(Yawn!)
CD-ROM for & against
Large capacity (?)
Easy to mass produce
Removable
Robust
Expensive for small runs
Slow
Read only
Other Optical Storage
CD-Writable
WORM
Now affordable
Compatible with CD-ROM drives
CD-RW
Erasable
Getting cheaper
Mostly CD-ROM drive compatible
DVD - what’s in a name?
Digital Video Disk
Used to indicate a player for movies
Only plays video disks
Digital Versatile Disk
Used to indicate a computer drive
Will read computer disks and play video disks
Dogs Veritable Dinner
Officially - nothing!!!
DVD – technology
Multi-layer
Very high capacity (4.7G per layer)
Full length movie on single disk
Using MPEG compression
Finally standardized (honest!)
Movies carry regional coding
Players only play correct region films
Can be “fixed”
DVD – Writable
Loads of trouble with standards
First generation DVD drives may not read first generation DVD-W disks
First generation DVD drives may not read CD-RW disks
Wait for it to settle down before buying!
Foreground Reading
Check out optical disk storage options
Check out Mini Disk
Magnetic Tape
Serial access
Slow
Very cheap
Backup and archive
Digital Audio Tape (DAT)
Uses rotating head (like video)
High capacity on small tape
4Gbyte uncompressed
8Gbyte compressed
Backup of PC/network servers
Minggu, 16 Oktober 2011
Pertemuan 4
Pertemuan 4
MEMORY
Karakteristik Memori
Lokasi
Kapasitas
Unit transfer
Metode Akses
Kinerja
Jenis fisik
Sifat-sifat fisik
Organisasi
Lokasi
CPU (register)
Internal (main memori)
External (secondary memori)
Kapasitas
Ukuran Word
Satuan alami organisasi memori
Banyaknya words
atau Bytes
Satuan Transfer
Internal
Jumlah bit dalam sekali akses
Sama dengan jumlah saluran data (= ukuran word)
External
Dalam satuan block yg merupakan kelipatan word
Addressable unit
Lokasi terkecil yang dpt dialamati secara uniq
Secara internal biasanya sama dengan Word
Untuk disk digunakan satuan Cluster
Metode Akses
Sekuensial
Mulai dari awal sampai lokasi yang dituju
Waktu akses tergantung pada lokasi data dan lokasi sebelumnya
Contoh tape
Direct
Setiap blocks memilki address yg unique
Pengaksesan dengan cara lompat ke kisaran umum (general vicinity) ditambah pencarian sekuensial
Waktu akses tdk tergantung pada lokasi dan lokasi sebelumnya
contoh disk
Random
Setiap lokasi memiliki alamat tertentu
Waktu akses tdk tergantung pada urutan akses sebelumnya
Contoh RAM
Associative
Data dicarai berdasarkan isinya bukan berdasarkan alamatnya
Waktu akses tdk tergantung terhadap lokasi atau pola akses sebelumnya
Contoh: cache
Hierarki Memori
Register
Dalam CPU
Internal/Main memory
Bisa lebih dari satu level dengan adanya cache
“RAM”
External memory
Penyimpan cadangan
Performance
Access time
Waktu untuk melakukan operasi baca-tulis
Memory Cycle time
Diperlukan waktu tambahan untuk recovery sebelum akses berikutnya
Access time + recovery
Transfer Rate
Kecepatan transfer data ke/dari unit memori
Jenis Fisik
Semiconductor
RAM
Magnetic
Disk & Tape
Optical
CD & DVD
Others
Bubble
Hologram
Karakteristik
Decay
Volatility
Erasable
Power consumption
Organisasi
Susunan fisik bit-bit untuk membentuk word
Kendala Rancangan
Berapa banyak?
Capacity
Seberapa cepat?
Time is money
Berapa mahal?
Hierarki
Registers
L1 Cache
L2 Cache
Main memory
Disk cache
Disk
Optical
Tape
Locality of Reference
Selama berlangsungnya eksekusi suatu program, referensi memori cenderung untuk mengelompok (cluster)
Contoh: loops
Memori Semiconductor
RAM
Penamaan yang salah karena semua memori semiconductor adalah random access (termasuk ROM)
Read/Write
Volatile
Penyimpan sementara
Static atau dynamic
Dynamic RAM
Bit tersimpan berupa muatan dalam capacitor
Muatan dapat bocor
Perlu di-refresh
Konstruksi sederhana
Ukuran per bit nya kecil
Murah
Perlu refresh-circuits
Lambat
Main memory
Static RAM
Bit disimpan sebagai switches on/off
Tidk ada kebocoran
Tdk perlu refreshing
Konstruksi lebih complex
Ukuran per bit lebih besar
Lebih mahal
Tidak memerlukan refresh-circuits
Lebih cepat
Cache
Read Only Memory (ROM)
Menyimpan secara permanen
Untuk
Microprogramming
Library subroutines
Systems programs (BIOS)
Function tables
Jenis ROM
Ditulisi pada saat dibuat
Sangat mahal
Programmable (once)
PROM
Diperlukan peralatan khusus untuk memprogram
Read “mostly”
Erasable Programmable (EPROM)
Dihapus dg sinar UV
Electrically Erasable (EEPROM)
Perlu waktu lebih lama untuk menulisi
Flash memory
Menghapus seleuruh memori secara electris
Organisasi
16Mbit chip dapat disusun dari 1M x 16 bit word
1 bit/chip memiliki 16 lots dengan bit ke 1 dari setiap word berada pada chip 1
16Mbit chip dapat disusun dari array: 2048 x 2048 x 4bit
Mengurangi jumlah addres pins
Multiplex row address dg column address
11 pins untuk address (211=2048)
Menambah 1 pin kapasitas menjadi 4x
Refreshing
Rangkaian Refresh diamsukkan dalam chip
Disable chip
Pencacahan melalui baris
Read & Write back
Perlu waktu
Menurunkan kinerja
Koreksi kesalahan
Rusak berat
Cacat/rusak Permanent
Rusak ringan
Random, non-destructive
Rusak non permanent
Dideteksi menggunakan Hamming code
Operasi pada Cache
CPU meminta isi data dari lokasi memori tertentu
Periksa data tersebut di cache
Jika ada ambil dari cache (cepat)
Jika tidak ada, baca 1 block data dari main memory ke cache
Ambil dari cache ke CPU
Cache bersisi tags untuk identitas block dari main memory yang berada di cache
Desain Cache
Ukuran (size)
Fungsi Mapping
Algoritma penggantian (replacement algrthm)
Cara penulisan (write policy)
Ukuran Block
Jumlah Cache
Size
Cost
Semakin besar semakin mahal
Speed
Semakin besar semakin cepat
Check data di cache perlu waktu
Fungsi Mapping
Ukuran Cache 64kByte
Ukuran block 4 bytes
diperlukan 16k (214) alamat per alamat 4 bytes
Jumlah jalur alamat cache 14
Main memory 16MBytes
Jalur alamat perlu 24 bit
(224=16M)
Direct Mapping
Setiap block main memory dipetakan hanya ke satu jalur cache
Jika suatu block ada di cache, maka tempatnya sudah tertentu
Address terbagi dalam 2 bagian
LS-w-bit menunjukkan word tertentu
MS-s-bit menentukan 1 blok memori
MSB terbagi menjadi field jalur cache r dan tag sebesar s-r (most significant)
Table Cache Line pada Direct Mapping
Cache line blocks main memori
0 0, m, 2m, 3m…2s-m
1 1,m+1, 2m+1…2s-m+1
m-1 m-1, 2m-1,3m-1…2s-1
Keuntungan & Kerugian Direct Mapping
Sederhana
Murah
Suatu blok memiliki lokasi yang tetap
Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sanagat tinggi
Associative Mapping
Blok main memori dpt di simpan ke cache line mana saja
Alamat Memori di interpresi sbg tag dan word
Tag menunjukan identitas block memori
Setiap baris tag dicari kecocokannya
Pencarian data di Cache menjadi lama
Set Associative Mapping
Cache dibagi dalam sejumlah sets
Setiap set berisi sejumlah line
Suatu blok di maps ke line mana saja dalam set
misalkan Block B dapat berada pada line mana saja dari set i
Contoh: per set ada 2 line
2 way associative mapping
Suatu block dpt berada pada satu dari 2 lines dan hanya dalam 1 set
Replacement Algorithms (1)
Direct mapping
Tidak ada pilihan
Setiap block hanya di map ke 1 line
Ganti line tersebut
MEMORY
Karakteristik Memori
Lokasi
Kapasitas
Unit transfer
Metode Akses
Kinerja
Jenis fisik
Sifat-sifat fisik
Organisasi
Lokasi
CPU (register)
Internal (main memori)
External (secondary memori)
Kapasitas
Ukuran Word
Satuan alami organisasi memori
Banyaknya words
atau Bytes
Satuan Transfer
Internal
Jumlah bit dalam sekali akses
Sama dengan jumlah saluran data (= ukuran word)
External
Dalam satuan block yg merupakan kelipatan word
Addressable unit
Lokasi terkecil yang dpt dialamati secara uniq
Secara internal biasanya sama dengan Word
Untuk disk digunakan satuan Cluster
Metode Akses
Sekuensial
Mulai dari awal sampai lokasi yang dituju
Waktu akses tergantung pada lokasi data dan lokasi sebelumnya
Contoh tape
Direct
Setiap blocks memilki address yg unique
Pengaksesan dengan cara lompat ke kisaran umum (general vicinity) ditambah pencarian sekuensial
Waktu akses tdk tergantung pada lokasi dan lokasi sebelumnya
contoh disk
Random
Setiap lokasi memiliki alamat tertentu
Waktu akses tdk tergantung pada urutan akses sebelumnya
Contoh RAM
Associative
Data dicarai berdasarkan isinya bukan berdasarkan alamatnya
Waktu akses tdk tergantung terhadap lokasi atau pola akses sebelumnya
Contoh: cache
Hierarki Memori
Register
Dalam CPU
Internal/Main memory
Bisa lebih dari satu level dengan adanya cache
“RAM”
External memory
Penyimpan cadangan
Performance
Access time
Waktu untuk melakukan operasi baca-tulis
Memory Cycle time
Diperlukan waktu tambahan untuk recovery sebelum akses berikutnya
Access time + recovery
Transfer Rate
Kecepatan transfer data ke/dari unit memori
Jenis Fisik
Semiconductor
RAM
Magnetic
Disk & Tape
Optical
CD & DVD
Others
Bubble
Hologram
Karakteristik
Decay
Volatility
Erasable
Power consumption
Organisasi
Susunan fisik bit-bit untuk membentuk word
Kendala Rancangan
Berapa banyak?
Capacity
Seberapa cepat?
Time is money
Berapa mahal?
Hierarki
Registers
L1 Cache
L2 Cache
Main memory
Disk cache
Disk
Optical
Tape
Locality of Reference
Selama berlangsungnya eksekusi suatu program, referensi memori cenderung untuk mengelompok (cluster)
Contoh: loops
Memori Semiconductor
RAM
Penamaan yang salah karena semua memori semiconductor adalah random access (termasuk ROM)
Read/Write
Volatile
Penyimpan sementara
Static atau dynamic
Dynamic RAM
Bit tersimpan berupa muatan dalam capacitor
Muatan dapat bocor
Perlu di-refresh
Konstruksi sederhana
Ukuran per bit nya kecil
Murah
Perlu refresh-circuits
Lambat
Main memory
Static RAM
Bit disimpan sebagai switches on/off
Tidk ada kebocoran
Tdk perlu refreshing
Konstruksi lebih complex
Ukuran per bit lebih besar
Lebih mahal
Tidak memerlukan refresh-circuits
Lebih cepat
Cache
Read Only Memory (ROM)
Menyimpan secara permanen
Untuk
Microprogramming
Library subroutines
Systems programs (BIOS)
Function tables
Jenis ROM
Ditulisi pada saat dibuat
Sangat mahal
Programmable (once)
PROM
Diperlukan peralatan khusus untuk memprogram
Read “mostly”
Erasable Programmable (EPROM)
Dihapus dg sinar UV
Electrically Erasable (EEPROM)
Perlu waktu lebih lama untuk menulisi
Flash memory
Menghapus seleuruh memori secara electris
Organisasi
16Mbit chip dapat disusun dari 1M x 16 bit word
1 bit/chip memiliki 16 lots dengan bit ke 1 dari setiap word berada pada chip 1
16Mbit chip dapat disusun dari array: 2048 x 2048 x 4bit
Mengurangi jumlah addres pins
Multiplex row address dg column address
11 pins untuk address (211=2048)
Menambah 1 pin kapasitas menjadi 4x
Refreshing
Rangkaian Refresh diamsukkan dalam chip
Disable chip
Pencacahan melalui baris
Read & Write back
Perlu waktu
Menurunkan kinerja
Koreksi kesalahan
Rusak berat
Cacat/rusak Permanent
Rusak ringan
Random, non-destructive
Rusak non permanent
Dideteksi menggunakan Hamming code
Operasi pada Cache
CPU meminta isi data dari lokasi memori tertentu
Periksa data tersebut di cache
Jika ada ambil dari cache (cepat)
Jika tidak ada, baca 1 block data dari main memory ke cache
Ambil dari cache ke CPU
Cache bersisi tags untuk identitas block dari main memory yang berada di cache
Desain Cache
Ukuran (size)
Fungsi Mapping
Algoritma penggantian (replacement algrthm)
Cara penulisan (write policy)
Ukuran Block
Jumlah Cache
Size
Cost
Semakin besar semakin mahal
Speed
Semakin besar semakin cepat
Check data di cache perlu waktu
Fungsi Mapping
Ukuran Cache 64kByte
Ukuran block 4 bytes
diperlukan 16k (214) alamat per alamat 4 bytes
Jumlah jalur alamat cache 14
Main memory 16MBytes
Jalur alamat perlu 24 bit
(224=16M)
Direct Mapping
Setiap block main memory dipetakan hanya ke satu jalur cache
Jika suatu block ada di cache, maka tempatnya sudah tertentu
Address terbagi dalam 2 bagian
LS-w-bit menunjukkan word tertentu
MS-s-bit menentukan 1 blok memori
MSB terbagi menjadi field jalur cache r dan tag sebesar s-r (most significant)
Table Cache Line pada Direct Mapping
Cache line blocks main memori
0 0, m, 2m, 3m…2s-m
1 1,m+1, 2m+1…2s-m+1
m-1 m-1, 2m-1,3m-1…2s-1
Keuntungan & Kerugian Direct Mapping
Sederhana
Murah
Suatu blok memiliki lokasi yang tetap
Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sanagat tinggi
Associative Mapping
Blok main memori dpt di simpan ke cache line mana saja
Alamat Memori di interpresi sbg tag dan word
Tag menunjukan identitas block memori
Setiap baris tag dicari kecocokannya
Pencarian data di Cache menjadi lama
Set Associative Mapping
Cache dibagi dalam sejumlah sets
Setiap set berisi sejumlah line
Suatu blok di maps ke line mana saja dalam set
misalkan Block B dapat berada pada line mana saja dari set i
Contoh: per set ada 2 line
2 way associative mapping
Suatu block dpt berada pada satu dari 2 lines dan hanya dalam 1 set
Replacement Algorithms (1)
Direct mapping
Tidak ada pilihan
Setiap block hanya di map ke 1 line
Ganti line tersebut
Minggu, 09 Oktober 2011
Pertemuan Ketiga
Bus
Ada beberapa kemungkinan interkoneksi sistem
Yang biasa dipakai: Single Bus dan multiple BUS
PC: Control/Address/Data bus
DEC-PDP: Unibus
Pengertian Bus
Jalur komunikasi yang menghubungkan beberapa device
Biasanya menggunakan cara broadcast
Seringkali dikelompokkan
Satu bus berisi sejumlah kanal (jalur)
Contoh bus data 32-bit berisi 32 jalur
Jalur sumber tegangan biasanya tidak diperlihatkan
Data Bus
Membawa data
Tidak dibedakan antara “data” dan “instruksi”
Lebar jalur menentukan performance
8, 16, 32, 64 bit
Bentuk Fisik
Bagaimana bentuk fisik bus?
Jalur-jalur parallel PCB
Ribbon cables
Strip connectors pada mother boards
contoh PCI
Kumpulan kabel
Problem pada Single Bus
Banyak devices pada bus tunggal menyebabkan:
Propagation delays
Jalur data yg panjang berarti memerlukan koordinasi pemkaian shg berpengaruh pada Performance
If aggregate data transfer approaches bus capacity
Kebanyakan sistem menggunakan multiple bus
Jenis Bus
Dedicated
Jalur data & address terpisah
Multiplexed
Jalur bersama
Address dan data pada saat yg beda
Keuntungan – jalur sedikit
Kerugian
Kendali lebih komplek
Mempengaruhi performance
Arbitrasi Bus
Beberapa modul mengendalikan bus
contoh CPU dan DMA controller
Setiap saat hanya satu modul yg mengendalikan
Arbitrasi bisa secara centralised atau distributed
Arbitrasi Centralised
Ada satu hardware device yg mengendalikan akses bus
Bus Controller
Arbitrer
Bisa berupa bagian dari CPU atau terpisah
Arbitrasi Distributed
Setiap module dapat meng-klaim bus
Setiap modules memiliki Control logic
Timing
Koordinasi event pada bus
Synchronous
Event ditentukan oleh sinyal clock
Control Bus termasuk jalur clock
Siklus bus ( bus cycle) transmisi 1 ke 0
Semua devices dpt membaca jakur clock
Biasanya sinkronisasi terjadi pada tepi naik (leading edge)
Suatu event biasanya dimualai pada awal siklus
Bus PCI
Peripheral Component Interconnection
Dikeluarkan oleh Intel sebagai public domain
32 atau 64 bit
50 Jalur
Jalur pada Bus PCI (yg harus)
Jalur System
clock and reset
Address & Data
32 jalur multiplex address/data
Jalur validasi
Interface Control
Arbitrasi
Not shared
Direct connection to PCI bus arbiter
Error lines
Jalur Bus PCI (Optional)
Interrupt lines
Not shared
Cache support
64-bit Bus Extension
Additional 32 lines
Time multiplexed
2 lines to enable devices to agree to use 64-bit transfer
JTAG/Boundary Scan
For testing procedures
Command pada PCI
Transaksi antara initiator (master) dg target
Master pegang kendali bus
Master menentukan jenis transaksi
Misal I/O read/write
Fase Address
Fase Data
Ada beberapa kemungkinan interkoneksi sistem
Yang biasa dipakai: Single Bus dan multiple BUS
PC: Control/Address/Data bus
DEC-PDP: Unibus
Pengertian Bus
Jalur komunikasi yang menghubungkan beberapa device
Biasanya menggunakan cara broadcast
Seringkali dikelompokkan
Satu bus berisi sejumlah kanal (jalur)
Contoh bus data 32-bit berisi 32 jalur
Jalur sumber tegangan biasanya tidak diperlihatkan
Data Bus
Membawa data
Tidak dibedakan antara “data” dan “instruksi”
Lebar jalur menentukan performance
8, 16, 32, 64 bit
Bentuk Fisik
Bagaimana bentuk fisik bus?
Jalur-jalur parallel PCB
Ribbon cables
Strip connectors pada mother boards
contoh PCI
Kumpulan kabel
Problem pada Single Bus
Banyak devices pada bus tunggal menyebabkan:
Propagation delays
Jalur data yg panjang berarti memerlukan koordinasi pemkaian shg berpengaruh pada Performance
If aggregate data transfer approaches bus capacity
Kebanyakan sistem menggunakan multiple bus
Jenis Bus
Dedicated
Jalur data & address terpisah
Multiplexed
Jalur bersama
Address dan data pada saat yg beda
Keuntungan – jalur sedikit
Kerugian
Kendali lebih komplek
Mempengaruhi performance
Arbitrasi Bus
Beberapa modul mengendalikan bus
contoh CPU dan DMA controller
Setiap saat hanya satu modul yg mengendalikan
Arbitrasi bisa secara centralised atau distributed
Arbitrasi Centralised
Ada satu hardware device yg mengendalikan akses bus
Bus Controller
Arbitrer
Bisa berupa bagian dari CPU atau terpisah
Arbitrasi Distributed
Setiap module dapat meng-klaim bus
Setiap modules memiliki Control logic
Timing
Koordinasi event pada bus
Synchronous
Event ditentukan oleh sinyal clock
Control Bus termasuk jalur clock
Siklus bus ( bus cycle) transmisi 1 ke 0
Semua devices dpt membaca jakur clock
Biasanya sinkronisasi terjadi pada tepi naik (leading edge)
Suatu event biasanya dimualai pada awal siklus
Bus PCI
Peripheral Component Interconnection
Dikeluarkan oleh Intel sebagai public domain
32 atau 64 bit
50 Jalur
Jalur pada Bus PCI (yg harus)
Jalur System
clock and reset
Address & Data
32 jalur multiplex address/data
Jalur validasi
Interface Control
Arbitrasi
Not shared
Direct connection to PCI bus arbiter
Error lines
Jalur Bus PCI (Optional)
Interrupt lines
Not shared
Cache support
64-bit Bus Extension
Additional 32 lines
Time multiplexed
2 lines to enable devices to agree to use 64-bit transfer
JTAG/Boundary Scan
For testing procedures
Command pada PCI
Transaksi antara initiator (master) dg target
Master pegang kendali bus
Master menentukan jenis transaksi
Misal I/O read/write
Fase Address
Fase Data
Pertemuan Kedua
Latar Belakang ENIAC
Electronic Numerical Integrator And Computer
Eckert and Mauchly
University of Pennsylvania
Tabel lintasan peluru
Mulai dibuat 1943
Selesai 1946
Sangat terlambat untuk digunakan dalam PD-II
Digunakan sampai 1955
Desimal (bukan biner)
Memiliki 20 akumulator untuk 10 digit
Diprogram manual dengan switch (sakelar)
18.000 tabung vakum
Berat 30 ton
Luas 15,000 square feet
Konsumsi daya 140 kW
Von neumann / Turing
Konsep à Penyimpanan program komputer
Memori à Menyimpan data dan program
ALU à operasi data biner
Unit Kontrol à Menginterpretasikan instruksi dari memori dan mengeksekusi
Perangkat I/O dikendalikan oleh Unit Kontrol
Princeton Institute for Advanced Studies
IAS
Selesai 1952
IAS (Computer of Institute for Advanced Studies)
Kapasitas memori: 1000 x 40 bit words
Menggunakan sistem bilangan Biner
Panjang instruksi 20 bit ( 1 word = 2 instruksi )
Register-register dalam CPU
MBR (Memory Buffer Register)
MAR (Memory Address Register)
IR (Instruction Register)
IBR (Instruction Buffer Register)
PC (Program Counter)
AC (Accumulator)
MQ (Multiplier Quotient)
Komputer Komersial
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
Untuk kalkulasi sensus 1950 oleh US Bureau of Census
Menjadi divisi dari Sperry-Rand Corporation
UNIVAC II dipasarkan akhir th. 1950-an
Lebih cepat
Kapasitas memori
IBM
Pabrik peralatan Punched-card
1953 – IBM-701
Komputer pertama IBM (stored program computer)
Untuk keperluan aplikasi Scientific
1955 – IBM- 702
Untuk applikasi bisnis
Merupakan awal dari seri 700/7000 yang membuat IBM menjadi pabrik komputer
Komputer Berbasis Prosesor
Mesin generasi II
NCR & RCA menghasilkan small transistor machines
IBM 7000
DEC - 1957
Membuat PDP-1
Mikro Elektronik
Secara harafiah berarti “electronika kecil”
Sebuah computer dibuat dari gerbang logika (gate), sel memori dan interkoneksi
Sejumlah gate dikemas dalam satu keping semikonduktor
silicon wafer
Generasi Komputer
Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration - 1965
Sampai dengan 100 komponen dalam 1 IC (chip)
Medium scale integration - sampai 1971
100-3.000 komponen dalam 1 IC
Large scale integration - 1971-1977
3.000 – 100.000 komponen dalam 1 IC
Very large scale integration - 1978 -1991
100.000 – 100.000,000 komponen dalam 1 IC
Ultra large scale integration – 1991 -
Lebih dari 100.000.000 komponen dalam 1 IC
Hukum Moore
Gordon Moore - cofounder of Intel
Meningkatkan kerapatan komponen dalam chip
Jumlah transistors/chip meningkat 2 x lipat per tahun
Sejak 1970 pengembangan agak lambat
Jumlah transistors 2 x lipat setiap 18 bulan
Harga suatu chip tetap / hampir tidak berubah
Kerapatan tinggi berarti jalur pendek, menghasilkan kinerja yang meningkat
Ukuran semakin kecil, flexibilitas meningkat
Daya listrik lebih hemat, panas menurun
Sambungan sedikit berarti semakin handal / reliable
Memori Semikonduktor
1970
Ukuran kecil ( sebesar 1 sel core memory)
Dapat menyimpan 256 bits
Non-destructive read
Lebih cepat dari core memory
Kapasitas meningkat 2 x lipat setiap tahun
Meningkatkan Kecepatan
Pipelining
On board cache
On board L1 & L2 cache
Branch prediction
Data flow analysis
Speculative execution
Ketidak Seimbangan Kinerja
Kecepatan prosesor meningkat
Kapasitas memori meningkat
Perkembangan kecepatan memori lebih lambat (tertinggal) dibanding kecepatan prosesor
Solusi
Meningkatkan jumlah bit per akses
Mengubah interface DRAM
Cache
Mengurangi frekuensicy akses memory
Cache yg lebih kompleks dan cache on chip
Meningkatkan bandwidth interkoneksi
Bus kecepatan tinggi - High speed buses
Hierarchy of buses
Perangkat I/O
Perangkat untuk kebutuhan I/O
Besar data throughput yang dibutuhkan
Dapat dihandle oleh prosesor
Permasalahan à Perpindahan data
Solusi:
Caching
Buffering
Higher-speed interconnection buses
More elaborate bus structures
Multiple-processor configurations
Kunci à Keseimbangan
Komponen prosesor
Memori
Perangkat I/O
Struktur koneksi
Meningkatkan kecepatan prosesor
Ukuran gerbang logika (IC) yang lebih kecil
Lebih banyak gate, dikemas lebih rapat, menambah clock rate
Waktu propagasi untuk sinyal berkurang
Menambah ukuran dan kecepatan cache
Diperuntuk bagi prosesor
Waktu akses cache turun secara signifikan
Perubahan organisasi dan arsitektur prosesor
Meningkatkan kecepatan eksekusi
Parallel
Bertambahnya kapasitas cache
Biasanya dua atau tiga kali cache antara prosesor dan memori utama
Bertambahnya kepadatan IC (Chip)
Lebih besar cache memori dalam chip
Lebih cepat akses cache
Pentium mengalokasikan 10% untuk cache
Pentium 4 mengalokasikan sekitar 50%
Embedded System / ARM
ARM pengembangan dari desain RISC
Digunakan terutama di embedded systems
Digunakan dalam produk
Bukan general purpose computer
Mempunyai fungsi khusus
Contoh: Anti-lock rem di mobil
Kategori Sistem ARM
Embedded real time
Platform aplikasi
Linux, Palm OS, Symbian OS, Windows mobile
Secure applications
Penilaian Kinerja Kecepatan Clock
Parameter Kunci
Kinerja, biaya, ukuran, keamanan, kehandalan, konsumsi daya
Sistem kecepatan clock
Dalam Hz atau kelipatanya
Clock rate, clock cycle, clock tick, cycle time
Sinyal dalam CPU membutuhkan waktu untuk perubahan ke 1 atau 0
Sinyal dapat berubah dengan kecepatan yang berbeda
Dibutuhkan sinkronisasi untuk pengoperasiannya
Eksekusi instruksi dalam diskrit
Decode, load dan menyimpan, aritmatika atau logika
Biasanya memerlukan beberapa siklus clock per instruksi
Instruction Execution Rate
Millions of instructions per second (MIPS)
Millions of floating point instructions per second (MFLOPS)
Sangat bergantung pada instruksi, kompiler, implementasi prosesor, cache dan hirarki memori
Benchmarks
Program dirancang untuk menguji kinerja
Ditulis dengan bahasa tingkat tinggi
Portable
Merepresentasikan jenis pekerjaannya
Systems, numerical, commercial
Mudah diukur
Luas penggunannya
Misal: System Performance Evaluation Corporation (SPEC)
CPU2006 untuk perhitungan yang pasti
17 floating point programs dalam C, C++, Fortran
12 integer programs dalam C, C++
3 juta baris kode
Kecepatan
Single task dan throughput
Hukum Amdahl
Gene Amdahl [AMDA67]
Potensi peningkatan kecepatan program dengan menggunakan beberapa prosesor
Menyimpulkan bahwa:
Kode perlu parallelizable
Kecepatan meningkat, memberikan hasil yang menurun untuk procesor lebih banyak
Tergantung apa yang dikerjakan
Server dapat memelihara beberapa koneksi pada multiple prosesor
Database dapat dibagi dalam tugas-tugas pararel
Formula Hukum Amdahl
For program running on single processor
Fraction f : bagian/fraksi dari operasi komputasi yang dapat dikerjakan secara pararel
T adalah waktu eksekusi total untuk program dalam prosesor tunggal
N adalah jumlah prosesor yang sepenuhnya memanfaatkan bagian dari kode pararel
Kesimpulan
f small, parallel processors mempunyai efek yang kecil
N ->∞, kecepatan tergantung dari 1/(1 – f)
Berkurangnya manfaat ketika menggunakan banyak prosesor
Electronic Numerical Integrator And Computer
Eckert and Mauchly
University of Pennsylvania
Tabel lintasan peluru
Mulai dibuat 1943
Selesai 1946
Sangat terlambat untuk digunakan dalam PD-II
Digunakan sampai 1955
Desimal (bukan biner)
Memiliki 20 akumulator untuk 10 digit
Diprogram manual dengan switch (sakelar)
18.000 tabung vakum
Berat 30 ton
Luas 15,000 square feet
Konsumsi daya 140 kW
Von neumann / Turing
Konsep à Penyimpanan program komputer
Memori à Menyimpan data dan program
ALU à operasi data biner
Unit Kontrol à Menginterpretasikan instruksi dari memori dan mengeksekusi
Perangkat I/O dikendalikan oleh Unit Kontrol
Princeton Institute for Advanced Studies
IAS
Selesai 1952
IAS (Computer of Institute for Advanced Studies)
Kapasitas memori: 1000 x 40 bit words
Menggunakan sistem bilangan Biner
Panjang instruksi 20 bit ( 1 word = 2 instruksi )
Register-register dalam CPU
MBR (Memory Buffer Register)
MAR (Memory Address Register)
IR (Instruction Register)
IBR (Instruction Buffer Register)
PC (Program Counter)
AC (Accumulator)
MQ (Multiplier Quotient)
Komputer Komersial
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
Untuk kalkulasi sensus 1950 oleh US Bureau of Census
Menjadi divisi dari Sperry-Rand Corporation
UNIVAC II dipasarkan akhir th. 1950-an
Lebih cepat
Kapasitas memori
IBM
Pabrik peralatan Punched-card
1953 – IBM-701
Komputer pertama IBM (stored program computer)
Untuk keperluan aplikasi Scientific
1955 – IBM- 702
Untuk applikasi bisnis
Merupakan awal dari seri 700/7000 yang membuat IBM menjadi pabrik komputer
Komputer Berbasis Prosesor
Mesin generasi II
NCR & RCA menghasilkan small transistor machines
IBM 7000
DEC - 1957
Membuat PDP-1
Mikro Elektronik
Secara harafiah berarti “electronika kecil”
Sebuah computer dibuat dari gerbang logika (gate), sel memori dan interkoneksi
Sejumlah gate dikemas dalam satu keping semikonduktor
silicon wafer
Generasi Komputer
Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration - 1965
Sampai dengan 100 komponen dalam 1 IC (chip)
Medium scale integration - sampai 1971
100-3.000 komponen dalam 1 IC
Large scale integration - 1971-1977
3.000 – 100.000 komponen dalam 1 IC
Very large scale integration - 1978 -1991
100.000 – 100.000,000 komponen dalam 1 IC
Ultra large scale integration – 1991 -
Lebih dari 100.000.000 komponen dalam 1 IC
Hukum Moore
Gordon Moore - cofounder of Intel
Meningkatkan kerapatan komponen dalam chip
Jumlah transistors/chip meningkat 2 x lipat per tahun
Sejak 1970 pengembangan agak lambat
Jumlah transistors 2 x lipat setiap 18 bulan
Harga suatu chip tetap / hampir tidak berubah
Kerapatan tinggi berarti jalur pendek, menghasilkan kinerja yang meningkat
Ukuran semakin kecil, flexibilitas meningkat
Daya listrik lebih hemat, panas menurun
Sambungan sedikit berarti semakin handal / reliable
Memori Semikonduktor
1970
Ukuran kecil ( sebesar 1 sel core memory)
Dapat menyimpan 256 bits
Non-destructive read
Lebih cepat dari core memory
Kapasitas meningkat 2 x lipat setiap tahun
Meningkatkan Kecepatan
Pipelining
On board cache
On board L1 & L2 cache
Branch prediction
Data flow analysis
Speculative execution
Ketidak Seimbangan Kinerja
Kecepatan prosesor meningkat
Kapasitas memori meningkat
Perkembangan kecepatan memori lebih lambat (tertinggal) dibanding kecepatan prosesor
Solusi
Meningkatkan jumlah bit per akses
Mengubah interface DRAM
Cache
Mengurangi frekuensicy akses memory
Cache yg lebih kompleks dan cache on chip
Meningkatkan bandwidth interkoneksi
Bus kecepatan tinggi - High speed buses
Hierarchy of buses
Perangkat I/O
Perangkat untuk kebutuhan I/O
Besar data throughput yang dibutuhkan
Dapat dihandle oleh prosesor
Permasalahan à Perpindahan data
Solusi:
Caching
Buffering
Higher-speed interconnection buses
More elaborate bus structures
Multiple-processor configurations
Kunci à Keseimbangan
Komponen prosesor
Memori
Perangkat I/O
Struktur koneksi
Meningkatkan kecepatan prosesor
Ukuran gerbang logika (IC) yang lebih kecil
Lebih banyak gate, dikemas lebih rapat, menambah clock rate
Waktu propagasi untuk sinyal berkurang
Menambah ukuran dan kecepatan cache
Diperuntuk bagi prosesor
Waktu akses cache turun secara signifikan
Perubahan organisasi dan arsitektur prosesor
Meningkatkan kecepatan eksekusi
Parallel
Bertambahnya kapasitas cache
Biasanya dua atau tiga kali cache antara prosesor dan memori utama
Bertambahnya kepadatan IC (Chip)
Lebih besar cache memori dalam chip
Lebih cepat akses cache
Pentium mengalokasikan 10% untuk cache
Pentium 4 mengalokasikan sekitar 50%
Embedded System / ARM
ARM pengembangan dari desain RISC
Digunakan terutama di embedded systems
Digunakan dalam produk
Bukan general purpose computer
Mempunyai fungsi khusus
Contoh: Anti-lock rem di mobil
Kategori Sistem ARM
Embedded real time
Platform aplikasi
Linux, Palm OS, Symbian OS, Windows mobile
Secure applications
Penilaian Kinerja Kecepatan Clock
Parameter Kunci
Kinerja, biaya, ukuran, keamanan, kehandalan, konsumsi daya
Sistem kecepatan clock
Dalam Hz atau kelipatanya
Clock rate, clock cycle, clock tick, cycle time
Sinyal dalam CPU membutuhkan waktu untuk perubahan ke 1 atau 0
Sinyal dapat berubah dengan kecepatan yang berbeda
Dibutuhkan sinkronisasi untuk pengoperasiannya
Eksekusi instruksi dalam diskrit
Decode, load dan menyimpan, aritmatika atau logika
Biasanya memerlukan beberapa siklus clock per instruksi
Instruction Execution Rate
Millions of instructions per second (MIPS)
Millions of floating point instructions per second (MFLOPS)
Sangat bergantung pada instruksi, kompiler, implementasi prosesor, cache dan hirarki memori
Benchmarks
Program dirancang untuk menguji kinerja
Ditulis dengan bahasa tingkat tinggi
Portable
Merepresentasikan jenis pekerjaannya
Systems, numerical, commercial
Mudah diukur
Luas penggunannya
Misal: System Performance Evaluation Corporation (SPEC)
CPU2006 untuk perhitungan yang pasti
17 floating point programs dalam C, C++, Fortran
12 integer programs dalam C, C++
3 juta baris kode
Kecepatan
Single task dan throughput
Hukum Amdahl
Gene Amdahl [AMDA67]
Potensi peningkatan kecepatan program dengan menggunakan beberapa prosesor
Menyimpulkan bahwa:
Kode perlu parallelizable
Kecepatan meningkat, memberikan hasil yang menurun untuk procesor lebih banyak
Tergantung apa yang dikerjakan
Server dapat memelihara beberapa koneksi pada multiple prosesor
Database dapat dibagi dalam tugas-tugas pararel
Formula Hukum Amdahl
For program running on single processor
Fraction f : bagian/fraksi dari operasi komputasi yang dapat dikerjakan secara pararel
T adalah waktu eksekusi total untuk program dalam prosesor tunggal
N adalah jumlah prosesor yang sepenuhnya memanfaatkan bagian dari kode pararel
Kesimpulan
f small, parallel processors mempunyai efek yang kecil
N ->∞, kecepatan tergantung dari 1/(1 – f)
Berkurangnya manfaat ketika menggunakan banyak prosesor
Pertemuan Pertama
Organisasi adalah Bagaimana suatu perangkat diimplementasikan
Sinyal kontrol, interface dan memori
Contoh:
penambahan hardware baru atau penambahan hardware secara berulang.
Apakah instruksi perkalian diimplementasikan secara hardware, ataukah dikerjakan dengan Penambahan secara berulang?
Arsitektur à Atribut yang berhubungan dengan programmer
Kumpulan bit, jumlah bit yang digunakan untuk representasi data, mekanisme I/O, teknik Pengalamatan
Contoh: apakah tersedia instruksi untuk perkalian?
Dari segi perbedaan Arsitektur bertahan lama, organisasi menyesuaikan perkembangan Teknologi
Contoh : Semua keluarga Intel x86 mempunyai dasar arsitektur yang sama.
Fungsi merupakan operasi dari masing-masing komponen sebagai bagian dari struktur
Semua komputer berfungsi untuk:
Pengolahan data (Data processing)
Penyimpanan data (Data storage)
Pemindahan data (Data movement)
Control
Struktur adalah bagaimana masing-masing komponen saling berhubungan satu sama lain.
Sinyal kontrol, interface dan memori
Contoh:
penambahan hardware baru atau penambahan hardware secara berulang.
Apakah instruksi perkalian diimplementasikan secara hardware, ataukah dikerjakan dengan Penambahan secara berulang?
Arsitektur à Atribut yang berhubungan dengan programmer
Kumpulan bit, jumlah bit yang digunakan untuk representasi data, mekanisme I/O, teknik Pengalamatan
Contoh: apakah tersedia instruksi untuk perkalian?
Dari segi perbedaan Arsitektur bertahan lama, organisasi menyesuaikan perkembangan Teknologi
Contoh : Semua keluarga Intel x86 mempunyai dasar arsitektur yang sama.
Fungsi merupakan operasi dari masing-masing komponen sebagai bagian dari struktur
Semua komputer berfungsi untuk:
Pengolahan data (Data processing)
Penyimpanan data (Data storage)
Pemindahan data (Data movement)
Control
Struktur adalah bagaimana masing-masing komponen saling berhubungan satu sama lain.
Langganan:
Postingan (Atom)