tugas bahasa rakitan
Pengertian RAM
RAM
merupakan singkatan dari Random Access Memory biasanya disebut dengan istilah
pendek yaitu Memori. Memory atau RAM merupakan sebuah perangkat keras komputer
yang berfungsi sebagai tempat penyimpanan data sementara. Memory bekerja dengan
menyimpan dan menyuplai data-data penting yg dibutuhkan Processor dengan cepat
untuk diolah menjadi informasi.
Memori (Memory) :
Memori berfungsi menyimpan
sistim aplikasi, sistem pengendalian, dan data yang sedang beroperasi atau
diolah. Semakin besar kapasitas memori akan meningkatkan kemapuan komputer
tersebut. Memori diukur dengan KB atau MB.
Jenis memori yang terdapat dipasaran diantaranya :
1. SIMM (Single in-line memory module)
Mempunyai kapasitasz 30 atau 72
pin. Memori SIMM 30 pin untuk kegunaan PC zaman 80286 sehingga 80486 dan
beroperasi pada 16 bit. Memory 72 pin banyak digunakan untuk PC berasaskan
Pentium dan beroperasi pada 32 bit. Kecepatan dirujuk mengikuti istilah ns (nano
second) seperti 80ns, 70ns, 60ns dan sebagainya. Semakin kecil nilainya maka
kecepatan lebih tinggi. DRAM (dynamic RAM) dan EDO RAM (extended data-out RAM)
menggunakan SIMM. DRAM menyimpan bit di dalam suatu sel penyimpanan (storage
sell) sebagai suatu nilai elektrik (electrical charge) yang harus di-refesh
beratus-ratus kali setiap saat untuk menetapkan (retain) data. EDO RAM sejenis
DRAM lebih cepat, EDO memakan waktu dalam output data, dimana ia memakan waktu
di antara CPU dan RAM. Memori jenis ini tidak lagi digunakan pada komputer
akhir-akhir ini .
2. DIMM (dual in-line memory module)
Berkapasitas 168 pin, kedua
belah modul memori ini aktif, setiap permukaan adalah 84 pin. Ini berbeda
daripada SIMM yang hanya berfungsi pada sebelah modul saja. Menyokong 64 bit
penghantaran data. SDRAM (synchronous DRAM) menggunakan DIMM. Merupakan
penganti dari DRAM, FPM (fast page memory) dan EDO. SDRAM pengatur
(synchronizes) memori supaya sama dengan CPU clock untuk pemindahan data yang
lebih cepat. dan terdapat dalam dua kecepatan iaitu 100MHz (PC100) dan 133MHz
(PC133).
3. DDR SDRAM (double-data-rate SDRAM)
Ciri-ciri DDR SDRAM sama dengan
SDRAM, tetapi pemindahan data (data transfer) mendekati kecepatan sistem jam
(system clock) dan ini secara teori meningktkan kecepatan SDRAM. Dahulu
digunakan sebagai memori untuk card terpisah tetapi pada saat ini pabrik
komputer membuatnya pada modul memori untuk motherboard sebagai satu jalan
alternatif untuk pengganti SDRAM yang mempunyai 184 pin dan terdapat dalam tiga
kecpatan yaitu 266MHz, 333MHz dan 400MHz.
4. DRDRAM (direct Rambus DRAM)
Dulu dikenali sebagai RDRAM.
Adalah sejenis SDRAM yang dibuat oleh Rambus. DRDRAM digunakan untuk CPU dari
Intel yang berkecepatan tinggi. Pemindahan data sama seperti DDR SDRAM tetapi
mempunyai dua saluran data untuk meningkatkan kemampuan. Juga dikenali sebagai
PC800 yang kerkelajuan 400MHz. Beroperasi dalam bentuk 16 bit bukan 64 bit.
Pada saat ini terdapat DRDRAM berkecepatan 1066MHz yang dikenal dengan RIMM
(Rambus inline memory module). DRDRAM model RIMM 4200 32-bit menghantar 4.2gb
setiap saat pada kecepatan 1066MHZ.
Microprocessor
Latar Belakang Processor
Processor
merupakan bagian sangat penting dari sebuah komputer, yang berfungsi sebagai
otak dari komputer. Tanpa processor komputer hanyalah sebuah mesin dungu yang
tak bisa apa-apa. Processor yang kita pakai saat ini sudah sangat cepat sekali.
Tentu saja untuk mencapai kecepatan sampai saat ini processor tersebut
mengalami perkembangan.
Jajaran Processor Intel
Mendatang
Menurut berita dari Intel, beberapa
tipe processor saat ini sedang dalam tahap pengembangan. Dan tidak menutup
kemungkinan dalam waktu dekat ini akan diluncurkan lagi beberapa processor
baru, namun tentunya masih menggunakan core processor yang sama. Contohnya
seperti Core 2 Extreme X6900 yang mempunyai clock speed 3.2 GHz, dengan FSB,
shared L2 cache, socket, dan TDP yang sama dengan X6800. Sedangkan dalam
kuartal keempat tahun ini, kabarnya pihak Intel juga akan meluncurkan Core 2
Extreme X8000 dengan clock speed 3.33 GHz dan FSB sebesar 1333 MHz QDR. Core processor lain, seperti Allendale dan
Merom juga mempunyai tipe-tipe baru yang akan dikeluarkan tidak lama lagi.
Allendale dengan E4300 yang mempunyai clock speed 1.8 GHz dan FSB sebesar 800
MT/s akan diluncurkan pada kuartal pertama tahun depan. Sedangkan, Merom yang
sedianya akan diluncurkan pada April tahun depan akan mempunyai Front Side Bus
(FSB) sebesar 800 MT/s lebih besar dari tipe sebelumnya dengan tambahan socket
baru yang dinamakan socket P. Selain itu, core Kentsfield yang dalam beberapa
bulan lalu sempat menjadi bahan pembicaraan karena Kentsfi eld mempunyai dua
buah dual core processor dalam satu processor, sehingga bisa dikatakan
Kentsfield memiliki empat buah core processor dengan jenis Conroe (Quad-Core
Conroe). Kentsfield itu sendiri oleh pihak Intel akan diluncurkan pada kuartal
keempat tahun ini.
Segmentasi
Salah
satu aspek penting dari managemen memori yang tidak dapat dihindari dari
pemberian halaman adalah pemisahan cara pandang pengguna dengan tentang
bagaimana memori dipetakan dengan keadaan yang sebenarnya. Pada kenyataannya
pemetaan tersebut memperbolehkan pemisahan antara memori logis dan memori
fisik.
Metode Dasar
Bagaimanakah
cara pandang pengguna tentang bagaimana memori dipetakan? Apakah pengguna
menganggap bahwa memori dianggap sebagai sebuah kumpulan dari byte-byte, yang
mana sebagian berisi instruksi dan sebagian lagi merupakan data, atau apakah
ada cara pandang lain yang lebih layak digunakan? Ternyata programmer dari
sistem tidak menganggap bahwa memori adalah sekumpulan byte-byte yang
linear. Akan tetapi, mereka lebih senang dengan menganggap bahwa memori adalah
sebagai kumpulan dari segmen-segmen yang berukuran beragam tanpa adanya
pengurutan penempatan dalam memori fisik.
Ketika
kita menulis suatu program, kita akan menganggapnya sebagai sebuah program
dengan sekumpulan dari subrutin, prosedur, fungsi, atau variabel. mungkin juga
terdapat berbagai macam struktur data seperti: tabel, array, stack,
variabel, dsb. Tiap-tiap modul atau elemen-elemen dari data ini dapat
di-referensikan dengan suatu nama, tanpa perlu mengetahui dimana alamat
sebenarnya elemen-elemen tersebut disimpan di memori. dan kita juga tidak perlu
mengetahui apakah terdapat urutan penempatan dari program yang kita buat. Pada
kenyataannya, elemen-elemen yang terdapat pada sebuah segmen dapat ditentukan
lokasinya dengan menambahkan offset dari awal alamat segmen tersebut.
Segmentasi
adalah sebuah bagian dari managemen memori yang mengatur pengalamatan dari
memori yang terdiri dari segmen-segmen. logical address space adalah
kumpulan dari segmen-segmen yang mana tiap-tiap segmen mempunyai nama dan
panjang. alamat tersebut menunjukkan alamat dari segmen tersebut dan offset-nya
didalam segmen-segmen tersebut. pengguna kemudian menentukan pengalamatan dari
setiap segmen menjadi dua bentuk, nama segmen dan offset dari segmen tersebut
(Hal ini berbeda dengan pemberian halaman, dimana pengguna hanya menentukan
satu buah alamat, dimana pembagian alamat menjadi dua dilakukan oleh perangkat
keras, semua ini tidak dapat dilihat oleh user).
Untuk
kemudahan pengimplementasian, segmen-segmen diberi nomor dan direferensikan
dengan menggunakan penomoran tersebut, daripada dengan menggunakan nama. maka, logical
address space terdiri dari dua tuple yaitu: (nomor-segmen, offset)
Pada umumnya, program dari pengguna akan dikompilasi, dan kompilator tersebut
akan membuat segmen-segmen tersebut secara otomatis. Jika mengambil contoh
kompilator dari Pascal, maka kemungkinan kompilator tersebut akan membuat
beberapa segmen yang terpisah untuk
1. Variabel
Global;
2. Prosedur
dari pemanggilan stack, untuk menyimpan parameter dan pengembalian alamat;
3. Porsi
dari kode untuk setiap prosedur atau fungsi; dan
4. Variabel
lokal dari setiap prosedur dan fungsi.
Perangkat Keras
Walau
pun pengguna sekarang dapat mengacu ke suatu objek yang berada di dalam program
dengan menggunakan pengalamatan secara dua dimensi, akan tetapi, pada
kenyataannya tetap saja pada memori fisik akan dipetakan ke dalam pengalamatan
satu dimensi yang terdiri dari urutan dari byte-byte. Maka, kita harus
mendefinisikan suatu implementasi untuk memetakan pengalamatan dua dimensi yang
dilakukan oleh pengguna ke dalam pengalamatan satu dimensi yang terdapat di
memori fisik. pemetaan ini dapat di lakukan dengan menggunakan tabel segmen.
Setiap anggota dari tabel segmen mempunyai basis dan limit yang akan menentukan
letak dari segmen tersebut di dalam memori.
Kegunaan
tabel segmen dapat dilihat pada gambar alamat logis terdiri dari dua
bagian: bagian segmen, s, dan bagian offsetnya, d. Nomor dari segmen tersebut
akan digunakan sebagai index di dalam tabel segmen. Offset dari d di alamat
logis sebaiknya tidak melebihi limit dari alamat segmen, jika ini terjadi, maka
sistem operasi sebaiknya dapat mengatasi hal ini, dengan melakukan trap.
Pemeliharaan dan Pembagian
Dengan
dilakukannya pengelompokan antara segmen-segmen yang sama, maka pemeliharaan
dari segmen tersebut dapat menjadi lebih mudah, walau pun didalam segmen
tersebut sebagian berisi instruksi dan sebagian lagi berisi data. Dalam
arsitektur modern, instruksi-instruksi yang digunakan tidak dapat diubah tanpa
campur tangan pengguna, oleh karena itu, segmen yang berisi instruksi dapat
diberi label read only atau hanya dapat dijalankan saja. Perangkat keras
yang bertugas untuk melakukan pemetaan ke memori fisik akan melakukan
pemeriksaan terhadap bit proteksi yang terdapat pada segmen, sehingga
pengaksesan memori secara ilegal dapat dihindari, seperti suatu usaha untuk
menulis ke area yang berstatus tidak boleh dimodifikasi.
Keuntungan
lain dari segmentasi adalah menyangkut masalah pembagian penggunaan kode atau
data. Setiap proses mempunyai tabel segmennya sendiri, dimana ini akan
digunakan oleh dispatcher untuk menentukan tabel segmen dari perangkat
keras yang mana akan digunakan ketika proses yang bersangkutan di eksekusi oleh
CPU. Segmen akan berbagi ketika anggota dari elemen tabel segmen yang berasal
dari dua proses yang berbeda menunjuk ke lokasi fisik yang sama. Pembagian
tersebut terjadi pada level segmen, maka, informasi apa pun dapat dibagi jika
didefinisikan pada level segmen. Bahkan beberapa segmen pun dapat berbagi,
sehingga sebuah program yang terdiri dari beberapa segmen pun dapat saling
berbagi pakai.
Fragmentasi
Penjadwalan
jangka-panjang harus mencari dan mengalokasikan memori untuk semua segmen dari
program pengguna. Situasi ini mirip dengan pemberian halaman kecuali bahwa
segmen-segmen ini mempunyai panjang yang variabel; sedangkan pada halaman,
semua mempunyai ukuran yang sama. maka, masalah yang dihadapi adalah
pengalamatan memori secara dinamis, hal ini biasanya dapat diselesaikan dengan
menggunakan algoritma best-fit atau algoritma first-fit.
Segmentasi
dapat menyebabkan terjadi fragmentasi eksternal, ini terjadi ketika semua blok
memori yang dapat dapat dialokasikan terlalu sedikit untuk mengakomodasi sebuah
segmen. Dalam kasus ini, proses hanya harus menunggu sampai terdapat cukup
tempat untuk menyimpan segmen tersebut di memori, atau, melakukan suatu
pemampatan dapat digunakan untuk membuat ruang kosong dalam memori menjadi
lebih besar. Karena segmentasi pada dasarnya adalah algoritma penempatan secara
dinamis, maka kita dapat melakukan pemampatan memori kapan saja kita mau. Jika CPU
Scheduler harus menunggu untuk satu proses, karena masalah pengalokasian
memori, ini mungkin akan dilewati untuk mencari proses yang berprioritas lebih
kecil untuk dieksekusi lebih dulu untuk membebaskan ruang kosong dalam memori.
STRUKTUR ORGANISASI MEMORI
Semua bilangan (hexadecimal, decimal, binary),
angka yang terletak paling kiri adalah
'Most Significant Digit (MSD=angka paling berbobot)', sedangkan yang paling
kanan adalah 'Least Significant Digit (LSD=angka paling kecil
bobotnya)'. Khusus binary digit,
maka MSD disebut Most Significant Bit (MSB) dan LSD disebut 'Least Significant Bit (LSB).
ORGANISASI RUANG MEMORI DAN REGISTER
Unsur terkecil memori adalah 'sel
memori' (memory-cell), yaitu suatu
elemen penyimpanan data yang berkapasitas sebesar 1 bit. Dengan menggabungkan sejumlah sel memori, akan bisa
bentuk suatu ruang penyimpanan data
dengan berbagai ukuran, misalnya 1 byte, 1 word, 1 Kilobyte, 1 Megabyte, 1
Gigabyte, 1 Terabyte, dsb.
Organisasi
memori dapat dibandingkan dengan sistem 'locker' (susunan laci
yang mempunyai kode nomor setiap
lacinya sehingga memudahkan orang mengenal lacinya masing-masing sebelum
mengambil atau memasukkan barang titipannya). Untuk IBM PC, 8 buah sel memori
digandengkan menjadi satu secara horisontal, dan diberi sebuah kode nomor yang
sama. Jadi, untuk mengambil atau menaruh
data pada satu kode nomor itu, 8 sel memori sekaligus teralamati.
Deretan 8 buah sel memori itu kemudian
disusun lagi secara vertikal, dan ditumpuk-tumpuk sedemikian, sampai mencapai
jumlah ribuah susun banyaknya. Setiap
susun, memiliki kode nomor sendiri-sendiri dan merupakan satu lokasi memori (sebagai 'alamat memori' /
memory address). Alamat memori terdiri
dari alamat genap dan alamat ganjil. Alamat genap adalah alamat yang secara
binary bit terendahnya (LSB=Least
Significant Bit-nya) '0', sedangkan alamat ganjil mempunyai LSB '1'.
Susunan chip prosesor Intel 8088.
·
Catu
Daya/VCC (pin 40) dan GND (pin 1 dan 20)
·
Bus
Data (AD0 - AD7)
·
Bus
Alamat (AD0 - AD7 dan A8 - A19)
·
Bus
Kendali (NMI, INTR, CLK, Reset).
Dalam mikroprosesor 8088 secara
fisik, bus alamat terdiri dari 20 bit
(A0-A19), sementara register-register internal terbentuk dari 16 bit
data. Oleh sebab itu, untuk menyesuaikan
perbedaan jumlah bit antara bus alamat
8088 dengan register internal, sistem pengalamatan memori
dilaksanakan dengan format segment:offset.
Format yang membutuhkan 32 bit ini dibentuk
dengan jalan menggabungkan data dari 2 buah register sekaligus. Register
pertama adalah satu satu dari 4 register segment, sedangkan register lainnya diambil dari salah sebuah
register pointer atau register indeks.
Kenyataannya, segment-segment yang didefinisikan pada ruang memori itu boleh dibuat saling berdampingan, terpisah
atau tumpang tindih sekalipun. Prosesor
memiliki bus alamat sebanyak 20 bit, yang berarti ia mampu mengalamati hingga 1.048.575 lokasi memori.
Secara heksadesimal, jumlah ini
dinyatakan sebagai angka 00000 sampai
dengan FFFFF. Ini adalah alamat-alamat fisik (physical addresses) dari
mikroprosesor. Untuk 8088 dan 8086 yang
bus alamatnya terdiri dari 20 bit, otomatis penulisan alamat fisiknya terdiri dari 5 digit
heksadesimal. Sistem segmentasi pada IBM PC dilaksanakan agak unik. 1 segment
adalah bagian dari ruang memori yang besarnya 65536 byte atau 64 Kb. Namun,
segment-segment itu tidaklah diletakkan secara berdampingan sambung menyambung
satu sama lain, akan tetapi saling tumpang tindih sehingga jarak antara titik
awal suatu segment hanya terpaut 16 byte terhadap segment lainnya.Segment
pertama, diawali dari alamat 0000:0000 (alamat fisik 00000) dan berakhir pada 0000:FFFF
(alamat fisik 0FFFF). Akan tetapi, segment kedua dimulai pada alamat 0000:0010
(alamat fisik 00010), berjarak hanya 16 bit dari titik awal alamat segment
pertama. Pada kenyataannya, alamat awal segment kedua ini identik dengan alamat
0001:0000. Sebagai akibatnya, dalam sistem segmentasi semacam ini, akan banyak
didapati penulisan alamat-alamat segment:offset yang sebenarnya menunjuk pada
lokasi yang persis sama. Sebagai contoh,alamat 0000:0020 sesungguhnya adalah
juga alamat 0001:0010, sekaligus sama dengan alamat lokasi 0002:0001.
PETA MEMORI (MEMORY MAP)
Kapasitas memori untuk IBM PC/XT
yang berbasis prosesor Intel 8088/8086 adalah 1.048.576 byte atau lebih mudah
disebut 1 (satu) Megabyte. Nilai sebesar 1 MB inilah yang menjadi dasar sistem pemetaan
memori dalam keluarga IBM PC Kompatibel, sehingga dalam produk-produk yang
lebih mutakhir pun, peta memori tersebut tetap dipertahankan. Hal ini
berhubungandengan konsistensi yang harus dijaga pada Disk Operating System,
yang dalam keadaan bagaimanapun, harus tetap bisa dijalankan mulai dari produk
yang paling awal seperti PC/XT, sampai kepadayang terbaru seperti AT 486
kompatibel.
Tabel Peta Memori Pada
IBM PC
Blok Memori Alokasi Pemakaian
F 0 0 0 0 ROM BIOS, Diagnostic, BASIC
E 0 0 0 0 ROM program
D 0 0 0 0 ROM program
C 0 0 0 0 Perluasan BIOS untuk hardisk XT
B 0 0 0 0 Monokrom Monitor
A 0 0 0 0 Monitor EGA, VGS, dll
9 0 0 0 0 Daerah kerja pemakai s/d 640 KB
8 0 0 0 0 Daerah kerja pemakai s/d 576 KB
7 0 0 0 0 Daerah kerja pemakai s/d 512 KB
6 0 0 0 0 Daerah kerja pemakai s/d 448 KB
5 0 0 0 0 Daerah kerja pemakai s/d 384 KB
4 0 0 0 0 Daerah kerja pemakai s/d 320 KB
3 0 0 0 0 Daerah kerja pemakai s/d 256 KB
2 0 0 0 0 Daerah kerja pemakai s/d 192 KB
1 0 0 0 0 Daerah kerja pemakai s/d 128 KB
0 0 0 0 0 Daerah kerja pemakai s/d 64
KB
Peta memori mengalokasikan ruang
memori kepada pemakai sebanyak 640 Kb
(655360 byte) sebagai ruang kerja (user workspace). Kira-kira 2 Kb diantaranya yang menempati alamat-alamat
terbawah, dipakai oleh DOS untuk
keperluan-keperluan dasar operasi atau "housekeeping". Dengan demikian pemakai akan mendapatkan
tempat (space) sebesar 10 blok memori utama (main memory) dimulai dari alama
00000 sampai dengan 9FFFF heksadesimal.
Blok A - F (masing-masing
berkapasitas 64 Kb), dialokasikan untuk
keperluan-keperluan
program pengendali peralatan luar seperti monitor dan hardisk serta BIOS (Basic Input Output
System).
Blok memori A adalah lokasi-lokasi
ruang memori yang mempunyai alamat dari A0000 sampai dengan AFFFF, besarnya
65636 byte. Blok ini dipergunakan untuk
penempatan informasi-informasi yang akan ditayangkan ke monitor, melalui jenis-jenis monitor mutakhir seperti
EGA dan VGA. Disebut sebagai 'perluasan
memori tampilan' (display memory expansion).
Blok memori B, dianggap sebagai blok
konvensional bagi pengiriman informasi
ke layar monitor. Produk-produk pertama IBM PC menggunakan blok ini untuk keperluan tersebut melalui monitor
monokrom.
Blok memori C dimanfaatkan sejak
keluarnya IBM XT, yaitu peningkatan
unjuk kerja dari IBM PC orisinil. Pada IBM XT inilah pertama kali
digunakan hardisk sebagai mass storage.
Program kendali untuk hardisk XT yang pada
waktu itu baru berkapasitas 10 MB, ditempatkan pada Blok C tersebut. XT
sudah terdapat pemakaian hardisk, pada PC orisinil tidak. XT terdapat 8 buah
slot, PC orisinil terdapat 5 buah slot.
Blok D dan E disediakan untuk
penempatan program-program tertentu yang
bisa dimuat dalam ROM. Blok teratas yang merentang dari alamat
F0000 sampai dengan FFFFF adalah blok
yang bisa dianggap memegang peranan
paling penting, karena disinilah ROM BIOS berkedudukan. ROM
BIOS-lah yang pertama kali mengaktifkan
sistem komputer, memeriksa integritas
sistem, memanggil DOS dan selama komputer aktif juga selalu siap
sedia untuk sewaktu-waktu melakukan
tugas yang spesifik.
Alokasi-alokasi alamat terbawah
letaknya di dalam blok 0, yang menempati
alamat 0000 sampai dengan 0FFFF heksadesimal. Saat proses
'start-up' sistem akan meletakkan pada
blok 0 ini suatu daftar yang disebut
sebagai 'Tabel Vektor Interupsi' (Interrupt Vector Table). Tabel memuat sederetan alamat dari rutin
perangkat lunak yang berfungsi melakukan
tugas-tugas tertentu. Rutin ini disebut 'Rutin Pelaksana Interupsi' (Interrupt handling Routine), yang
dipanggil melalui prosesor tertentu,
antara lain dengan software. Pada dasarnya isi dari BIOS software didominasi
oleh rutin-rutin interupsi.
0 komentar:
Posting Komentar