Minggu, 23 Oktober 2011 di 23.28 | 0 komentar  
WAKTU AKSES DISK
Waktu akses disk ialah ketika disk drive beroperasi, disk berputar dengan kecepatan tetap.
Untuk dapat membaca dan menulis, head harus berada pada awal sector dari track yang diinginkan. Pemilihan track meliputi perpindahan head pada sistem movable head atau mekanisme elektronis pada head untuk sistem fixed head.


Karakteristik kinerja hard disk dibagi menjadi 3 bagian :


1. SEEK TIME
Seek time adalah dimana drive berputar dan mencari/mengukur waktu yang dibutuhkan unit head pada lengan aktuator untuk melakukan perjalanan ke trek dari disk dan kemudian data akan dibaca atau ditulis.
Data pada media disimpan di sektor-sektor yang diatur dalam trek melingkar paralel (konsentris atau spiral tergantung pada jenis perangkat) dan ada aktuator dengan lengan yang menunda head yang dapat mentransfer data dengan media itu.


2. ROTATIONAL LATENCY
Rotational latency (kadang-kadang disebut delay rotasi atau hanya latency) adalah perlambatan menunggu rotasi disk untuk membawa sektor disk yang dibutuhkan di bawah HEAD READ - WRITE. Hal ini tergantung pada kecepatan rotasi dari sebuah disk (atau motor spindle ), diukur dalam revolusi per menit (RPM) . untuk drive magnetik berbasis media yang paling, rata-rata latency rotasi biasanya didasarkan pada hubungan empiris bahwa rata-rata latency dalam milidetik untuk seperti drive adalah setengah periode rotasi. Rotasi latency maksimum adalah waktu yang dibutuhkan untuk melakukan rotasi penuh tidak termasuk waktu spin-up (sebagai bagian yang relevan dari disk mungkin hanya melewati HEAD ketika permintaan tiba). Oleh karena itu. Latency rotasi dapat mengakibatkan waktu akses dapat ditingkatkan dengan meningkatkan kecepatan rotasi dari disk. ROTATIONAL LATENCY juga memiliki manfaat untuk meningkatkan throughput (dibahas nanti dalam artikel ini).

Untuk rincian lebih lanjut tentang tata letak lagu melihat penyimpanan Disk

Kecepatan motor spindle dapat menggunakan salah satu dari dua jenis metode rotasi disk: 1) kecepatan linear konstan (CLV), digunakan terutama dalam penyimpanan optik, bervariasi kecepatan rotasi dari disk optik tergantung pada posisi kepala, dan 2) konstan kecepatan sudut (CAV), yang digunakan dalam HDD, FDD standar, sistem cakram optik beberapa, dan catatan vinil audio, media berputar pada satu kecepatan konstan terlepas dari mana kepala diposisikan.




3. ACCESS TIME


ACCESS TIME adalah ukuran waktu yang diperlukan sebelum drive benar-benar dapat mentransfer data. Faktor-faktor yang mengontrol waktu ini pada drive berputar sebagian besar terkait dengan sifat mekanik dari kepala berputar disk dan bergerak.


metode ini terdiri dari beberapa elemen dapat diukur secara independen yang ditambahkan bersama-sama untuk mendapatkan nilai tunggal ketika mengevaluasi kinerja perangkat penyimpanan. Waktu akses dapat bervariasi secara signifikan, sehingga biasanya disediakan oleh produsen atau diukur dalam tolok ukur sebagai rata-rata .
Diposting oleh abdul munib
Organisasi Cache


Dalam mendesain sistem cache, yang pertama kali perlu diperhatikan adalah masalah penempatan suatu blok data/instruksi dari memori utama ke baris-baris cache. Berkaitan dengan masalah itu, ada tiga macam organisasi cache yakni organisasi cache yang dipetakan langsung (direct-mapped), asosiatif penuh (fully associative), dan asosiatif-kelompok ( set-associative).

Cache Asosiatif

Disebut juga Fully Associative Cache.

- Menyimpan tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional.
- Cache dapat menempatkan sembarang jalur refill selama akses memori.
- Membandingkan alamat yang ada dengan semua alamat yang disimpan.

Dalam rancangan cache asosiatif-penuh :(detail)

• Suatu blok data dapat ditempatkan pada baris cache manapun.
• Alamat dibagi menjadi dua bagian yakni bit rendah dan bit tinggi.
• Bit rendah membentuk offset di dalam baris cache, sedangkan bit tinggi membentuk tag untuk dicocokkan dengan rujukan.
• Cache asosiatif-penuh harus punya mekanisme untuk menentukan ke dalam baris mana blok ditempatkan.
• Blok dapat ditempatkan dalam baris manapun yang kosong. Bila semua baris cache penuh harus ditentukan blok mana yang dikeluarkan dari cache.
• Digunakan prinsip LRU (least recently used) yakni blok yang paling lama tidak dipakai dikeluarkan dari cache.
• Cukup mahal mengimplementasikannya.
• Resiko : memperbanyak implementasi rangkaian hardware untuk membandingkan tag thadap semua baris cache.




Direct Mapped Cache (Cache yang dipetakan langsung)

Membagi memory utama menjadi K kolom dengan N refill line per kolomnya.

Operasi Pembacaan Cache secara Direct :
- memetakan masing-masing blok memori utama hanya ke sebuah saluran cache saja.
- Fungsi pemetaan mudah diimplementasikan dengan menggunakan alamat.
- Untuk mengakses cache, setiap alamat memori utama dianggap terdiri dari tiga field.

Organisasi cache yang dipetakan langsung : (detail)
• menyimpan satu tag perbaris dalam larik tag-nya
• Selama pengaksesan memori, cache menggunakan bit-bit tengah alamat sebagai indeks ke larik tagnya.
• Tag dicocokkan dengan 16-bit teratas dari alamat memori yang diakses.
• Jika cocok, data yang ditunjukan oleh nilai offset akan dikirim ke prosesor. Bila tidak cocok, isi baris cache diganti dengan blok yang diperlukan, dari memori utama.
• Hanya memerlukan satu kali pembandingan untuk setiap akses ke cache.
• Cocok untuk sistem komputer yang memerlukan frekuensi detak tinggi

Set Cache Asosiatif

- Mengkombinasikan organisasi asosiatif dan direct (langsung).
- Mengorganisir memori utama dan memorinya sendiri menjadi kolom jalur refil N.
- Cache dibagi menjadi beberapa set/himpunan
- Setiap himpunan terdiri dr sejumlah jalur
- Sebuah blok yang diberikan memetakan ke jalur manapun dalam himpunan yang diberikan
(Misal Block B dapat berada di jalur manapundalam himpuan i)
- Misal 2 jalur per himpunan
2 cara pemetaan asosiatif
- Sebuah blok yang diberikan dapat pada salah satu dari 2 jalur dalam sebuah himpunan saja

Sector Mapped Cache (Cache yang dipetakan sector)

- Merupakan modifikasi dari cache asosiatif.
-Jalur refill memori utama dan cache dikelompokan menjadi sector yang disebut row(baris).
Diposting oleh abdul munib
Branch Prediction

Dalam arsitektur komputer, sebuah Branch Prediction adalah sirkuit digital yang mencoba untuk menebak arah mana cabang (misalnya struktur if-then-else) akan pergi sebelum keadaannya diketahui pasti. Tujuan dari Branch Predictor untuk meningkatkan aliran dalam pipa instruksi. Branch Prediction penting dalam mikroprosesor pipelined untuk mencapai kinerja tinggi.
Dua arah percabangan biasanya diimplementasikan dengan instruksi lompat bersyarat. Melonjaknya bersyarat dapat menjadi "tidak diambil" dan melanjutkan eksekusi dengan cabang pertama dari kode yang mengikuti segera setelah lompat bersyarat - atau dapat "diambil" dan melompat ke tempat yang berbeda di memori program dimana cabang kedua kode itu disimpan.Gambar 1: Contoh 4-tahap pipa. Kotak berwarna merupakan petunjuk independen satu sama lain
Hal ini tidak diketahui secara pasti apakah lompat bersyarat akan diambil atau tidak diambil sampai kondisi telah dihitung dan lompat bersyarat telah lulus tahap eksekusi dalam pipa instruksi (lihat gambar. 1).

Tanpa prediksi cabang, prosesor harus menunggu sampai instruksi lompat bersyarat telah melewati tahap mengeksekusi sebelum instruksi berikutnya dapat memasuki tahap fetch dalam pipa. Prediktor cabang upaya untuk menghindari pemborosan waktu dengan mencoba untuk menebak apakah lompat bersyarat yang paling mungkin diambil atau tidak diambil. Cabang yang diduga sebagai yang paling mungkin adalah yang diambil dan spekulasi kemudian dieksekusi. Jika kemudian mendeteksi bahwa ada kesalahan menebak maka instruksi dieksekusi spekulatif atau sebagian dieksekusi dibuang dan pipa dimulai dari atas dengan cabang yang benar.
Waktu yang terbuang dalam kasus misprediction cabang sama dengan jumlah tahap dalam pipa dari tahap ke tahap fetch mengeksekusi. Mikroprosesor modern cenderung memiliki pipa yang cukup panjang sehingga penundaan misprediction adalah antara 10 dan 20 siklus clock. Semakin lama pipa tinggi kebutuhan untuk prediksi cabang makin baik.
Pertama kali instruksi lompat bersyarat ditemui, tidak ada banyak informasi untuk dasar prediksi ini. Tapi prediksi cabang menyimpan catatan dari apakah cabang diambil atau tidak diambil. Ketika bertemu dengan lompat bersyarat yang telah melihat beberapa kali sebelum kemudian dapat dasar prediksi pada kejadian yang lalu. Branch prediction mungkin, misalnya, mengakui bahwa lompat bersyarat diambil lebih sering daripada tidak, atau bahwa itu diambil setiap dua kali.
branch prediction tidak sama dengan prediksi cabang target. Prediksi cabang upaya untuk menebak apakah lompatan bersyarat akan diambil atau tidak. Cabang prediksi target yang mencoba untuk menebak target lompatan bersyarat atau tanpa syarat diambil sebelum dihitung oleh decoding dan mengeksekusi instruksi itu sendiri. Cabang cabang prediksi dan prediksi target sering dikombinasikan ke dalam sirkuit yang sama.

Data-Flow Analysis

Data-Flow Analysis adalah teknik untuk mengumpulkan informasi tentang kemungkinan himpunan nilai-nilai dihitung di berbagai titik di sebuah program komputer. Kontrol aliran Sebuah program grafik (CFG) digunakan untuk menentukan bagian-bagian dari program dimana nilai tertentu ditugaskan ke variabel yang mungkin merambat. Informasi yang dikumpulkan sering digunakan oleh compiler ketika mengoptimalkan program. Sebuah contoh kanonik dari analisis data-aliran mencapai definisi.

Sebuah cara sederhana untuk melakukan Data-Flow Analysis program adalah untuk mengatur aliran data persamaan untuk setiap node dari grafik kontrol aliran dan menyelesaikannya dengan berulang kali menghitung output dari input lokal di setiap node sampai seluruh sistem stabil,sampai mencapai sebuah fixpoint. Pendekatan umum ini dikembangkan oleh Gary Kildall saat mengajar di Naval Postgraduate School.



Speculative Execution


Eksekusi spekulatif dalam sistem komputer adalah melakukan pekerjaan, yang hasilnya mungkin tidak diperlukan. Teknik optimasi kinerja digunakan dalam prosesor pipelined dan systems.School lainnya.

MAIN IDEA ~
Eksekusi spekulatif adalah optimasi kinerja. Ide utama adalah untuk melakukan pekerjaan yang mungkin tidak diperlukan. Targetnya adalah untuk menyediakan konkurensi lebih jika sumber daya tambahan yang tersedia. Teknologi berikut menggunakan ide ini:

Prefetching dalam memori dan sistem file
Cabang prediksi
Kontrol konkurensi Optimis dalam sistem database


Prosesor
Pipelined mikroprosesor modern menggunakan eksekusi spekulatif untuk mengurangi biaya instruksi cabang bersyarat menggunakan skema yang memprediksi jalur eksekusi dari suatu program berdasarkan sejarah eksekusi cabang . Ternyata bahwa dalam rangka meningkatkan kinerja dan pemanfaatan sumber daya komputer, beberapa instruksi harus dijadwalkan terlebih dahulu di tempat yang tidak ditentukan bahwa instruksi tersebut harus dieksekusi sama sekali, di depan cabang.

Dalam optimasi compiler untuk sistem multiprocessing, eksekusi spekulatif melibatkan prosesor menganggur mengeksekusi kode di blok prosesor berikutnya, dalam hal tidak ada ketergantungan pada kode yang dapat berjalan pada prosesor lainnya. Keuntungan dari skema ini adalah mengurangi waktu respon untuk prosesor individu dan sistem secara keseluruhan. Namun, ada hukuman bersih untuk kasus rata-rata, karena dalam kasus taruhan yang buruk, pipa harus memerah. Compiler terbatas dalam mengeluarkan instruksi eksekusi spekulatif, karena memerlukan bantuan perangkat keras untuk buffer efek spekulasi-instruksi dieksekusi. Tanpa dukungan hardware, compiler hanya bisa mengeluarkan instruksi spekulatif yang memiliki efek samping dalam hal spekulasi yang salah.

Eager Execution adalah bentuk eksekusi spekulatif di mana kedua sisi cabang kondisional dijalankan, namun hasil berkomitmen hanya jika predikat benar. Dengan sumber daya terbatas, eksekusi bersemangat (juga dikenal sebagai eksekusi oracle) akan dalam teori memberikan kinerja yang sama seperti prediksi cabang yang sempurna. Dengan sumber daya yang terbatas ingin eksekusi harus digunakan hati-hati karena jumlah sumber daya yang dibutuhkan tumbuh secara eksponensial dengan masing-masing tingkat cabang dieksekusi bersemangat

Lazy Evaluation tidak berspekulasi. Penggabungan eksekusi spekulatif dalam implementasi dari bahasa pemrograman Haskell merupakan topik penelitian saat ini. Haskell bersemangat dirancang di sekitar gagasan eksekusi spekulatif. Versi terbaru dukungan GHC jenis eksekusi spekulatif dengan mekanisme aborsi untuk kembali dalam kasus pilihan yang buruk disebut eksekusi optimisasi.


DEFINISI PIPELINING

PIPELINING

Pengertian :

Pipeline adalah kerja paralel, dimana komputer mengerjakan 2 atau lebih bagian dari instruksi secara bersamaan

Pipelining adalah teknik yang digunakan untuk merealisasi Parallel Processing, yaitu dengan membagi operasi ke dalam k-stage (beberapa tingkatan) atau sub-operasi, sehingga pada satu saat ada k operasi berjalan yang sekaligus.

Pipelining adalah salah satu cara yang paling sering digunakan dalam pararel prosesing. Sebuah operasi dibagi menjadi sejumlah sub operasi elementer, kita namakan k. kemudian kita membentuk sebuah sistem dengan banyak stage sebesar k, dan mengeksekusi sub operasi tersebut pada setiap stage satu demi satu.

Pipelining adalah suatu teknik instruksi yang digunakan dalam desain komputer dan perangkat elektronik digital lainnya untuk meningkatkan instruksi throughput (jumlah instruksi yang dapat dijalankan pada waktu yang sama).
Contoh :
gambar dibawah adalah generik pipa dengan 4 tahapan


1. Fetch
2. Membaca sandi
3. Menjalankan
4. Write-back
Abu-abu atas kotak daftar tunggu instruksi yang akan dilaksanakan; bagian bawah kotak abu-abu adalah daftar instruksi yang telah selesai, dan tengah kotak putih adalah pipa.

Pelaksanaan adalah sebagai berikut:
Waktu Eksekusi
---------------------------
0 Empat menunggu instruksi yang akan dilaksanakan
1 hijau instruksi yang diambil dari memori
2 hijau adalah instruksi decoded
ungu adalah instruksi yang diambil dari memori
3 hijau instruksi dijalankan (sebenarnya dilakukan operasi) ungu adalah instruksi yang decoded biru instruksi yang diambil
4 hijau instruksi dari hasil ditulis kembali ke daftar file atau memori ungu instruksi yang dijalankan biru adalah instruksi decoded merah instruksi yang diambil
5 hijau instruksi selesai ungu instruksi yang ditulis kembali biru instruksi dijalankan merah adalah instruksi decoded
6 The purple instruksi selesai biru instruksi yang ditulis kembali merah instruksi dijalankan
7 biru instruksi selesai merah instruksi yang ditulis kembali
8 merah instruksi selesai
9 Semua instruksi dijalankan

---------------------------------------

Kekurangan pada Pipeline adalah dalam prakteknya, bagaimanapun, prosesor RISC beroperasi lebih dari satu siklus per instruksi. Prosesor mungkin mengumpulkan hasil dari data dependensi dan instruksi cabang.
Data dependensi terjadi bila instruksi tergantung pada hasil dari instruksi sebelumnya. Instruksi tertentu mungkin perlu data dalam register yang belum disimpan, sejak itulah pekerjaan yang sebelumnya instruksi yang belum mencapai tahap yang akan di pipeline.
sebagai contoh:
add $r3, $r2, $r1
add $r5, $r4, $r3
Dalam contoh ini, instruksi pertama memberitahu prosesor untuk menambahkan isi register r1 dan r2 dan menyimpan hasilnya dalam register r3. Instruksi kedua untuk menambahkan r3 dan r4 dan simpan ke r5. Tempat ini kita set instruksi dalam pipeline. Ketika terjadi instruksi yang kedua itu adalah tahap kedua, prosesor akan mencoba untuk membaca r3 dan r4 dari register. Ingat, meskipun, yang pertama adalah instruksi hanya satu langkah di depan kedua, jadi isi r1 dan r2 sedang ditambahkan, tetapi hasilnya belum ditulis ke dalam daftar r3. Instruksi yang kedua itu tidak dapat dibaca dari register R3 karena belum ditulis dan belum harus menunggu hingga data yang diperlukan disimpan. Akibatnya, pipa yang stalled dan sejumlah kosong instruksi dikenal sebagai gelembung pergi ke dalam pipa. Data dependensi mempengaruhi Pipelines lebih panjang daripada yang singkat karena memerlukan waktu yang lebih lama untuk instruksi untuk mencapai akhir pendaftaran tahap-menulis pipa yang panjang.
MIPS solusi untuk masalah ini adalah kode reordering. Jika, seperti dalam contoh di atas, berikut ini ada petunjuk tidak ada hubungannya dengan dua pertama, kode dapat diatur ulang sehingga instruksi yang dijalankan di antara dua tergantung petunjuk dan pipa dapat mengalir efisien. Tugas kode reordering umumnya mengkompile ke kiri, yang mengakui data dependensi dan upaya untuk meminimalkan kinerja.
Diposting oleh abdul munib
Minggu, 25 September 2011 di 23.21 | 0 komentar  
Organisasi Komputer dan Arsitektur Komputer
Arsitektur komputer berkaitan dengan atribute-atribute yang nampak bagi programmer. Set Instruksi, jumlah bit yang digunakan untuk penyajian data, mekanisme I/O, teknik pengalamatan (addressing techniques). Contoh: apakah tersedia instruksi untuk perkalian?

Organisasi komputer berkaitan dengan unit-unit operasional dan interkoneksinya yang merealisasikan spesifikasi arsitektural. Control signals, interfaces, memory technology.
Contoh: Apakah instruksi perkalian diimplementasikan secara hardware, ataukah dikerjakan dengan penambahan secara berulang?


Perbedaan:

Arsitektur sama, organisasi dapat berbeda
Arsitektur bertahan lama, organisasi menyesuaikan perkembangan teknologi

- Semua Intel famili x86 memiliki arsitektur dasar yang sama
- Famili IBM System/370 memiliki arsitektur dasar yang sama
- Memberikan compatibilitas instruksi level mesin
- Organisasi antar versi memiliki perbedaan


5 Komponen Utama Komputer
Processor (active)
1. Computer Control (“brain”)
2. Datapath (“brawn”)
Memory (passive)
1. Memory (passive)
Devices
1. Input
2. Output


FUNGSI
Semua komputer memiliki 4 fungsi:

Pengolahan data - Data processing Contoh: updating bank statement
Penyimpanan data - Data storage Contoh: Internet download ke disk
Pemindahan data - Data movement Contoh: keyboard ke screen
Kendali -Control
Diposting oleh abdul munib
Visit the Site
MARVEL and SPIDER-MAN: TM & 2007 Marvel Characters, Inc. Motion Picture © 2007 Columbia Pictures Industries, Inc. All Rights Reserved. 2007 Sony Pictures Digital Inc. All rights reserved. blogger template by blog forum.