Rabu, 23 Mei 2012

Alamat-alamat port perangkat keras I/O didalam Personal Computer

Nama  : Satria Rafli Putra
NRP    : 113040144

Kelas   : C


Tugas Matakuliah Sistem Operasi
Dosen : Yoseph Ismail ST
Subjek Tugas : Carilah Referensi mengenai alamat-alamat port perangkat keras I/O yang ada dalam Personal Computer




Pertimbangkan sebuah sistem sederhana yang dibangun di sekitar  8-bit mikroprosesor . Seperti CPU yang mungkin memberikan 16-bit jalur alamat, yang memungkinkan untuk mengatasi hingga 64 kibibytes (KIB) dari memori. Pada sistem tersebut, mungkin 32 KiB ruang alamat akan dialokasikan untuk random access memory (RAM), lain 16K untuk membaca memori hanya (ROM) dan sisanya ke berbagai perangkat lain seperti timer, counter, tampilan video keripik, alat untuk menghasilkan suara, dan sebagainya.Perangkat keras sistem ini diatur sedemikian rupa sehingga perangkat pada bus alamat hanya akan merespon ke alamat tertentu yang dimaksudkan untuk mereka; semua alamat lainnya diabaikan. dan Ini adalah tugas dari alamat decoding circuitry , dan inilah yang menetapkan peta memori pada sistem.
Berikut adalah peta memorinya :
AlatAlamat kisaran
heksadesimal )
Ukuran
RAM0000 - 7FFF32 KiB
Tujuan umum I / O8000 - 80FF256 byte
Suara kontroler9000 - 90FF256 byte
Video controller / teks-dipetakan RAM tampilanA000 - A7FF2 KiB
ROMC000 - FFFF16 KiB
Catatan bahwa ini peta memori berisi kesenjangan, yang juga sangat umum.
Dengan asumsi register keempat video controller menyetel warna latar belakang layar, CPU dapat mengatur warna ini dengan menulis nilai ke lokasi memori A003 menggunakan memori standar instruksi tulis. Menggunakan metode yang sama, grafik dapat ditampilkan pada layar dengan menulis nilai-nilai karakter ke dalam sebuah area khusus RAM dalam video controller. Sebelum murah RAM yang memungkinkan bit dipetakan menampilkan , metode sel karakter adalah teknik populer untuk menampilkan video komputer.




I/O Sebagai Tipe Memori
Informasi status dan kontrol dari I/O adalah suatu tipe dari lokasi memori yang mengijinkan sistem komputer untuk mendapatkan informasi dari dan ke dunia luar. Tipe lokasi memori ini tidak seperti memori pada umumnya karena informasi yang ada dapat berubah karena pengaruh selain dari CPU.
Jenis paling sederhana dari lokasi memori I/O adalah port input dan port output sederhana. Dalam mikrokontroler 8-bit, port input sederhana terdiri dari delapan kaki yang dapat dibaca oleh CPU. Port output sederhana terdiri dari delapan kaki yang dapat dikontrol oleh CPU. Dalam kenyataannya, port output sederhana diimplementasikan dengan delapan latch dan jalur feedback yang memungkinkan CPU untuk membaca kembali apa yang sebelumnya ditulis ke port output.

Gambar di bawah memperlihatkan rangkaian ekuivalen dari satu bit RAM, satu bit port input, dan satu bit port output yang umum dan memiliki kemampuan membaca kembali. Dalam mikrokontroler nyata, rangkaian ini ada delapan untuk membentuk delapan bit RAM, port input, dan port output. Saat snyal clock high, data dari input D menuju output Q. Saat input clock low, data ditahan pada kaki output Q.


Saat CPU menyimpan informasi ke dalam RAM dalam gambar (a), sinyal WRITE diaktifkan untuk menahan data dari jalur data bus ke dalam flip-flop [1]. Latch ini akan terus mengingat data yang telah diberikan sampai terjadi proses penulisan kembali atau jika daya dihilangkan. Saat CPU membaca data dalam RAM ini, sinyal READ diaktifkan, yang kemudian mengaktifkan multiplekser [2]. Multiplekser ini membuat data dari output latch muncul kembali ke jalur data bus.
Saat CPU membaca data dari port input seperti pada gambar (b), sinyal READ diaktifkan, yang akan mengaktifkan multiplekser [3]. Multiplekser ini akan mengirimkan data yang ada dalam buffer ke jalur data bus. Sinyal write tidak mempunyai pengaruh dalam rangkaian ini.
Saat CPU menyimpan data ke port output seperti pada gambar (c), sinyal WRITE diaktifkan untuk menahan data dari data bus menuju ke flip-flop [4]. Output dari latch ini, yang di-buffer oleh buffer driver [5], muncul sebagai harga digital pada kaki output. Saat CPU akan membaca data dari port output, sinyal READ diaktifkan, yang akan mengaktifkan multiplekser [6]. Multiplekser ini akan menyalurkan data dari output flip-flop ke jalur data bus.


Register Kontrol dan Status Internal
Register kontrol dan status internal adalah lokasi memori I/O yang spesial. Di samping aksi sensor dan pengontrolan kaki eksternal, register ini juga melakukan aksi sensor dan pengontrolan sinyal level logika internal. Lihat gambar dan bandingkan antara RAM dengan port output. Perbedaan yang tampak hanyalah bahwa port output memiliki buffer untuk menghubungkan state dari flip-flop ke kaki eksternal. Dalam kasus bit kontrol internal, output dari buffer terhubung dengan sinyal kontrol internal tertentu. Suatu bit status internal mirip dengan bit port input tetapi bit status ini hanya melakukan aksi sensor terhadap sinyal register internal.

Mikrokontroler M68HC05 memiliki kaki-kaki I/O paralel. Arah jalur dari setiap kaki dapat diprogram dengan bit kontrol melalui software. Gambar di bawah menggambarkan I/O dua arah (bi-directional) dengan latch output dan bit kontrol arah data. Kaki suatu port dikonfigurasi sebagai output jika bit DDR (Data Direction Register) yang bersesuaian diset menjadi logika satu. Suatu kaki dikonfigurasi sebagai input jika bit DDR yang bersesuaian diset menjadi logika nol. Saat pertama kali dihidupkan atau saat reset, semua bit DDR dinolkan, sehingga konfigurasi semua kaki port adalah sebagai input. DDR ini dapat ditulis dan dibaca oleh prosesor.


Peta Memori
Karena terdapat ribuan dan bahkan lebih lokasi memori dalam suatu sistem mikrokontroler, menjadi penting untuk memiliki cara yang enak untuk menangani alamat masing-masing data dalam memori. Suatu peta memori adalah penggambaran yang mewakili semua spasi dalam memori mikrokontroler. Gambar di bawah adalah peta memori umum yang menggambarkan memori dalam MC68HC705K1.

Empat digit heksadesimal yang terletak pada bagian kiri dari gambar di bawah adalah alamat yang dimulai pada $0000 di atas dan terus bertambahsampai $03F di bagian bawah. Alamat $0000 berhubungan dengan awal lokasi memori sedangkan alamat $03FF berhubungan dengan lokasi memori akhir. Sedangkan ketrangan dalam kotak menunjukkan macam tipe dari memori dan isinya (RAM, EPROM, register I/O, dan sebagainya). Beberapa daerah, seperti register I/O, perlu dijelaskan lebih detail karena penting untuk mengetahui nama dari setiap lokasi. Setiap lokasi memori sebanyak 1024 ini memiliki delapan bit data seperti pada gambar di bawah.


Lokasi memori 256 pertama ($0000-$00FF) dapat diakses oleh komputer dengan cara khusus yang sebut dengan mode pengalamatan langsung (direct addressing mode). Register I/O on-chip dan 32 byte RAM terletak dalam area $0000-$00FF. Dalam peta memori pada gambar di bawah terlihat konfigurasi penempatan pada area ini yang dipaparkan dalam kotak yang terletak di sebelah kanan.




Minggu, 18 Maret 2012

System Calls

Nama  : Satria Rafli Putra
NRP    : 113040144

Kelas   : C


Tugas Matakuliah Sistem Operasi
Dosen : Yoseph Ismail ST
Subjek Tugas :


Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Komunikasi itu terjadi dalam bentuk system calls. SO melaluishell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran SO sebagai jembatan komunikasi antara user dan hardware itu terjadi. System calls itu sendiri umumnya ditulis dalam bahasa C dan C++.
Mengenai shellshell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Melalui shell, user dapat memberi perintah-perintah yang akan dikirim ke sistem operasi, sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Shell dalam SO secara umum dibagi menjadi 2, Command Line(CLI) dan Graphical(GUI). Jadi dengan kata lain,system calls berperan sebagai interface dalam layanan-layanan yang disediakan oleh sistem operasi.
Biasanya tersedia sebagai instruksi bahasa rakitan. Beberapa sistem mengizinkan system calls dibuat langsung dari program bahasa tingkat tinggi. Beberapa bahasa pemrograman (contoh : C, C++) telah didefenisikan untuk menggantikan bahasa rakitan untuk sistem pemrograman.
Tiga metode umum yang digunakan dalam memberikan parameter kepada sistem operasi
• Melalui register
• Menyimpan parameter dalam blok atau tabel pada memori dan alamat blok tersebut diberikan sebagai parameter dalam register
• Menyimpan parameter (push) ke dalam stack (oleh program), dan melakukan pop off pada stack (oleh sistem operasi)




System Calls menyediakan interface pelayanan-pelayanan yang disediakan oleh sistem operasi, umumnya sebagai rutin-rutin yang ditulis dengan bahasa C atau C++, atau beberapa tugas yang mengakses hardware secara langsung menggunakan bahasa rakitan. Biasanya programmer lebih memilih Application Programming Interface (API) dibandingkan dengan low level programming.
Ada lima jenis system calls utama, yaitu:
a. Process control merupakan system calls yang mengendalikan proses-proses yang berjalan.
b. File manipulation adalah kumpulan system calls yang bertugas untuk melakukan manipulasi file seperti pembacaan, penulisan, penghapusan dan pengubahan.
c. Device manipulation adalah system calls yang mengatur penggunaan peralatan-peralatan yang terhubung pada mesin tersebut.
d. Information maintenance. System calls yang menghubungkan user dengan sistem operasi dalam hal berbagi informasi.
e. Communications. Ada dua model komunikasi yaitu pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi (Message-Passing) dan pertukaran dengan menggunakan memori (shared-memory).



Lalu berikut ini adalah tipe system call:
  • Manajemen Proses.  System call untuk manajemen proses diperlukan untuk mengatur proses-proses yang sedang berjalan. Kita dapat melihat penggunaan system calls untuk manajemen proses pada Sistem Operasi Unix. Contoh yang paling baik untuk melihat bagaimana system call bekerja untuk manajemen proses adalah ForkFork adalah satu satunya cara untuk membuat sebuah proses baru pada sistem Unix.

  • Manajemen Berkas. System calls yang berhubungan dengan berkas sangat diperlukan. Seperti ketika kita ingin membuat atau menghapus suatu berkas, atau ketika ingin membuka atau menutup suatu berkas yang telah ada, membaca berkas tersebut, dan menulis berkas itu. System calls juga diperlukan ketika kita ingin mengetahui atribut dari suatu berkas atau ketika kita juga ingin merubah atribut tersebut. Yang termasuk atribut berkas adalah nama berkas, jenis berkas, dan lain-lain. Ada juga system calls yang menyediakan mekanisme lain yang berhubungan dengan direktori atau sistem berkas secara keseluruhan. Jadi bukan hanya berhubungan dengan satu spesifik berkas. Contohnya membuat atau menghapus suatu direktori, dan lain-lain.

  • Manajemen Piranti. Program yang sedang dijalankan kadang kala memerlukan tambahan sumber daya. Jika banyak pengguna yang menggunakan sistem dan memerlukan tambahan sumber daya maka harus meminta peranti terlebih dahulu. Lalu setelah selesai, penggunaannnya harus dilepaskan kembali dan ketika sebuah peranti telah diminta dan dialokasikan maka peranti tersebut bisa dibaca, ditulis, atau direposisi.

  • System Call Informasi/Pemeliharaan. Beberapa system calls disediakan untuk membantu pertukaran informasi antara pengguna dan sistem operasi, contohnya adalah system calls untuk meminta dan mengatur waktu dan tanggal atau meminta informasi tentang sistem itu sendiri, seperti jumlah pengguna, jumlah memori dan disk yang masih bisa digunakan, dan lain-lain. Ada juga system calls untuk meminta informasi tentang proses yang disimpan oleh sistem dan system calls untuk merubah informasi tersebut.

  • Komunikasi. Dua model komunikasi:
    • Message-passing. Pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi.
    • Shared-memory. Proses menggunakan memori yang bisa digunakan oleh berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut. Dalam message-passing, sebelum komunikasi dapat dilakukan harus dibangun dulu sebuah koneksi. Untuk itu diperlukan suatu system calls dalam pengaturan koneksi tersebut, baik dalam menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika komunikasi sudah selesai dilakukan. Juga diperlukan suatu system calls untuk membaca dan menulis pesan (message) agar pertukaran informasi dapat dilakukan.
      Mekanisme komunikasi

      Sumber: Silberschatz,et.al, Operating System Concepts,6th e, .2003, New York:John Wiley & Son.Inc, halaman 72
      Dalam message-passing, sebelum komunikasi dapat dilakukan harus dibangun dulu sebuah koneksi.Untuk itu diperlukan suatu system calls dalam pengaturan koneksi tersebut, baik dalam menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika komunikasi sudah selesai dilakukan. Juga diperlukan suatu system calls untuk membaca dan menulis pesan(message ) agar pertukaran informasi dapat dilakukan.


      Reference:


Selasa, 06 Maret 2012

Mikroarsitektur dan Diagram Processor

Nama  : Satria Rafli Putra
NRP    : 113040144

Kelas   : C


Tugas Matakuliah Sistem Operasi
Dosen : Yoseph Ismail ST
Subjek Tugas :
“Tugas mengumpulkan informasi mengenai Mikroarsitektur dan Diagram Processor”.



Mikroarsitektur adalah sistem terkecil dari sebuah prosesor. Kalau prosesor adalah mobil, mikroarsitektur itu mesinnya. Dari “mesin” alias mikroarsitektur yang sama, bisa hadir prosesor untuk prosesor desktop, notebook, sampai server.
Sandy Bridge sendiri adalah periode Tock dari strategi Tick-Tock Intel. Jika Anda belum tahu, Tick-Tock adalah pedoman Intel untuk mengembangkan mikroarsitekturnya secara terpola. Tick adalah ketika Intel mengecilkan fabrikasi. Tock adalah ketika Intel membuat mikroarsitektur baru.
Pada tiap perubahan, Intel bisa mengeluarkan 1 sampai 3 keluarga prosesor yang biasanya ditandai dengan code name tertentu. Agar Anda tidak bingung, berikut adalah ritme ticktocksejak era pertama kali diperkenalkan, 2 tahun lalu.
MIKROARSITEKTUR
CODE NAME PROSESOR
Tick
Tock
Desktop Hi-End
Desktop
Notebook
NetBurst (65 nm)

Presler
Cedar Mill
Yonah

Core (65 nm)
Kentsfield
Conroe
Merom
Penryn (45 nm)

Yorkfield
Wolfdale
Penryn

Nehalem (45 nm)
Bloomfield
Lynnfield
Clarkfield
Westmere (32 nm)

Gulftown
Clarkdale
Arrandale

Sandy Bridge (32 nm)
Belum ada
Sandy Bridge-DT
Sandy Bridge-NB
Apakah berarti overclock menjadi mati? Tidak , hanya lebih terbatas. Satu-satunya cara adalah menaikkan multiplier prosesor. Kecepatan prosesor adalah hasil kali multiplier dengan BCLK.
Namun perlu dicatat jika sebagian besar prosesor Sandy Bridge multiplier-nya dikunci. Yang dibuka hanya prosesor Sandy Bridge dengan akhiran “K”, yaitu Core i5 2500K (4 inti, 3,3 GHz, tanpa HyperThreading) dan Core i7 2600K (4 inti, 3,4 GHz, dengan HyperThreading).
Mikroarsitektur prosesor adalah deskripsi rangkaian elektrik komponen penyusun mikroprosesor yang menggambarkan selengkapnya opersi dari sistem hardware mikroprosesor itu sendiri. Istilah mikroarsitektur sering di singkat dalam bahasa Inggris dengan tulisan uarch.Mikroarsitektur (arsitektur mikro) bersama aritektur set instruksi (Instruktion Set Architekture = ISA) merupakan dasar arsitektur komponen.
Setiap mikroprosesor pasti dibangun berdasar mikroarsitektur tertentu, baik mikroprosesor produk Intel maupun mikroprosesor AMD. Pada awalnya, semua perusahaan produsen prosesor selalu menggunakan mikroarsitektur milik Intel untuk membangun mikroprosesor produksinya. Namun, pada perkembangan berikutnya, masing-masing perusahaan membuat dan mengembangkan sendiri arsitektur mikroprosesornya. Misalnya perusahaan AMD, sejak merilis mkroprosesor buatannya sendiri, yaitu mikroprosesor keluarga K5, AMD menggunakan mikroarsitektur hasil desainnya sendiri. Tidaklagi adopsi secara penuh milik arsitektur dari perusahaan lain. Sampai April tahun 2008, AMD telah mengaplikasikan desain mikroarsitekturnya yang terus diperbaharui, mulai dari mikroarsitektur K5 hingga mikroarsitektur K10.
Perusahaan Intel, sejak awal dikenal sebagai pelopor pembuatan mmikroprosesor golongan x86. Perusahaan ini terus-menerus mengembangkan mikroprosesornya. Berikut ini akan disajikan pembahasan mikroarsitektur tersebut, yang dimulai dari mikroarsitektur Intel P6yang dugunakan untuk membangun mikroprosesor Intel Pentium Pro, Pentium II dan Pentium III, sampai mikroarsitektur terakhir yang digunakan pada tahun 2010. Mikroarsitektur terdahulu, sebelum Intel P6, sengaja tidak dibahas dalam artikel ini, karena sudah tidak digunakan lagi.

  1. Mikroarsitektur Intel P6
  2. Mikroarsitektur Netburst
  3. Mikroarsitektur Intel P6 yang diperbaiki (penggunaan kembali Mikroarsitektur Intel P6)
  4. Mikroarsitektur Intel Core
  5. Mikroarsitektur Nehalem
  6. Mikroarsitektur Westmere
Mengenai Diagram Processor,dibawah ini merupakan diagram dari processor AMD juga Intel,berikut adalah gambarnya :