google addsense

Selasa, 11 Maret 2008

PROXY SERVER

Proxy server ialah server yang disediakan khusus bagi user untuk mengakses web server. Jadi seorang user tidak berhubungan langsung dengan web server tetapi melalui proxy server terlebih dahulu dalam mengakses web site.

Proses yang terjadi bila anda menggunakan proxy server ialah :
1. Bila anda mengakses web site melalui browser anda maka browser akan " request " data kepada proxy server.
2. Proxy server akan mendownload data dari web server yang anda tuju.
3. Proxy server akan mentransmisikan data hasil download tadi menuju browser yang meminta data web.

Setiap permintaan untuk mendownload suatu halaman web site maka halaman itu akan disimpan di database proxy. Bila ada permintaan terhadap halaman yang sama maka proxy server tidak perlu mendownload data dari web server tetapi cukup mengirimkan data yang ada di database ke browser.

Terdapat beberapa alasan mengapa proxy server digunakan antara lain :
1.Bagi ISP ( Internet Service Provider ) , proxy berguna untuk mengurangi lalu lintas data yang melalui jaringannya.
2. Bagi user proxy berguna agar IP address nya tidak dapat di lacak . Hal ini penting untuk menghindari praktek kejahatan yang sering terjadi di internet.
3. Akses internet menjadi lebih cepat. Hal ini terjadi karena proxy akan mengurangi delay yang mungkin terjadi dalam pengaksesan suatu web site.

PENDAHULUAN HTML

HTML (HyperText Markup Language) adalah suatu bahasa yang digunakan untuk membuat halaman pada World Wide Web (Internet). HTML dibuat dengan menggunakan banyak tag (kode dalam kurung seperti ini: “<” dan “>”) yang diletakkan diantara kata-kata dan deskripsi gambar pada suatu halaman. Kebanyakan dari tag tersebut menggunakan slash (garis miring) “/” sebagai penutup. Misalnya untuk menebalkan suatu tulisan maka digunakan: suatu tulisan. Ini memberi tahu browser (program seperti Netscape Navigator atau Internet Explorer yang digunakan untuk melihat Web) awal dan akhir suatu format.

Salah satu cara untuk belajar HTML adalah dengan melihat kode suatu halaman di Web, karena HTML bukanlah suatu bahasa seperti C atau Pascal. Suatu source-code HTML dapat langsung dilihat. Pada Internet Explorer, ini dapat dilakukan dengan memilih “Source”, di dalam menu “View”.

Suatu hal yang harus diperhatikan dalam membuat suatu HTML, yaitu perbedaan browser. Untuk HTML versi lama (2.0) hal ini tidak menjadi masalah, tetapi untuk versi yang lebih baru (3.2) tidak semua tag yang dikenali oleh suatu browser dikenali pula oleh browser lainnya. Hal ini karena, ketika W3C (World Wide Web Consortium) sedang merumuskan HTML versi 3.2, perusahaan seperti Netscape dan Microsoft telah menggunakan tag-tag baru mereka yang diusulkan pada W3C. Dan yang lebih membingungkan lagi, perusahaan-perusahaan ini mulai menambahkan tag-tag HTML mereka sendiri, yang disebut extention.

Rabu, 13 Februari 2008

Disain Chace pada Sistem Komputer

Pada rancangan prosesor modern dengan beberapa tingkat pipeline, upaya untuk mengisi penuh seluruh pipeline dengan instruksi dan data perlu dilakukan agar operasi sistem komputer secara keseluruhan efisien.

Perbeda umumnya sekitar 8 KB. Waktu yang diperlukan untuk mengakses data atau instruksi dalam cache internal ini sedikit lebih lama dibanding register, yakni beberapa siklus detak.

Prosesor-prosesor mutakhir dilengkapi dengan cache level kedua yang kapasitasnya lebih besar dan ditempatkan di luar chip. Prosesor P6 (Pentium Pro), misalnya, cache level pertamanya berkapasitas 8KB untuk data dan 8 KB untuk instruksi. Cache level keduanya berkapasitas 256 KB, yang merupakan keping terpisah tetapi dikemas menjadi satu dengan prosesornya. Selama program dieksekusi, sistem komputer secara terus menerus memindah-mindahkan data dan instruksi ke berbagai tingkat dalam hirarki sistem "memori".

Data dipindahkan menuju ke puncak hirarki bila diakses oleh prosesor, dan dikembalikan lagi ke hirarki yang lebih rendah bila sudah tidak diperlukan lagi. Data-data tersebut ditransfer dalam satuan-satuan yang disebut "blok"; satu "blok" dalam cache disebut satu "baris". Umumnya, data yang berada pada suatu level hirarki merupakan bagian dari data yang disimpan pada level di bawahnya.

Program komputer pada umumnya tidak mengakses memori secara acak. Besar kecenderungannya bahwa bila program mengakses suatu word maka dalam waktu dekat word tersebut akan diakses lagi. Hal ini dikenal sebagai prinsip lokalitas temporal. Juga besar kecenderungannya bahwa dalam waktu dekat word yang berada di dekat word yang baru diakses akan diakses juga.

Yang terakhir ini dikenal sebagai prinsip lokalitas spatial. Karena sifat lokalitas temporal, maka harus diperhatikan word yang telah ada dalam cache, dan karena sifat lokalitas spatial maka perlu diperhatikan kemungkinan memindahkan beberapa word yang berdekatan sekaligus.

Rasio (Kena) dan Waktu Akses

Kemungkinan bahwa suatu kata (word) berupa data/instruksi ditemukan dalam cache (disebut kena atau hit) sehingga prosesor tidak perlu mencarinya dalam memori utama, akan tergantung pada program, ukuran dan organisasi cache. Bila kata yang diperlukan tidak ada dalam cache (berarti luput atau miss), maka prosesor harus merujuknya ke memori utama. Rasio kena (h) didefinisikan sebagai perbandingan antara jumlah perujukan yang berhasil memperoleh kata dari cache dengan banyaknya perujukan yang dilakukan.
h = (jumlah perujukan yang berhasil) / ( jumlah perujukan)
Dalam studi tentang cache, pengukuran umumnya justru terhadap rasio luput (miss) yang besarnya adalah:
m = (1 - h)
Waktu akses rata-rata, dengan asumsi bahwa perujukan selalu dilakukan ke cache lebih dahulu sebelum ke memori utama, dapat dihitung sebagai berikut:
t a = t c + (1-h) t m
dengan ta adalah waktu akses rata-rata, tc adalah waktu akses cache dan tm adalah waktu akses ke memori utama. Setiap kali prosesor terpaksa mengakses memori utama, diperlukan tambahan waktu akses sebesar tm(1-h). Misalnya, bila rasio kena adalah 0,85, waktu akses ke memori utama adalah 200 ns dan waktu akses ke cache adalah 25 ns, maka waktu akses rata-rata adalah 55 ns.
Bila persamaan ta disusun ulang, dapat ditulis menjadi:
t a = t c {1/k + (1-h)}
dengan k adalah rasio antara waktu akses memori utama dengan waktu akses cache (tm/tc).

Dari persamaan di atas dapat dilihat bahwa waktu akses rata-rata didominasi oleh rasio waktu akses memori utama dengan cache bila k kecil. Pada kasus di atas, dengan waktu akses memori utama 200 ns dan waktu akses cache 25 ns, maka k = 8. Rasio luput 1 prosen menyebabkan waktu akses rata-rata menjadi 27 ns, tidak jauh beda dengan waktu akses cache. Pada umumnya k berkisar antara 3-10.

Organlam setiap kelompok, cache dipetakan secara asosiatif-penuh. Cache dengan dua baris per kelompok atau cache asosiatif-kelompok dua-jalan memerlukan dua pembandingan untuk satu kali akses. Selain membutuhkan lebih sedikit pembandingan dibanding cache asosiatif-penuh, cache asosiatif-kelompok juga memudahkan implementasi teknik LRU (least recently used). Bit tengah dari alamat digunakan untuk memilih sekelompok baris (bukan hanya satu baris seperti pada sistem pemetaan langsung). Tag alamat kemudian dicocokkan dengan tag seluruh baris cache yang dipilih.

Selain ketiga organisasi cache di atas, pada masa-masa awal pemanfaatan sistem cache beberapa jenis prosesor menggunakan cache, dengan pemetaan-sektor. Pada pemetaan sektor, baik memori utama maupun cache dibagi menjadi sektor-sektor. Setiap sektor terdiri atas sejumlah blok. Sembarang sektor pada memori utama dapat terpetakan ke sembarang sektor dalam cache, dengan suatu tag disimpan bersama tiap-tiap sektor dalam cache untuk mengidentifikasi alamat sektor memori utama. Dalam pengirimannya ke cache atau pengembaliannya ke memori utama, data/instruksi tidak dikirim sektor per sektor tetapi blok per blok.

Pada saat terjadi luput sektor (sector miss) blok yang diperlukan dari satu sektor dipindahkan ke lokasi tertentu dalam satu sektor. Lokasi sektor dalam cache dipilih berdasarkan algoritma penggantian tertentu. Desain ini sudah tidak populer lagi karena prosentase kena (hit) lebih rendah dibanting dengan organisasi asosiatif-kelompok.

Operasi Asinkron

Karena tajamnya perbedaan kecepatan operasi prosesor dengan waktu akses ke memori maka biasanya ditambahkan rangkaian perangkat keras ke dalam prosesor untuk meminimalkan rugi operasi akibat terjadi luput (miss) dalam pengaksesan data/instruksi dalam cache.
Pada rancangan prosesor yang paling sederhana, jika cache mengisyaratkan terjadinya luput, prosesor berada pada kondisi menunggu. Rangkaian demikian memang sederhana, tetapi memaksa instruksi berikutnya menunggu dieksekusi sampai cache terisi. Pada rancangan yang lebih canggih, prosesor dapat mengeksekusi instruksi-instruksi berikutnya yang tidak bergantung pada isi cache yang ditunggu. Jika terjadi luput lagi sementara luput sebelumnya belum selesai, prosesor akan berhenti sebagai tanda bahwa telah terjadi satu luput. Pada umumnya dapat ditolerir dua atau lebih keadaan luput sebelum prosesor berhenti.

Pada rancangan prosesor paling sederhana, jika terjadi luput, seluruh baris yang berisi nilai yang diperlukan akan diisikan dan diberikan kepada prosesor. Hal ini menjamin bahwa luput berikutnya pada baris yang sama tidak mungkin terjadi saat baris dalam proses dipindahkan.
Metode yang lebih canggih mengisikan baris cache mulai dari kata (word) data yang diminta dan seterusnya sampai ke awal baris. Kata data yang diminta dipasok ke prosesor segera setelah dikirim dari memori, dan sisanya dipindahkan saat prosesor melanjutkan pemrosesan.
Terdapat banyak parameter organisasi cache, masing-masing mempunyai implikasi berbeda terhadap unjuk-kerjanya. Parameter-parameter itu adalah: ukuran cache, ukuran baris, jenis pengalamatan (nyata atau maya) dan derajat ketaksinkronan (yakni, jumah luput yang ditolerir). Perhatian terhadap parameter-perameter tersebut penting dalam mengevaluasi sistem komputer. Hasil uji suatu sistem komputer mungkin berbeda sama sekali bila prosesor yang sama dikombinasikan dengan organisasi cache yang berbeda.

Hari Wibawanto adalah Staf Pengajar Pendidikan Teknik Elektro FPTK IKIP Semarang

Memori Nyata dan Mada sistem cache dengan alamat-maya, data harus dihapus setiap kali terjadi pemindahan kendali. Bila tidak, aplikasi A misalnya, akan membaca isi alamat 0 aplikasi B, bukan alamat 0nya sendiri. Karena alasan itulah, cache dengan alamat nyata memiliki unjuk kerja yang lebih baik dalam lingkungan multitasking di mana pemindahan kendali relatif sering terjadi.

Cache Tunggal dan Cache Ganda

Bagaimanapun baiknya organisasi cache, kemungkinan terjadinya luput (miss), yakni tidak didapatkannya instruksi atau data yang diperlukan di dalam cache sehingga prosesor harus mengaksesnya dari memori utama, selalu ada. Prosentase luput yang terjadi merupakan salah satu kriteria dalam menilai unjuk kerja cache. Tujuan utama organisasi cache adalah menekan prosentase luput, karena setiap terjadi luput, prosesor harus menghabiskan lebih banyak siklus detak untuk mengakses data atau instruksi dari memori utama.

Unjuk kerja cache berkaitan langsung dengan organisasi yang diterapkan. Secara kasar dapat dinyatakan bahwa cache berukuran n yang dipetakan langsung (direct-mapped) memiliki prosentase luput yang sama dengan cache asosiatif-kelompok dua-arah berukuran n/2. Jelas bahwa besarnya kapasitas cache bukanlah ukuran akurat untuk menilai unjuk kerjanya.

Hal lain yang juga perlu diperhatikan dalam membandingkan cache adalah arsitekturnya. Beberapa prosesor menerapkan sistem cache tunggal, yakni dimiliki secara bersama oleh data maupun instruksi. Arsitektur cache jenis ini dikenal sebagai arsitektur Princeton. Prosesor Amd486DX2 merupakan contoh prosesor dengan arsitektur Princeton. Sistem prosesor lain, misalnya P6 (Pentium Pro), menggunakan dua cache, yakni satu cache data dan satu cache instruksi. Prosesor dengan cache ganda seperti ini dikenal sebagai prosesor dengan cache berarsitektur Harvard.

Pemisahan antara cache instruksi dengan cache data menyebabkan hilangnya interferensi antara perujukan data dan perujukan instruksi. Pemisahan cache instruksi dari cache data juga memungkinkan pengambilan data dan instruksi secara bersamaan. Arsitektur Harvard memiliki dua kelemahan pokok. Jika suatu program memperbarui dirinya sendiri dengan menuliskan instruksi baru, instruksi tersebut akan ditulis dalam cache data.

Sebelum instruksi baru itu dapat dieksekusi, kedua cache harus dikosongkan, dan modifikasi yang dilakukan tadi disimpan dulu ke memori utama. Cache instruksi mengambil instruksi hasil modifikasi tersebut dari memori utama. Kelemahan kedua, bila suatu program memerlukan cache instruksi yang lebih besar dan cache data yang lebih kecil, cache berarsitektur Hardvard tidak bisa memenuhi karena alokasinya tidak bisa diubah seperti cache tunggal.
an kecepatan operasi antara prosesor dan memori utama bisa menjadi kendala bagi dicapainya efisiensi kerja sistem komputer. Bila prosesor bekerja jauh lebih cepat daripada memori utama maka setiap kali prosesor mengambil instruksi atau data, diperlukan waktu tunggu yang cukup lama. Waktu tunggu tersebut akan lebih berarti bila digunakan untuk memproses data.

Kendala ini menyebabkan diperlukannya cache, yakni memori berkapasitas kecil tetapi berkecepatan tinggi, yang dipasang di antara prosesor dan memori utama. Instruksi dan data yang sering diakses oleh prosesor ditempatkan dalam cache sehingga dapat lebih cepat diakses oleh prosesor. Hanya bila data atau instruksi yang diperlukan tidak tersedia dalam cache barulah prosesor mencarinya dalam memori utama.

Cache umumnya menggunakan memori statik yang mahal harganya, sedangkan memori utama menggunakan memori dinamik yang jauh lebih murah. Sistem komputer akan bekerja sangat cepat apabila seluruh sistem memori utamanya menggunakan memori statik, tetapi akibatnya harga sistem komputer akan menjadi sangat mahal. Selain itu, karena hamburan panas pada memori statik lebih besar, sistem komputer yang menggunakan memori statik ini akan menghasilkan panas yang berlebihan.

Hirarki Sistem Memori

Pada sistem komputer terdapat berbagai jenis memori, yang berdasarkan kecepatan dan posisi relatifnya terhadap prosesor, bisa disusun secara hirarkis.
Puncak hirarki sistem "memori" komputer adalah register yang berada dalam chip prosesor dan merupakan bagian integral dari prosesor itu sendiri. Isi register-register itu bisa dibaca dan ditulisi dalam satu siklus detak. Level hirarki berikutnya adalah memori cache internal (on-chip). Kapasitas cache internal yang sering disebut sebagai cache level pertama iniisasi Cache

Dalam mendesain sistem cache, yang pertama kali perlu diperhatikan adalah masalah penempatan suatu blok data/instruksi dari memori utama ke baris-baris cache. Berkaitan dengan masalah itu, ada tiga macam organisasi cache yakni organisasi cache yang dipetakan langsung (direct-mapped), asosiatif penuh (fully associative), dan asosiatif-kelompok ( set-associative).

Misalkan suatu sistem menggunakan pengalamatan 32-bit. Jika ukuran tiap-tiap blok adalah 64 byte (26) maka 6-bit terendah dari alamat tersebut (yang disebut offset) menentukan byte mana dalam blok itu yang dialamati. Jika cache terdiri atas 1024 (210) baris yang masing-masing terdiri dari 64 byte, maka 10 bit berikutnya menentukan pada baris mana blok yang diambil harus ditempatkan. Bit sisanya, yakni 16-bit paling atas yang disebut tag bersesuaian dengan baris cache. Organisasi cache yang dipetakan langsung, menyimpan satu tag perbaris dalam larik tag-nya.

Selama pengaksesan memori, pada operasi load misalnya, cache menggunakan bit-bit tengah alamat sebagai indeks ke larik tagnya. Tag yang muncul dicocokkan dengan 16-bit teratas dari alamat memori yang diakses. Jika cocok, data yang ditunjukan oleh nilai offset akan dikirim ke prosesor. Bila tidak cocok, isi baris cache diganti dengan blok yang diperlukan, yang diambil dari memori utama.
Organisasi cache yang dipetakan langsung hanya memerlukan satu kali pembandingan untuk setiap akses ke cache. Baris cache merupakan indeks yang diimplementasikan dengan perangkat keras, sehingga hanya tag dari alamat memori yang diakses yang perlu dibandingkan dengan baris cache. Pada sistem komputer yang memerlukan frekuensi detak tinggi, cara ini sangat menguntungkan. Masalah muncul apabila dua blok yang sering diakses dipetakan ke baris cache yang sama. Dua blok ini akan saling usir dari cache.

Alamat dibagi menjadi dua bagian, yakni bagian tag dan offset. Tag dicocokkan dengan seluruh tag yang ada dalam baris cache.
Dalam rancangan cache asosiatif-penuh (fully associative), suatu blok dapat ditempatkan pada baris cache manapun. Secara sederhana alamat dibagi menjadi dua bagian yakni bit rendah dan bit tinggi. Bit rendah membentuk offset di dalam baris cache, sedangkan bit tinggi membentuk tag untuk dicocokkan dengan rujukan berikutnya.

Cache asosiatif-penuh harus memiliki mekanisme untuk menentukan ke dalam baris mana suatu blok harus ditempatkan. Blok dapat ditempatkan dalam baris manapun yang kosong, tetapi bila semua baris cache penuh harus ditentukan blok mana yang akan dikeluarkan dari cache. Idealnya, digunakan prinsip LRU (least recently used) yakni blok yang paling lama tidak dipakai dikeluarkan dari cache. Karena cukup mahal mengimplementasikannya, maka umumnya digunakan teknik-teknik yang mendekati prinsip LRU.

Cache asosiatif-penuh memecahkan masalah konflik alamat dengan resiko memperbanyak implementasi rangkaian perangkat keras untuk membandingkan tag terhadap semua baris cache. Untuk memperkecil resiko tersebut sekaligus mengurangi terjadinya konflik alamat, dirancang organisasi cache yang lain yakni asosiatif-kelompok (set-associative).

Dalam cache asosiatif-kelompok, satu kelompok terdiri atas beberapa baris. Bit alamat bagian tengah menentukan kelompok baris di mana suatu blok ditempatkan.
Mikroprosesor Amd486DX2, misalnya, memiliki 8 KB cache asosiatif-kelompok empat-jalan (four-way set-associative) dengan baris masing-masing selebar 26 byte. Cache sebesar 8 KB tersebut dibagi menjadi 128 kelompok yang masing-masing terdiri atas empat baris.
Daemori Maya

Sistem operasi yang memberikan fasilitas multitasking, misalnya OS/2 atau Unix, mampu memberikan kesan seolah-olah setiap program mengakses dan mengalokasikan memori sendiri-sendiri tanpa khawatir terjadi tumpang-tindih pemakaian ruang memori. Padahal kenyataannya, setiap byte memori utama hanya memiliki satu alamat saja. Sistem operasi bersama-sama dengan perangkat keras menciptakan dua jenis alamat yakni alamat nyata dan alamat maya. Program menggunakan alamat maya sedangkan pengendali sistem memori memerlukan alamat nyata.
Sistem operasi mengalokasikan memori untuk program dalam unit-unit berukuran tetap yang disebut halaman (page). Satu halaman pada umumnya berukuran 4 KB. Sistem operasi juga menyimpan tabel yang berisi pemetaan halaman maya ke halaman nyata. Setiap kali program mengakses alamat maya, sistem harus melihat tabel translasi alamat maya ke alamat nyata sehingga lokasi memori yang benar dapat diakses.
Sistem pemeriksaan tabel (table look-up) memerlukan waktu operasi yang cukup lama. Oleh karena itu, prosesor menggunakan cache khusus yang disebut sebagai TLB (translation look-aside buffer) untuk menyimpan translasi alamat terbaru. Jadi, hanya bila translasi halaman yang diperlukan tidak tersedia dalam TLB, sistem operasi akan menginterupsi program, memeriksa translasi halaman dalam tabel yang menetap dalam memori (memory resident), mengisikan hasil translasi ke dalam TLB dan mengembalikan kontrol kepada program.

Luput yang terjadi pada TLB memerlukan siklus detak yang lebih banyak daripada luput yang terjadi pada cache. Bila terjadi luput pada TLB maka seluruh alur-pipa (pipeline) harus dikosongkan, register-register harus diselamatkan, rutin pemeriksaan harus dieksekusi, dan register-register harus dipulihkan. Proses ini memerlukan belasan bahkan ratusan siklus detak.

Untuk memeriksa dan menyimpan data dalam cache, baik alamat nyata maupun alamat maya dapat dipakai. Pemilihan organisasi cache mempengaruhi berbagai aspek dalam organisasi sistem komputer dan unjuk-kerja aplikasi.

Cache Alamat Maya

Cache dengan alamat maya memiliki beberapa kelebihan. Pengendali cache tidak perlu menunggu selesainya proses translasi alamat sebelum mulai memeriksa alamat dalam cache sehingga pasokan data dapat lebih cepat diberikan. Karena program juga menggunakan alamat maya, pelaksanaan program yang sama akan membentuk pola pemakaian cache yang sama pula.

Pada cache yang dipetakan ke alamat nyata, sistem operasi bisa saja mengalokasikan halaman nyata yang berbeda untuk pelaksanaan program yang sama. Dengan demikian, tag dari cache untuk alamat-alamat instruksi bisa berbeda pada pelaksanaan program yang sama, bahkan meskipun dilakukan komputasi yang sama. Unjuk-kerja bisa berbeda jauh meskipun program yang dijalankan sama, terutama bila alamat nyata tersebut dipetakan langsung.

Cache Alamat Nyata

Meski cache dengan alamat nyata unjuk-kerjanya bervariasi, cache ini memiliki dua kelebihan. Pertama, jika cache eksternal dirancang untuk prosesor yang memiliki unit pengelola memori internal (on-chip memory management unit), alamat yang dikirimkan oleh prosesor telah merupakan alamat hasil translasi, dan dengan demikian cache dengan alamat nyata adalah satu-satunya pilihan. Kedua, karena semua alamat adalah untuk ruang alamat-nyata tunggal, maka data dapat ditinggalkan dalam cache saat sistem operasi memindahkan kendali dari satu aplikasi ke aplikasi lain.

Hal ini tidak bisa dilakukan pada cache yang menggunakan ruang alamat-maya berbeda untuk tiap-tiap aplikasi. P

Sejarah Singkat tentang Komputer

1948 - Ditemukannya transistor oleh beberapa ilmuwan dari Laboratorium Bell yakni John Bardeen, Walter Brattain dan William Shockley. Kegunaan terbesar ditemukannya transistor ini adalah menjadikan sebuah sirkuit elektran mengembangkan IBM PC pertama yang sesungguhnya. Ketika proses penciptaan berlangsung ternyata para insinyur IBM banyak mengambil dari desain DataMaster, yakni sebuah desain terpadu dimana layar dan keyboard terintegrasi langsung dalam 1 unit. Tidak hanya bagian luarnya saja, namun beberapa bagian dalam juga terlihat meniru dari DataMaster. Diantaranya adalah penerapan expansion bus (or input/output slots) dimana sangat memungkinkannya ditiru akibat penggunaan interrupt controller dan direct access memory (DMA) controller yang sama. DataMaster sendiri menggunakan Intel 8085 CPU yang memiliki 64 K Address Limit dengan 8-bit internal dan external data bus. Bertolak dari spesifikasi tersebut maka IBM PC memutuskan untuk menggunakan Intel 8088 CPU, sehingga dapat memberikan kapasitas yang lebih yakni 1 M untuk memory address limit dan internal 16-bit untuk data bus-nya, namun masih tetap 8-bit untuk external bus. Pada tanggal 12 Agustus 1981, IBM PC dinobatkan sebagai standar baru dalam industri mikroprosesor. Sejak saat itu maka berjuta-juta PC-Compatible sistem telah dilempar ke pasaran dan diikuti dengan perkembangan beberapa perlengkapan penunjang serta aplikasi-aplikasi pelengkap.
onik menjadi lebih kecil, cepat dan efisien dalam pemakaian energi. 1959 - Para ahli di Texas Instrument menemukan IC ( Integrated Circuit). IC pertama tersebut hanya terdiri dari 6 buah transistor, dan sebagai perbandingan saat ini Intel Pentium Pro Prosesor saja memiliki lebih dari 5,5 juta transistor.

1969 - Pertama kali Intel memperkenalkan 1 K-bit memory chip, dimana jumlah tersebut merupakan kapasitas yang paling besar yang belum pernah ada sebelumnya (1 Kbits sama dengan 1024 bits dan 1 byte setara 8 bit).

1971 - Diciptakan mikroprosesor pertama dengan nama Intel 4004, 4 bit prosesor.

1972 - Dikeluarkan mikroprosesor baru sebagai pengganti Intel 4004 yaitu prosesor 8008 8 bit.

1973 - Setelah sekian waktu pada tahun yang sama dikembangkan, akhirnya pada akhir 1973 Intel berhasil membuat 8080 microprosesor yang berbasiskan 8080 chip dengan 10 kali lebih cepat dibandingkan versi awal 8080 dan juga telah memiliki memory 64 K. Momen ini merupakan titik awal dari perjalanan cepat industri komputer selanjutnya.

1975 - MITS memperkenalkan kotak Altair sebagai cikal bakal komputer personal pertama dengan menggunakan prosesor 8080, power supply, panel muka dengan lampu yang banyak dan memiliki memory 256 bytes dan paket ini dipasarkan seharga $395. Selain itu komputer ini juga memiliki open architecture bus (slots). Komputer pertama ini menjadikan ide kepada perusahaan lain untuk membuat aplikasinya, seperti dibuatnya sistem operasi CP/M (Control Program for Microprosesor) dan versi pertama program bahasa Microsoft Basic (Beginners All-purpose Symbolic Instruction Code).

1975 - IBM mengeluarkan komputer personal pertama dengan sebutan Model 5100 yang memiliki memory 16K, layar 16 baris dengan 64 karakter, bahasa BASIC interpreter dan DC-300 untuk tempat penyimpanan data. Sistem ini dijual dengan harga $9.000 dimana termasuk harga yang cukup tinggi pada saat itu. Akibatnya banyak para hacker yang mencoba untuk meniru dan menjual produk tersebut dengan hanya seharga sekitar $500. Akhirnya pihak IBM sendiri mengakui bahwa produknya tidak berhasil menguasai pasar dengan sukses. Model 5100 akhirnya digantikan oleh 5110 dan 5120, sampai akhirmya IBM sampai kepada Model 5150 yang kita kenal dengan IBM Personal Computer.

1976 - Perusahaan baru Apple Computer memperkenalkan Apple I, seharga $695. Sistem ini memiliki sirkuit yang dibaut dengan plywood, namun casing penutup dan power supply tidak diikutsertakan. Walau hanya beberapa buah yang dihasilkan namun mereka mengklaim telah menjual seharga $20.000 kepada kolektor khusus. Sebagai kelanjutannya, Apple II dikeluarkan pada tahun 1977.

1980 - Pada tahun ini pertumbuhan mikroprosesor telah didominasi oleh 2 perusahaan komputer. Jenis yang pertama adalah Apple II dan yang kedua adalah CP/M. Beberapa hal yang menarik adalah dengan adanya 2 kubu besar yang berlainan sehingga membuat para perusahaan aplikasi mulai memberlakukan kompabilitas terhadap aplikasi mereka sesuai dengan sistem yang ada, yakni PC Kompatibel dan Mac Kompatibel.



Era IBM Personal Computer

Akhir tahun 1980 IBM memutuskan untuk ikut berpartisipasi dalam kompetisi komputer personal pada pasar menengah ke bawah. Untuk itu mereka menciptakan suatu divisi khusus yang diberi nama Entry System Division dengan tuju

How does an LED emit light?

How does an LED emit light?
(c)1997 William J. Beaty

Light from a Light Emitting Diode (LED) is created in much the same way
that light is created in a flourescent tube or neon sign. In an LED
crystal the electrons of its atoms ar the solar cell becomes a charge pump.

Light Emitting Diodes are also like thermocouples. N-type and p-type
crystals are not the only materials whose electrons "orbit" at different
energy levels. Different metals have different levels too. If a copper
wire is twisted together with an iron wire, a junction is formed between
them which contains an energy-step like that of an LED. The energy-step
in a thermocouple is much smaller than in an LED. If electrons are forced
to flow across the thermocouple energy step, they fall down in energy
level and emit energy. But what do they emit? Longwave Infrared light
and crystal vibrations. Together we call these by the name "heat energy".
The energy step in a thermocouple is too small, so it cannot emit photons
of visible light. Instead it creates heat. And conversely, if heated,
a thermocouple can create an electric current. When operated one way, a
thermocouple is a bit like an LED which emits heat. When operated the
other way, it acts a bit like a solar battery and becomes a heat
battery.

Do not you love the way that different parts of physics can hang together
and seem the same?

.....................uuuu / oo \ uuuu........,.............................
William Beaty voice:206-781-3320 bbs:206-789-0775 cserv:71241,3623
EE/Programmer/Science exhibit designer http://www.eskimo.com/~billb/
Seattle, WA 98117 billb@eskimo.com SCIENCE HOBBYIST web page
e pumped up to higher energy states,
and when they fall back down again, each atom gives off a particle/wave of
light. However, the electrons in an LED are not exactly the same as the
gas molecules in a neon sign. They are not in orbitals stuck to
individual atoms. Instead the electrons occupy a contiguous "sea of
charge," and they continually wander among all the atoms in the material.
But while they do this, they maintain a particular energy level just like
they do when stuck to individual atoms. It is as if each electron in an
LED crystal was "orbiting" among all the atoms of the substance as a
whole, and the electron always "orbits" at a particular "height" above
each of the atoms it passes.

Be aware that *all* substances contain electrons. The electrons I am
discussing here are not supplied by the battery, they instead occur
naturally in the wires, crystals, etc. They are in the LED all the time,
even when the battery is not connected. Do not make my original mistake by
imagining that electrons are injected into the LED by the power supply.
In fact, they are already in the material, and the power supply simply
forces them to flow.

To create LED light, first we connect two conductive crystals of different
characteristics together. Both types of crystal contain movable
electrons. In one type of crystal the electrons "orbit" naturally at a
high energy level, and in the other, they always "orbit" low. When a
voltage is applied across the joined crystals, the electrons inside are
forced to flow across the boundary between the pair of crystals. If the
flow direction is correct, electrons in the "high" crystal flow into the
"low" crystal and must begin orbiting at the lower energy level. As they
fall to the lower energy level, they give off light. The frequency of the
light (which we see as the color) is determined by the difference in
energy levels between the two crystals. By manufacturing different types
of crystals having different natural energy levels, various colors of
light can be created. Crystals with similar levels create low-energy
photons of red light or even infrared light. With a larger difference in
energy levels, green light can be created. An even larger energy-step can
create blue light.

The "high" and "low" crystals are usually called "n-type" and "p-type."
In n-type crystals the movable electrons wander around while staying at
the upper energy level of an unfilled outer atomic orbital. During an
electric current they travel at this level. In "p-type" crystals the
mobile electrons naturally exist at a deeper orbital level. When the two
crystals are connected to each other and then connected properly in a
circuit with a battery, the battery creates a current in the entire
circuit. It sucks electrons out of the end of the p-type crystal and into
the wire. At the same time it pushes electrons into the far end of the
n-type crystal. The electrons already in the n-type crystal then are
forced to flow across the crystal junction, fall down in energy, emit
light, and end up back in the p-type crystal.

Where did the electrons get the energy to emit light? How do they get to
a higher energy level so they can enter the n-type crystal? Well, in
order for the battery to push electrons through the LED, it had to apply
electrical attraction and repulsion forces to the electrons in the
crystal. To apply force to the electrons in the crystal, it had to apply
a force to the electrons in the negative wire. This squeezes all the
electrons on the surface of the negative wire together, which raises the
voltage of the entire wire. (If electrons were like water, then the wire
is like a long trough. The battery pumps water into one end of the
trough, and this makes the water level voltage rise everywhere in the
trough.) When the negative wire electrons get to the energy level equal
to the n-type crystal, they start flowing into the crystal and falling
"down" the junction, emitting light as they go. (This analogy is
incomplete: at the same time that the battery was pumping up the "water
level" of the negative wire to match the n-type crystal level, it also was
REDUCING the "water level" of the positive wire so that the low-energy
electrons of the p-type crystal could be sucked into the wire.)

Here is another way to visualize LEDs. In a neon sign, the electrons
around each neon atom get pumped up in energy as they are whacked by
incoming high-speed electrons. In an LED the battery pumps up the
electrons directly. In a neon sign, each atom emits light when an
electron falls back to its original energy level. In an LED, the whole
crystal junction emits light as electrons drop back to a lower level.
Therefor an LED resembles a gigantic single neon atom! An LED/atom is so
large that we can connect its electron cloud directly to a battery with
wires. It is so large that we can build in different characteristics, and
change the color of its flourescence.

Light Emitting Diodes are much like solar cells. Both devices use n-type
and p-type crystals, but in a solar cell the process runs backwards:
instead of falling down in energy and emitting light, light hitting the
solar cell causes electrons in the p-type crystal to jump upwards in
energy. If these electrons are near the crystal junction, they can end up
in the n-type crystal, and they can flow through wires to the outside
world, falling down in energy as they do. In fact, if light shines on an
LED, the LED behaves as a tiny, inefficient solar cell. And conversely,
if a battery is used to create a current in a solar cell, the solar cell
can emit a very tiny amount of (mostly infrared) light. An LED gives
light when charge is pumped through it, and when light shines on a solar
cell,