Jumat, 05 Juni 2015

Embedded System

Embedded System
Sebuah kombinasi dari komputer hardware dan software yang didesain untuk menjalankan fungsi tertentu.
Untuk kasus tertentu, embedded sistem merupakan bagian dari sistem atau produk yang besar.
Berikut contoh embedded sistem yang sering digunakan dalam kehidupan sehari hari.



Charcateristics of Embedded System
  • Real-time operation
    Pada kebanyakan embedded sistem, kebenaran dari sebuah ketergantungan kompilasi, di dalam bagian, pada waktu penyampaian. Konstraint didedikasikan oleh eksternal I/O dan permintaan kontrol stabilitas.
  • Reactive operation
    Embedded sistem mungkin mengeksekusi untuk eksternal event. Jika event event tersebut tidak terjadi secara berkala , embedded sistem akan memasukkannya dalam worst case event.
  • Configurability
    Karena varietas yang besar dari embedded sistem, terdapat sebuah variasi yang besar dari sebuah requirment baik kuantitatif maupun kualitatif.
  • I/O device flexibility
    Ada sebuah virtual non device  yang perlu untuk disupport oleh semua versi OS
  • Streamline protection mechanism
    Embedded sistem secara tipikal didesain secara terbatas.
  • Direct use of interupts
    Tujuan umum dari sebuah OS adalah secara tipikal tidak mengizinkan beberapa user untuk menginterupsi secara langsung.
Embedded System Development Approach
  1. Tentukan hardwarenya
  2. Pastikan software kompatibel
  3. Tentukan tugas spesifik
  4. Buat hirarki OOP
  5. Jangan buat hal yang sudah ada
Purpose Built Embedded Operating System
Jumlah yang signifikan dari OS telah didesain dari ground-up untuk embedded aplikasi.

Specialized Embedded Operating System
  • Secara tipikal termasuk:
    • Memiliki sebuah kesempatan
    • Policy skeduling diatur secara real time
    • Berukuran kecil
    • Merespon eksternal interupsi secara cepat
    • Meminimalkan interval selama interupsi dinonaktifkan
    • Menyediakan fix atau ukuran variabel partisi untuk memory management
    • Memaintain real time clock
eCOS (Embedded Configurable Operating System)
Bersifat open source, gratis, real time OS untuk embedded aplikasi.

Configurability
eCOS konfigurasi tool, yang berjalan pada Windows atau Linux, digunakan untuk mengkonfigure sebuah eCOS paket untuk berjalan pada target embedded sistem.

eCOS Component
  • HAL - Hardware Abstraction Layer
    HAL merupakan software yang menampillkan sebuah API yang konsisten ke layer yang lebih atas dan map operasi pada upper layer kedalam spesifik hardware.
  • eCOS Kernel
    Didesain untuk mencapai beberapa tujuan berikut:
    • Interupsi yang rendah
    • Latency yang rendah
    • Memory footprint kecil
eCOS Scheduler
  • Bitmap Scheduler
    Sebuah bitmap skedular mendukung multi level prioritas tetapi hanya satu thread dapat eksis pada setiap priority.
  • Multilevel Queque Scheduler
    • Mendukung sampel priority level 32
    • Mendukung multiple active thread.

Rabu, 03 Juni 2015

Multi Processor

Multicore Computers

Komputer terdiri dari lebih dari satu core di dalam CPU-nya. Core tersebut beroperasi secara terpisah dengan processor yang terdapat di dalam single chip. Mutlicore tersebut berfungsi untuk meninggkatkan performa tanpa meninggkatkan kecepatan clock prosesor.

Mutiprocessor
Multiprocessor dapat diartikan dengan CPU yang memiliki lebih dari satu prosesor di dalamnya. Pada saat ini beberapa mesin telah mengkombinasikan teknologi multicore dan multiprosesor.

Multicore VS Multiprocessor

  • Save Energy
    Multicore komputer memiliki efesiensi energi yang lebih baik daripada multiprocessor CPU. MultiCPU berarti mutli kopi dari intergrasi sirkuit  yang sama yang berada pada papan sirkuit dengan diasosiasikan dengan chip lainnya. Dengan kata lain sirkuit tersebut tidak berulang. Konsilidasi core pada suatu chio mengurangi penggunaan energi
  • Save Space
    Multicore chip menyimpan papan sirkuit dan paket komponen didalam multi prosesor desain. Memiliki CPU tunggal dengan dua core lebih menghemat space daripada dua chip CPU yang terpisah.
  • Performace
    Secara keseluruhan performa multi aplikasi adalah berjalan secara bersamaan. Menghandel multi request lebih baik daripada multicore sistem. Dengan kata lain performa multi prosesor lebih baik dari multi core.
Multiple Processor System
Sistem pada multiprosesor dibagi tiga yaitu : (a) multiproses shared-memory, (b) multicomputer message passing, dan (c) distributed system.
Multiprocessor share-memory, memiliki ciri khas yaitu terdiri dari banya prosesor. 
Multicomputer message passing, memiliki ciri khas yaitu terdiri atas banyak komputer yang memiliki tempat penyimpannya sendiri dan saling berhubungan. 
Distributed system, merupakan sistem yang dirancancang untuk masa depan. Dimana komputer dan tempat penyimpanan menjadi satu kesatuan dan semuanya terhubung melalui internet.

UMA Multiprocessors with Bus-Based Architectures
Multiprocessor memiliki 3 jenis bus base, yaitu (a) without caching, (b) with caching  dan (c)with caching and private memory




Bus without caching,  beberapa CPU saling terhubung dalam bus yang sama dan mempunyai memory tempat penyimpan yang sama sehingga untuk mengaksesnya CPU harus memastikan bahwa tidak ada CPU lain yang sedang mengakses memory.
Bus with caching, di dalam masing masing CPU terdapata cache sehingga trafic untuk mengakse memory tidak terlalu sibuk.
Bus with cache and private memory, dalam hal ini CPU tidak hanya memiliki cache tapi juga memory private memorynya sendiri.

Architecture
Multiprocessor System diklasifikasikan berdasarkan cara bagaimana CPU dan unit memory unit diasosiasikan. 
  • Uniform memory access (UMA)
    Memory diakses secara seragam. Contohnya adalah Halance System dan VAX 880
  • Nonuniform memory access (NUMA)
    Contohnya adalah HP AlphaServer dan IBMNUMA Q
  • No-remote memory access (NORMA)
    Biasanya merupakan sistem distribusi.
SMP Architecture
Biasanya menggunakan sebuah bus atau persilangan bar sebagain jaringan interkoneksi. Hanya satu komunikasi yang bisa dijalankan dalam sekali waktu, komunikasi yang lain akan ditunda. Penggunaan busway akan menjadikan suatu sistem mengalami bottle neck yang bisa dianggap sebagai kelemahan dimana penggunaan cross bar dapat memprediksi kapan delay akan terjadi.

Kernel Structure
Kernel dari sebuah multiprosesor OS  juga disebut dengan SMP kernel. Beberapa CPU dapat mengeksekusi code didalam didalam kernel dan banyak CPU dapat melakukan hal ini secara paralel. Berdasarkan 2 provisi yang fundamental, kernel bersifat reentrant dan CPU mengkoordinasi aktivitas mereka melalui sinkronasi dan interupsi di dalam interprosesor.

NUMA Architecture
Berikut merupakan tampilan dari NUMA Architecture.


NUMA Kernel
CPU yang terdapat pada NUMA sistem memiliki akses memory yang berbeda baik lokal maupun nonlokal memory.

UMA VS NUMA
Persamaan keduanya adalah space memory tunggal dan pitfal (Membandingkan antara share memory dan distribusi memory).
Perbedaan keduanya adalah waktu akses

NUMA Processor
Karakteristik dari NUMA mesin adalah:
  1. Terdapat space alamat tunggal yang terlihat untuk semua CPU
  2. Akses untuk remote memory dilakukan melalui LOAD dan STORE instruksi
  3. Akses untuk remote memory lebih lambat dari pada akses ke lokal memory

Each CPU Has Its Own Operating Systems

Partisi multiprosesor memory diantara empat CPU tetapi membagi kopi tunggal untuk code dari operating sistem. Masing masing sistem memiliki privasi datanya masing masing.

Classification of Parallel System

Paralel Sistem dapat diklasifikasikan menjadi:
  1. SISD
  2. MISD
  3. SIMD
  4. MIMD
Multiprocessor Synchronization
Sinkronisasi yang berarti dapat saling berhubungan dan saling memperbaharui isi date sehingga tidak ada data yang hilang dan menjadi data yang memiliki intergritas. Untuk mengubah sutau data maka diperlukan key jika hanya untuk membaca tidak dibutuhkan key.

Time Sharing
Time sharing berarti menggunakan struktur data utama untuk mengatur jalannya dari multiprosesor.

Space Sharing
Space sharing dapat diartikan dengan ada banyak CPU yang terhubung untuk saling membagikan memory penyimpanan bagi CPU yang membutuhkan tempat penyimpaan.

Gang Scheduling
Ada tiga bagian dalam gang skedul:
  1. Grup dari thread yang berhubungan diskedulkan sebagai sebuah unit.
  2. Semua member dari gang berjalan secara simultan pada time share CPU yang berbeda.
  3. Semua anggota gang memulai dan mengakhiri secara bersamaan.




Minggu, 31 Mei 2015

DMA

DMA (Direct Memory Access) adalah suatu alat pengendali khusus yang disediakan untuk memungkinkan transfer blok data langsung antara perangkat eksternal dan memory utama tanpa adanya interferensi terus menerus dari processor.

Berikut penjelasan mengenai  Alternative DMA Configurasi


  • Single-bus, detached DMAPada single bus, baik I/O maupun DMA terdapat padat satu bus yang sama. Kelebihan dari konfigurasi ini adalah tidak mahal.
  • Single-bus, integrated DMA-I/O
    Pada konfigurasi ini, yang terdapat pada bus hanyalah DMA. I/O ada berada pada DMA itu sendiri. Dengan kata lain DMA bisa memiliki lebih dari satu I/O dan untuk mengakses I/O itu sendiri maka kita harus akses DMA itu sendiri.
  • I/O bus
    Bisa share memory dan prosesornya I/O connect ke I/O bus dahulu baru connect ke DMA