Tuesday, October 18, 2011

DDR-RAM? Cache pada DRAM?

What is DDR-RAM? And how about the issue adding more cache on the DRAM memory?
DDR-RAM (Double Data Rate - RAM) adalah salah satu jenis memori pada komputer. Istilah DDR ini sebenar mengacu pada kemampuan RAM DDR untuk menghasilkan bandwith yang hampir 2x lipat dibandingkan RAM SDR (Single Data Rate) pada frekuensi clock yang sama.

Dibandingkan dengan SDR, interface DDR mengontrol lebih ketat clock signals. Caranya, interface menggunakan double pumping untuk mentransfer data baik pada saat sinyal naik dan juga saat sinyal turun. Dengan demikian DDR membutuhkan clock frequency yang lebih rendah untuk mentransfer data yang sama jika dibanding dengan SDR. Keuntungannya adalah mengurangi kebutuhan integritas sinyal yang menghubungkan memori dengan controller.

Monday, October 17, 2011

Mengapa RAM? Mengapa Random? SRAM? DRAM?

Mengapa SRAM lebih cepat jika dibandingkan dengan DRAM?
Menurut informasi sementara, hal ini dikarenakan adanya mekanisme refreshing pada DRAM. Pada saat refreshing dijalankan, memory tidak dapat dibaca.

Mengapa disebut random akses?
RAM disebut "random access" karena setiap lokasi penyimpanan di RAM dapat diakses secara langsung. Adalah IBM yang mempopulerkan istilah direct access storage atau memori (RAM). Ditinjau dari sudut pandang organisasi komputer, RAM dibuat dan dikontrol agar data dapat disimpan dan diakses/diambil secara langsung ke lokasi tertentu. http://whatis.techtarget.com/definition/0,,sid9_gci523855,00.html
Sebenarnya istilah random akses tidak mutlak milik RAM saja, karena contoh penyimpanan yang lain (seperti hard disk dan CD-ROM) juga accessed directly (or "randomly") tetapi istilah random access tidak diterapkan pada bentuk penyimpanan ini.



What RAM Looks Like

In general, RAM is much like an arrangement of post-office boxes in which each box can hold a 0 or a 1. Each box has a unique address that can be found by counting across columns and then counting down by row. In RAM, this set of post-office boxes is known as an array and each box is a cell. To find the contents of a box (cell), the RAM controller sends the column/row address down a very thin electrical line etched into the chip. There is an address line for each row and each column in the set of boxes. If data is being read, the bits that are read flow back on a separate data line. In describing a RAM chip or module, a notation such as 256Kx16 means 256 thousand columns of cells standing 16 rows deep.

In the most common form of RAM, dynamic RAM, each cell has a charge or lack of charge held in something similar to an electrical capacitor. A transistor acts as a gate in determining whether the value in the capacitor can be read or written. In static RAM, instead of a capacitor-held charge, the transistor itself is a positional flip/flop switch, with one position meaning 1 and the other position meaning 0.

Externally, RAM is a chip that comes embedded in a personal computer motherboard with a variable amount of additional modules plugged into motherboard sockets. To add memory to your computer, you simply add more RAM modules in a prescribed configuration. These are single in-line memory modules (SIMMs) or dual in-line memory modules (DIMMs). Since DIMMs have a 64-bit pin connection, they can replace two 36-bit (32-bits plus 4 parity bits) SIMMs when synchronous DRAM is used. Laptop and notebook computers contain smaller 32-bit DIMMs known as small outline DIMMs (SO DIMMs).

How Data Is Accessed

When the processor or CPU gets the next instruction it is to perform, the instruction may contain the address of some memory or RAM location from which data is to be read (brought to the processor for further processing). This address is sent to the RAM controller. The RAM controller organizes the request and sends it down the appropriate address lines so that transistors along the lines open up the cells so that each capacitor value can be read. A capacitor with a charge over a certain voltage level represents the binary value of 1 and a capacitor with less than that charge represents a 0. For dynamic RAM, before a capacitor is read, it must be power-refreshed to ensure that the value read is valid. Depending on the type of RAM, the entire line of data may be read that the specific address happens to be located at or, in some RAM types, a unit of data called a page is read. The data that is read is transmitted along the data lines to the processor's nearby data buffer known as level-1 cache and another copy may be held in level-2 cache.

For video RAM, the process is similar to DRAM except that, in some forms of video RAM, while data is being written to video RAM by the processor, data can simultaneously be read from RAM by the video controller (for example, for refreshing the display image).


How Memory Access Works
Information is stored by first separating the memory area into rows and columns. The capacity of the individual chips determines the number of rows and columns per module. When several arrays are combined, they create memory banks.

The chips are actually accessed by means of control signals such as row address strobe (RAS), column address strobe (CAS), write enable (WE), chip select (CS) and several additional commands (DQ). You also need to know something about which row is active in the memory matrix at any given moment.

In today's computers, a command rate is defined in BIOS - generally 1-2 cycles. This describes the amount of time it takes for the RAS to be executed after the memory chip has been selected.

The memory controller selects the active row. But before the row will actually become active so that the columns can be accessed, the controller has to wait for 2-3 cycles - tRCD (RAS-to-CAS delay). Then it sends the actual read command, which is also followed by a delay - the CAS latency. For DDR RAM, CAS latency is 2, 2.5 or 3 cycles. Once this time has lapsed, the data will be sent to the DQ pins. After the data has been retrieved, the controller has to deactivate the row again, which is done within tRP (RAS precharge time).

There is one more technical restriction - tRAS (active-to-precharge delay). This is the fewest number of cycles that a row has to be active before it can be deactivated again. 5-8 cycles are about average for tRAS.

Memory timings are generally cited in order of importance:
http://www.tomshardware.com/reviews/ups-downs,743-3.html


How RAM Effectiveness is Measured

The amount of time that RAM takes to write data or to read it once the request has been received from the processor is called the access time. Typical access times vary from 9 nanoseconds to 70 nanoseconds, depending on the kind of RAM. Although fewer nanoseconds is better, user-perceived performance is based on coordinating access times with the computer's clock cycles. Access time consists of latency and transfer time. Latency is the time to coordinate signal timing and refresh data after reading it.

Buktikan bahwa tipe RAM pada laptop & PC berjenis DRAM (Dynamic RAM)

Kalimat yang menjadi judul di atas meluncur dari dosen Arsitektur dan Organisasi Komputer ketika pembahasan mengenai memory. Terus terang susah-susah gampang menjawab pertanyaan tersebut, karena diawali dengan kata perintah "buktikan!!"..

Sebenarnya, klo pengen menjawab sambil lalu, bisa saja kita jelaskan dari spesifikasi RAM yang banyak tertera di brosur pameran. Contoh :
RAM : 1 GB DDR SDRAM

Itu kan artinya RAM tersebut sebesar 1 GB bertipe DDR SDRAM atau (Double Data Rate - Synchronous Dynamic RAM). Tuh ada kata "Dynamic RAM"nya. Berarti DRAM kan?! :)

Oke deh.. Untuk mencoba membuktikannya, kita awali dari pembahasan DRAM.
DRAM (Dynamic Random Access Memory; Dynamic RAM) adalah jenis RAM yang paling banyak dipakai untuk komputer workstation dan PC (http://searchstorage.techtarget.com/definition/DRAM). DRAM menyimpan data pada sebuah kapasitor. Seperti kita ketahui. Kapasitor dapat bernilai 0 dan 1. Bernilai 0 jika kapasitor dalam keadaan discharged dan bernilai 1 jika dalam keadaan charged. Pada saat kapasitor bernilai 1 itulah kapasitor tersebut dapat menyimpan bit-bit data.

Namun karena sifat kapasitor yang mudah kehilangan catu daya (efeknya adalah kehilangan kekuatan untuk menyimpan data) maka dibutuhkan suatu mekanisme refresh untuk me-charge kembali kapasitor agar kembali bernilai 1. Mekanisme refresh inilah yang membedakan DRAM dengan SRAM (Static RAM).

Dahulu, DRAM dibuat dalam bentuk DRAM IC individual. Namun pada perkembangannya, DRAM dibuat dalam bentuk multichips plugin modul. Berikut adalah tipe-tipe modul standar DRAM :
  • Dual In-line Package (DIP) -- merupakan produk yang tersusun dari DRAM IC individu. Terdiri dari 16 pin. Digunakan oleh pre-FPRAM.
  • Single In-line Pin Package (SIPP)
  • Single In-line Memory Module (SIMM). SIMM 30 pin digunakan oleh FPRAM. SIMM 72 pin digunakan oleh EDO-RAM.
  • Dual In-line Memory Module (DIMM). DIMM 168-pin (SDRAM). DIMM 184-pin (DDR SDRAM). DIMM 240-pin (DDR2 SDRAM/DDR3 SDRAM)
  • Rambus In-line Memory Module (RIMM). RIMM 184-pin (RDRAM)
  • Small outline DIMM (SO-DIMM). 
    • SO-DIMM 144-pin (64-bit) used for PC100/PC133 SDRAM
    • SO-DIMM 200-pin (72-bit) used for DDR and DDR2
    • SO-DIMM 204-pin (64-bit) used for DDR3
Dari penjelasan DRAM di atas, terlihat bahwa modul-modul DRAM digunakan untuk membangun RAM berjenis SIMM (untuk RAM bertipe Edo-RAM), DIMM (untuk RAM bertipe SDRAM hingga DDR) dan SO-DIMM (untuk RAM yang digunakan laptop/netbook). Nah..
Berarti sekarang dapat disimpulkan bahwa RAM yang terdapat di laptop dan PC adalah RAM yang berjenis DRAM :)

Saturday, October 15, 2011

Test Power Supply Unit (PSU)

Dapat info berharga dari blog lain (http://agussale.com/tes-kerusakan-power-supply-unit). Eman-eman klo cuman dibaca begitu saja. Bisa lupa. Karenanya tak coba menulis ulang dalam gaya bahasa sendiri.. Check it out..

Jika suatu saat ketika tombol Power On dipencet namun ternyata PC kesayangan anda diam saja tanpa memberikan reaksi, bisa jadi salah satu penyebabnya adalah karena kerusakan PSU, tapi bisa juga bukan.. Bisa jadi prosesornya, bisa jadi motherboardnya.. Nah lo, terus yang mana yang rusak?



Nah ada satu teknik sederhana untuk tes apakan PSU kita rusak atau masih berfungsi. Disebut sederhana, karena tidak perlu alat (misal : multitester) yang belum tentu kita memilikinya. Disebut sederhana, karena untuk melakukan tes ini hanya butuh kabel. Sembarang kabel kecil berukuran 10/15 cm saja.



Oke kita mulai..
Pertama, kita copot dulu kabel AC In dari stop kontak ke PSU. Kemudian copot juga kabel output PSU dari Mainboard.

Berikutnya siapkan kabel kecil yang telah dikupas sedikit dikedua ujungnya. Ujung satu dari kabel kecil ini dicolokkan ke konektor yang berwarna hijau. Kenapa harus hijau? Karena kabel hijau itu berfungsi sebagai DC-ON.

Sedangkan ujung dari kabel kecil lainnya dicolokkan ke konektor yang berwarna hitam (bebas, hitam yang mana saja). Kenapa harus hitam? Good Question, dlm ilmu elektronika, kabel hitam biasa difungsikan sebagai kabel ground. Lalu apa tidak boleh dicolokkan ke kabel lain?

Wah, kritis nih.. :)
Boleh, asalkan satu ujung kabel kecil di warna hijau, lainnya boleh dicolokkan ke konektor warna lain.. Sudah?



Jika sudah, kemudian colokkan kabel AC In dari stop kontak ke PSU. Jika kipas PSU nyala berputar, berarti PSU kita masih OK. Jika tidak, coba periksa sekali lagi apa kabel kecil kita sudah nancap dengan baik ke konektor? Jika iya, berarti ya... sudah saatnya kita beli PSU baru.. :)

Wednesday, October 5, 2011

Intelligent Agent (Sebuah teori Kecerdasan Buatan dalam Software Engineering)


Ternyata apa yang selama ini dijalani bukan hanya menjadikan seperti katak dibawah tempurung, tapi seperti katak dibawah tempurung dibawah helm. Dunia diluar sana jauh lebih berwarna ternyata. Hehe..

Dikira intelligent agents adalah sebuah teori baru dalam software engineering, tapi ternyata diluar sana sudah sedemikian pesat. Okelah, gak apa2. Kita shared saja apa sudah diketahui. Silahkan..

Definisi
Guralnik (1983) menjabarkan definisi agen yang diperolehnya dari kamus Webster’s New World Dictionary, sebagai :
A person or thing that acts or is capable of acting or is empowered to act, for another

Dari kalimat tersebut Wahono (2001) menjabarkan dua poin penting pengertian agen :

  • Agen mempunyai kemampuan untuk melakukan suatu tugas/pekerjaan
  • Agen melakukan tugas/pekerjaan tersebut dalam kapasitas untuk sesuatu atau untuk orang lain.

Kemudian Caglayan et al., (1997), mendefinisikan software agent sebagai : Suatu software komputer yang memungkinkan user mendelegasikan tugas/pekerjaan kepadanya dan software komputer tersebut mampu bekerja secara mandiri (autonomously).
Pada prakteknya dalam suatu sistem dimungkinkan terdapat lebih dari satu agent yang saling bekerja sama. Sistem agent dengan lebih dari satu agent disebut multi agent system (MAS). Multi agent System adalah suatu paradigma pengembangan sistem dimana dalam suatu komunitas sistem terdapat beberapa agent, yang saling berinteraksi, bernegosiasi dan berkoordinasi satu sama lain dalam menjalankan pekerjaan (Romi, 2001)

Karakteristik Agent
Wahono (2001) merangkum karakteristik yang dimiliki software-software agent saat ini :
  1. Autonomy
    Agent harus dapat melakukan tugas secara mandiri tanpa dikontrol secara langsung oleh user, agent lain ataupun oleh lingkungan (environment). Woolridge et al., (1995) menyatakan agent harus dapat mengontrol aksi yang mereka perbuat. Dan kemampuan ini berbanding lurus dengan intelligence dari agent.
  2. Intelligence, Reasoning dan Learning
    Karakteristik ini merupakan karakteristik dasar untuk bisa disebut agent. Pada konsep intelligence, ada tiga komponen yang harus dimiliki : internal knowledge base, kemampuan reasoning berdasar pada knowledge base yang dimiliki dan kemampuan learning untuk beradaptasi terhadap lingkungan.
  3. Reactivity
    Karakteristik  agent  yang lain adalah kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan informasi yang ada didalam suatu lingkungan (environment). Lingkungan itu bisa mencakup:  agent lain, user, adanya informasi dari luar, dsb  (Brenner et. al., 1998)
  4. Proactivity dan Goal-Oriented
    Proactivity boleh dikata adalah kelanjutan dari sifat  reactivity.  Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil  (Brenner et. al., 1998). Untuk itu  agent  harus didesain memiliki tujuan  (goal) yang jelas, dan selalu berorientasi kepada tujuan yang diembannya (goal-oriented).
  5. Communication and Coordination Capability
    Agent harus memiliki kemampuan berkomunikasi dengan user dan juga  agent  lain. Misalkan masalah komunikasi dengan user (termasuk user interface dan perangkatnya), kemudian masalah koordinasi, dan kolaborasi dengan agent lain menjadi isu penting dalam pengembangan Multi Agent System (MAS). Untuk dapat berkoordinasi dengan agent lain dalam menjalankan tugas, diperlukan bahasa standard untuk berkomunikasi. Salah satu contoh bahasa dan protokol komunikasi antar agent adalah Knowledge Query and Manipulation Language (KQML) dan Knowledge Interchange Format (KIF).

Ada satu contoh aplikasi sederhana yang cukup menarik. Namanya Ant Lines. 
Screen shootnya seperti berikut :

Contoh program ini memodelkan perilaku semut ketika mengikuti pemimpinnya menuju sumber makan. Si pemimpin bergerak menuju makanan secara acak, kemudian dengan jeda kecil, semut kedua mengikuti dengan jalur langsung menuji sipemimpin berada. Setiap semut berikutnya mengikuti semut didepannya dengan cara yang sama.
Meskipun si semut pemimpin mungkin mengambil jalur yang sangat memutar untuk menuju sumber makanan, secara mengejutkan jejak semut mengadopsi bentuk yang halus. Meskipun belum jelas apakah model ini adalah model biologis akurat dari perilaku semut, ini adalah eksplorasi matematika dari perilaku yang muncul dari serangkaian agen yang saling mengikuti secara serial.

Friday, September 23, 2011

Artificial Intelligence (Gasal 2011)

Materi Perkuliahan :
  1. Kontrak Kuliah
    GBPP MK Artificial Intelligence/Kecerdasan Tiruan bisa download disini : http://www.4shared.com/document/GdwlUC5_/gbpp-kecerdasan-buatan.html
  2. Pengantar dan Penjelasan Umum AI
    Materi Penjelasan Umum AI bisa didownload disini : http://www.4shared.com/document/Yeefm4x3/Pert1-PendahuluanAI.html
    Pada bagian ini dibahas mengenai definisi dan history dari bidang ilmu AI. Kemudian ada pembahasan mengenai komponen dasar AI, perbedaan antara AI dan kecerdasan alami serta contoh-contoh penerapan teknologi AI yang telah ada di dunia ini.
  3. Masalah dan Ruang Keadaan (atau Problems and State Space)
    Materi Masalah dan Ruang Keadaan bisa didownload disini : http://www.4shared.com/document/qiTb60Uc/pert2-MasalahDanRuangKeadaan.html
    Inti dari bagian ini adalah sharing mengenai teknik penyelesaian masalah. Bagaimana kita dapat mendefinisikan sebuah masalah dengan tepat. Ruang keadaan atau state space dibahas tuntas untuk menguraikan masalah hingga tujuan yang diharapkan.
  4. Pelacakan/Pencarian (Searching)
    Materi bisa didownload disini : http://www.4shared.com/document/7SJS9xfZ/pert3-PencarianDanPelacakan.html
    Inti dari materi ini adalah mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space)

    Oke, sebelum kita lanjutkan ke materi selanjutnya. Saya ingin anda-anda mengerjakan tugas mandiri ini terlebih dahulu.

    Jelaskan dengan disertai contoh kasus, mengapa permasalahan harus dijabarkan ke dalam ruang keadaan dan diperdalam dengan teknik pencarian? Bagaimana jika tidak menggunakan kedua metode tersebut?

    Anda jawab bersama teman (1 lembar jawaban dikerjakan oleh 2 mahasiswa) dan dikirim ke email saya paling lambat hari Kamis 27 Okt 2011 jam 17.00 WIB.
  5. Representasi Pengetahuan

    ==================================
    Kisi-kisi ujian mid AI gasal 2011 :
    • Dua soal mengenai logika teori. Anda akan diminta untuk menjelaskan sebuah teori yang ada didalam dunia AI disertai dengan contoh.
    • Anda juga diminta membuat ruang keadaan untuk dua buah kasus yang sudah saya tentukan di soal. Jadi banyak latihan membuat ruang keadaan akan sangat membantu
    • Anda juga akan diminta untuk membuat pencarian terhadap sebuah kasus.
    • Total soal ada 4 untuk dikerjakan selama 90 menit.
    • Semoga sukses..
    ==================================
    Jawaban mid gasal 2011, bisa anda download disini : http://www.4shared.com/document/NBoPqxAL/mid__ganjil_1112_ai-jawaban.html
    Untuk nilainya sabar ya.. Sedang saya perjuangkan.. :)
    ==================================
    • Ketidakpastian
      Inti dari materi ini adalah bagaimana merepresentasikan permasalahan yang mengandung unsur ketidakpastian. Materi ini bisa anda download disini : http://www.4shared.com/document/dvMcHir5/pert6-representasi-ketidakpast.html
    • Sistem Pakar
      Slide kuliah bisa didownload disini : http://www.4shared.com/office/aPCNJHdj/pert7-sistem-pakar.html. Silahkan juga dibaca suplement bacaan yang saya ambil dari tulisan Ari Fadli di web IlmuKomputer.Com : http://www.4shared.com/office/C249viP1/pert7-Supl-Ari_Fadli_Sistem_Pa.html.
    • Logika Samar
    • Jaringan Syaraf Tiruan
      Slide kuliah silahkan didownload disini : http://www.4shared.com/office/f40rilEI/pert9-jst.html
    • Algoritma Genetika
    ===========================
    Nilai akhir anda :
    UAS MID Harian Skala 100 Skala 5 Huruf
    anthony 70 72 80 85 4 A
    eksyan 65 56 69 72.85714 3.2 B
    pranoto 73 62 83 85 4 A
    ali 60 68 69 73.42857 3.4 B
    tri putra 78 87 79 85 4 A
    maryanto 69 67 75 80 3.7 B
    agus 67 73 67 78.28571 3.7 B
    bayu 70 69 69 79.42857 3.7 B
    febri 55 64 56 65.71429 2.6 C
    hendra 57 38 60 60.57143 2.1 C