Upload
aufar-fajar
View
215
Download
5
Embed Size (px)
DESCRIPTION
This presentation show you how to estimate the run-time program that often occur in the real-time system. Source-code analysis, pipelining calculation, pipeline prediction analysis, cache memory are discussed. (Most of this slide using Indonesian Language). Aufar Fajar - Computer Engineering, MCU
Citation preview
Aufar Fajar – 1127019Yosua Natanael – 1127017
Jefry Karundeng – 0827034
Sistem Waktu nyata
MEMPERKIRAKAN RUN-TIME PROGRAM
Pengantar
Sistem Waktu Nyata
Sering menemui Deadline
Kegiatan prediksi run-time program merupakan suatu hal yang PENTING, namun SULIT
Prediksi harus bergantung pada faktor-faktor berikut :• Source Code, source code yang dioptimasi secara hati-hati akan memberikan waktu
eksekusi yang singkat.• Compiler, Fungsi dari compiler adalah menerjemahkan kode tingkat tinggi menjadi
kode mesin. Waktu eksekusi akan bergantung pada sifat pemetaan.• Arsitektur Mesin, Eksekusi sebuah program membutuhkan banyak interaksi antara
prosesor, memori, dan perangkat I/O. Ukuran dan pengorganisasian cache juga mempengaruhi waktu akses-memori.
• Sistem Operasi , Sistem operasi berkaitan dengan jadwal penugasan dan pengaturan memori, dimana keduanya memiliki pengaruh yang besar terhadap waktu eksekusi.
ANALISIS SOURCE-CODE
• Kode tersebut adalah straight-line code. Instruksi tersebut akan memiliki sebuah titik masuk dan sebuah titik keluar
• Total waktu eksekusi dirumuskan dengan,
• Dimana Texec(Li) adalah waktu yang dibutuhkan untuk mengeksekusi Li.
• Waktu yang dibutuhkan untuk mengeksekusi L1 akan bergantung pada kode yang akan diproses oleh compiler.
L1: a := b * cL2: b := d + eL3: c := a – f
ANALISIS SOURCE-CODE
L1 dapat diterjemahkan menjadi urutan sebagai berikut :
L1.1 Ambil alamat cL1.2 Muat cL1.3 Ambil alamat bL1.4 Muat bL1.5 KalikanL1.6 Simpan hasil di variabel a
Waktu yang dibutuhkan untuk mengeksekusi instruksi tersebut bergantung pada arsitektur mesin. Jika mesinnya sederhana, dan hanya memiliki satu port I/O yang masuk ke memori, maka waktu eksekusinya dirumuskan dengan
Rumus tersebut mengasumsikan bahwa mesin dalam waktu itu dikhususkan hanya untuk instruksi L1; dengan catatan tidak ada interrupts.
PERHITUNGAN UNTUK PIPELINING
Mesin Von-
Neumann
eksekusi yang sekuensial (berurut). Instruksi diambil, di-decode, lalu dieksekusi. Kemudian siklus itu terus berlanjut.
Mesin Pipeline
Pada pipeline proses dapat dibagi menjadi beberapa tahap dan beberapa proses dapat dilaksanakan secara simultan.
Kompleksitas yang sering ditemui : ketergantungannya terhadap instruksi yang aktif pada komputer, percabangan kondisional, dan interrupts. Contohnya, instruksi Ii membutuhkan output dari Ij. Ii harus menunggu Ij untuk mengeluarkan output sebelum ia bisa mengeksekusi.
DUA-TINGKATAN PIPELINE
Tingkatan Pertama
Tingkatan Kedua
Prosesor mengambil instruksi dari memori utama (main memory) dan memasukkannya ke dalam “prefetch buffer”
Mengatasi semua hal lainnya, termasuk operasi baca/tulis.
CONTOH
Misalkan diberikan notasi sebagai berikut, • Ii instruksi i
• ni waktu eksekusi dari Ii termasuk akses memori
• vi ukuran bit-opcode dari instruksi i
• ri jumlah data pada memori yang harus dibaca untuk kebutuhan Ii
• wi jumlah data pada memori yang harus ditulis untuk kebutuhan Ii
didapat data sebagai berikut,Instruksi ni vi ri wi
I1 10 2 0 0
I2 4 1 0 0
I3 10 3 0 0
I4 2 2 2 0
I5 5 2 0 0
Op-Code
1 InstruksiOp-code
Keterangan
Ex : LOAD, STORE, ADD
1 9 4 F
Op-Code
Address
Analisis Prediksi Pipeline
• Mari kita asumsikan bahwa prosesor melakukan 4 kali siklus untuk mengakses memori.
• Ketika v1 = 2, tahap fetch harus membaca 2 bit dari memori utama sebelum I1 dapat mulai mengeksekusi.
• Hal tersebut membutuhkan 2 x 4 = 8 siklus.• I1 mulai mengeksekusi saat waktu mencapai
angka 8, dan selesai pada waktu T1 = 8 + 10 = 18.
Cache
• Cache adalah suatu tempat untuk menyimpan sesuatu secara sementara, dengan harapan jika data yang sama akan diakses, akses akan menjadi lebih cepat.
• Dalam Internet, sebuah proxy cache dapat mempercepat proses browsing dengan cara menyimpan data yang telah diakses di komputer. Jika kemudian ada user yang mengakses data yang sama, proxy cache akan mengirim data tersebut dari cache-nya, bukan dari tempat yang lama diakses.
Memori Virtual
Memori = Ruang PenyimpananVirtual = Tiruan / tidak nyata.• Memori Virtual adalah sebuah sistem yang digunakan
oleh sistem operasi untuk menggunakan sebagian dari Memori Sekunder (Harddisk) seolah-olah ia menggunakannya sebagai memori internal/utama (RAM) fisik yang terpasang di dalam sebuah sistem komputer.
• Memori Virtual dapat digunakan untuk menjalankan aplikasi yang membutuhkan memori yang besar terutama untuk game, Apabila kapasitas RAM kecil.
Virtual Memori