Minggu, 28 September 2014

X86



x86 atau 80x86 adalah nama umum dari arsitektur mikroprosesor yang pertama kali dikembangkan dan diproduksi oleh Intel. Arsitektur x86 saat ini mendominasi komputer desktop, komputer portabel, dan pasar server sederhana.
Arsitektur ini dikenal dengan nama x86 karena prosesor-prosesor awal dari keluarga arsitektur ini memiliki nomor model yang diakhiri dengan urutan angka "86": prosesor 8086, 80186, 80286, 386, dan 486. Karena nomor tidak bisa dijadikan merek dagang, Intel akhirnya menggunakan kata Pentium untuk merek dagang processor generasi kelima mereka.
Arsitektur ini telah dua kali diperluas untuk mengakomodasi ukuran word yang lebih besar. Pada tahun 1985, Intel mengumumkan rancangan generasi 386 32-bit yang menggantikan rancangan generasi 286 16-bit. Arsitektur 32-bit ini dikenal dengan nama x86-32 atau IA-32 (singkatan dari Intel Architecture, 32-bit). Kemudian pada tahun 2003, AMD memperkenalkan Athlon 64, yang menerapkan secara lebih jauh pengembangan dari arsitektur ini menuju ke arsitektur 64-bit, dikenal dengan beberapa istilah x86-64, AMD64 (AMD), EM64T atau IA-32e (Intel), dan x64 (Microsoft).

Sejarah
Arsitektur x86 pertama kali hadir melalui 8086 CPU pada tahun 1978; Intel 8086 adalah pengembangan dari mikroprosesor Intel 8080 (yang dibangun mengikuti arsitektur dari 4004 dan 8008), dan program bahasa rakitan dari 8080 dapat diterjemahkan secara mekanik ke program yang setara ke bahasa rakitan untuk 8086. Arsitektur ini diadaptasi (dengan versi yang lebih sederhana dari versi 8088) tiga tahun kemudian sebagai standar dari CPU pada IBM PC. Kehadiran platform PC secara luas membuat arsitektur x86 menjadi arsitektur CPU yang paling sukses selama ini. (Rancangan CPU lainnya yang sangat sukses, yang dibagun berdasarkan 8080 dan kompatible pada set-instruksi hingga pada tingkatan bahasa-mesin biner adalah arsitektur Zilog Z80.)
Perusahaan lain juga membuat atau pernah membuat CPU yang berdasarkan arsitektur x86: diantaranya Cyrix (sekarang diakuisisi oleh VIA Technologies), NEC Corporation, IBM, IDT (juga telah diakuisisi oleh VIA), dan Transmeta. Manufaktur yang paling sukses adalah AMD, dengan seri Athlon-nya, yang meskipun belum se-populer seri Pentium, telah menguasai sebagian pangsa pasar secara nyata. Menurut beberapa perusahaan riset pangsa pasar CPU AMD telah melampaui penjualan CPU Intel di pasar retail dekstop pada tahun 2006.

Rancangan
Arsitektur x86 adalah rancangan Set Instruksi Komputer Kompleks (Complex Instruction Set Computer) dengan panjang instruksi yang bervariasi. Word disimpan dengan urutan endian-kecil. Kompatibilitas mundur menjadi motivasi terkuat dalam pengembangan arsitektur x86 (keputusan ini menjadi sangat penting dan sering dikritik, terutama oleh pesaing dari pendukung arsitektur prosesor lainnya, yang dibuat frustasi oleh sukses yang berkelanjutan dari arsitektur ini yang secara umum dipandang memilki banyak kelemahan). Prosesor-prosesor terkini dari x86 menerapkan beberapa langkah penerjemah (dekoder) "tambahan" untuk (saat eksekusi) memecah (sebagian besar) instruksi x86 kedalam potongan-potongan kecil instruksi (dikenal dengan "micro-ops") yang selanjutnya dieksekusi oleh arsitektur setara dengan arsitektur RISC.
Mikroprosesor x86 dapat bekerja dalam beberapa modus berikut:
  • Real-mode (Modus Real)
  • Protected Mode (Modus terproteksi)
  • Virtual Protected Mode (Modus Terproteksi Virtual)
  • Compatibility Mode
  • Long Mode/IA32e Full Mode

Real-Mode
Real-Mode adalah sebuah modus di mana prosesor Intel x86 berjalan seolah-olah dirinya adalah sebuah prosesor Intel 8086 atau Intel 8088, meski ia merupakan prosesor Intel 80286 atau lebih tinggi. Karenanya, modus ini juga disebut sebagai modus 8086 (8086 Mode). Dalam modus ini, prosesor hanya dapat mengeksekusi instruksi 16-bit saja dengan menggunakan register internal yang berukuran 16-bit, serta hanya dapat mengakses hanya 1024 KB dari memori karena hanya menggunakan 20-bit jalur bus alamat. Semua program DOS berjalan pada modus ini.
Prosesor yang dirilis setelah 8086, semacam Intel 80286 juga dapat menjalankan instruksi 16-bit, tapi jauh lebih cepat dibandingkan 8086. Dengan kata lain, Intel 80286 benar-benar kompatibel dengan prosesor Intel 8086 yang didesain sebelumnya. Sehingga prosesor Intel 80286 pun dapat menjalankan program-program 16-bit yang didesain untuk 8086 (IBM PC), dengan tentunya kecepatan yang jauh lebih tinggi.
Dalam Real-mode, tidak ada proteksi ruang alamat memori, sehingga tidak dapat melakukan multi-tasking. Inilah sebabnya, mengapa program-program DOS bersifat single-tasking. Jika dalam modus real terdapat multi-tasking, maka kemungkinan besar antara dua program yang sedang berjalan, terjadi tabrakan (crash) antara satu dengan lainnya.

Protected Mode
Modus terproteksi (protected mode) adalah sebuah modus di mana terdapat proteksi ruang alamat memori yang ditawarkan oleh mikroprosesor untuk digunakan oleh sistem operasi. Modus ini datang dengan mikroprosesor Intel 80286 atau yang lebih tinggi. Karena memiliki proteksi ruang alamat memori, maka dalam modus ini sistem operasi dapat melakukan multitasking.
Prosesor Intel 80286 memang dilengkapi kemampuan masuk ke dalam modus terproteksi, tapi tidak dapat keluar dari modus tersebut tanpa harus mengalami reset (warm boot atau cold boot). Kesalahan ini telah diperbaiki oleh Intel dengan merilis prosesor Intel 80386 yang dapat masuk ke dalam modus terproteksi dan keluar darinya tanpa harus melakukan reset. Inilah sebabnya mengapa Windows 95/Windows 98 dilengkapi dengan modus Restart in MS-DOS Mode, meski sebenarnya sistem operasi tersebut merupakan sistem operasi yang berjalan dalam modus terproteksi.

Virtual Protected Mode
Virtual Protected Mode juga kadang disebut sebagai Virtual Real Mode. Dalam modus ini, sebuah prosesor Intel x86 berjalan dalam modus terproteksi tetapi mengizinkan aplikasi-aplikasi 16-bit real-mode agar dapat dijalankan di atas sistem operasi. Microsoft Windows 3.1, yang berjalan di dalam modus Enhanced 386, Windows 95, serta Windows 98 mendukung modus ini sepenuhnya. Sistem-sistem operasi dapat menjalankan beberapa aplikasi 16-bit real-mode secara sekaligus, pada window MS-DOS Prompt yang berbeda-beda, karena memang Microsoft mengimplementasikan sebuah lapisan emulasi yang disebut sebagai DOS Protected Mode Interface (DPMI). Setiap window MS-DOS Prompt yang dibuat, aplikasi hanya berjalan dalam real mode, tapi karena Windows 3.1 (yang berjalan dalam modus Enhanced 386) dan Windows 95/98 berjalan dalam modus terproteksi, aplikasi akan menganggap dirinya berjalan pada komputer yang berbeda, meski pada fisiknya mereka dijalankan pada modus yang sama. Hal ini mengizinkan aplikasi-aplikasi 16-bit real-mode agar dapat dijalankan secara serentak (multitasking), meski pada awalnya aplikasi 16-bit berjalan dalam kondisi single-tasking.
DPMI digunakan oleh Windows 3.1 ke atas untuk mengakses extended memory agar dapat digunakan oleh aplikasi Windows. DPMI mengizinkan program-program dapat menggunakan memori yang lebih banyak, meski pada aslinya program tersebut merupakan program 16-bit. Hal ini populer dilakukan, khususnya bagi program-program game komputer DOS, karena game-game tersebut dapat mengakses lebih dari 1 MB (diberi hak akses oleh sistem operasi). DPMI dapat melakukan switching prosesor dari real-mode ke protected mode atau sebaliknya.

IA32e/AMD64/x64/x86-64 Compatibility Mode
Modus kompatibilitas adalah sebuah modus prosesor berbasis IA32e (x86-64, AMD64, EM64T, atau x64) di mana prosesor sedang menjalankan instruksi 32-bit (sistem operasi 32-bit dan aplikasinya yang dijalankan di atas prosesor x64 atau sistem operasi 64-bit yang menjalankan aplikasi 32-bit). Dalam modus ini, prosesor tersebut bekerja seolah-olah dirinya adalah prosesor x86 32-bit, sehingga hanya dapat mengalamati memori hingga 4 GB saja.

IA32e/x86-64/AMD64/x64/EM64T Long Mode
Modus panjang (long mode) adalah sebuah modus prosesor 64-bit IA32e (x86-64/AMD64/x64/EM64T) yang berjalan di atas sistem operasi 64-bit, sehingga ia dapat mengeluarkan seluruh kemampuannya, seperti halnya mengakses memori lebih besar daripada 4 GB (hingga batasan yang dimiliki oleh prosesor dan sistem operasi), dan menjalankan aplikasi 64-bit. Hanya beberapa sistem operasi yang dapat menjalankan prosesor IA32e dalam modus ini, yakni Windows XP Professional x64 Edition, Windows Server 2003, GNU/Linux (versi kernel 2.6 ke atas), Solaris 10 dan beberapa varian UNIX lainnya.

ARM



Arsitektur ARM merupakan arsitektur prosesor 32-bit RISC yang dikembangkan oleh ARM Limited. Dikenal sebagai Advanced RISC Machine dimana sebelumnya dikenal sebagai Acorn RISC Machine. Pada awalnya merupakan prosesor desktop yang sekarang didominasi oleh keluarga x86. Namun desain yang sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah. Hal ini membuat prosesor ARM mendominasi pasar mobile electronic dan embedded system dimana membutuhkan daya dan harga yang rendah.
Pada tahun 2007, sekitar 98% dari satu miliar mobile phone yang terjual menggunakan setidaknya satu buah prosesor ARM. Dan pada tahun 2009, prosesor ARM mendominasi sekitar 90% dari keseluruhan pasar prosesor 32-bit RISC. Prosesor ARM digunakan di berbagai bidang seperti elektronik umum, termasuk PDA, mobile phone, media player, music player, game console genggam, kalkulator dan periperal komputer seperti hard disk drive dan router.
 arsitektur ARM dimiliki oleh Alcatel, Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel melalui DEC, LG, Marvell Technology Group, NEC, NVIDIA, NXP Semiconductors, OKI, Quallcomm, Samsung, Sharp, ST Microelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamah dan ZiiLABS.

Sejarah
Setelah sukses dengan komputer BBC Micro, Acorn Computers Ltd mempertimbangkan berpindah dari prosesor MOS Technology 6502 ke pasar yang akan segera didominasi oleh IBM PC yang diluncurkan pada tahun 1981. Acorn Business Computer (ABC) pada saat itu membutuhkan prosesor berikutnya untuk dapat bekerja pada platform BBC Micro. Namun prosesor seperti Motorola 68000 dan National Semiconductor 32016 tidak cocok, sedangkan prosesor 6502 tidak mencukupi untuk kebutuhan antar muka grafis.
Akhirnya Acorn mendesain prosesornya sendiri dengan proyek Berkeley RISC oleh engineernya. Kunjungan ke Western Design Center di daerah Phoenix meyakinkan engineer Acorn Steve Furber dan Sophie Wilson bahwa mereka tidak membutuhkan sumber daya dan fasilitas penelitian yang besar.
Wilson mengebangkan instruction set, mensimulasikan prosesor pada BBC Basic yang menjalankan BBC Micro dengan prosesor 6502 kedua. Hal tersebut membuktikan kepada engineer Acorn bahwa mereka berada pada proses yang tepat. Sebelum melangkah lebih jauh, mereka membutuhkan sumber daya yang lebih. Setelah Wilson mendapat persetujuan dari CEO Acorn, Hermann Hauser, tim kecil melanjutkan implementasi ke perangkat keras.
Proyek Acorn RISC Machine resmi dimulai pada Oktober 1983. VLSI Technology, Inc dipilih sebagai mitra dalam memproduksi chip silikon dimana sebelumnya telah memproduksi ROM dan custom chip sebelumnya. Proses desain dipimpin oleh Wilson dan Furber, dengan tujuan utama latensi rendah (low-latency) pada penanganan input/output (interupsi) seperti pada prosesor MOS Technology 6502. Arsitektur 6502 memberikan pengembang mesin yang cepat dalam pengaksesan memory tanpa harus menggunakan perangkat direct access memory yang mahal. VLSI memproduksi chip ARM pertama kali pada 26 April 1985 yang berhasil bekerja dan dikenal sebagai ARM1. Dan disusul dengan ARM2 yang diproduksi pada tahun berikutnya.
Pengaplikasian prosesor ARM pertama kali adalah prosesor kedua dari BBC Micro, untuk simulasi dalam pengembangan chip pendukung (VIDC, IOC, MEMC) dan untuk mempercepat penggunaan perangkat lunak CAD dalam pengembangan ARM2. Wilson menulis BBC Basic dalam bahasa assembly ARM, dimana kode sangat padat sehingga ARM BBC Basic sangat cocok untuk setiap emulator ARM.
ARM2 mempunyai lebar bus sebesar 32-bit, 26-bit (64 Mbyte) alamat memory dan 16 buah register 32-bit. Program code harus ada dalam 64 Mbyte pertama dari memory, sebagaimana program counter dibatasi pada 26-bit karena 6-bit atas pada register 32-bit digunakan sebagai status flag. Kemungkinan besar ARM2 merupakan prosesor 32-bit paling sederhana di dunia dengan hanya 30.000 transistor bila dibandingkan dengan Motorola 68000 dengan 70.000 transistor. Kesederhanaan ini diperoleh karena ARM tidak mempunyai microcode yang mencakup seperempat hingga sepertiga transistor pada Motorola 68000. Selain itu ARM pada saat itu tidak memiliki cache memory. Hal ini membuat ARM sebagai prosesor dengan konsumsi daya rendah namun performansi yang lebih baik dari pada Intel 80286. Penerusnya yaitu ARM3 mempunyai 4 kByte cache yang meningkatkan performansi.
Pada akhir 1980-an, Apple Computer dan VLSI Technology memulai kerja sama dengan Acorn untuk prosesor ARM berikutnya. Kerjasama ini sangat penting hingga Acorn melepas tim tersebut sebagai perusahaan baru bernama Advanced RISC Machines Ltd. pada tahun 1990. Sehingga seringkali ARM disebut sebagai Advanced RISC Machine disamping Acorn RISC Machine. Dan pada tahun 1998 Advanced RISC Machines menjadi ARM Ltd.
Hasil kerja sama Apple-ARM menghasilkan ARM6 pada awal tahun 1992. Apple menggunakan ARM6 (ARM 610) sebagai prosesor pada PDA Apple Newton dan pada tahun 1994 Acorn menggunakan ARM6 pada komputer PC RISC. Pada frekuensi 233 MHz, prosesor ini hanya mengonsumsi daya sebesar 1 Watt dan versi berikutnya lebih kecil dari itu.
Inti prosesor ARM tidak mengalami perubahan ukuran yang signifikan. Pada ARM2 terdapat 30.000 transistor sedangkan pada ARM6 bertambah hingga 35.000 transistor saja. ARM Ltd. hanya menjual IP (Intelectual Property) core dimana perusahaan lain dapat memproduksi mikrokontroller dan prosesor berdasarkan rancangan ARM. Implementasi yang dinilai paling berhasil adalah ARM7TDMI yang terjual hingga ratusan juta chip. Ide dasarnya adalah produsen chip komputer dapat membuat CPU lengkap berdasarkan rancangan ARM dan dapat dibuat pada pabrik semikonduktor lama serta memberikan performansi yang tinggi pada harga yang rendah. Arsitektur ARM dapat ditemui di banyak smartphone, PDA dan perangkat genggam lain.

Minggu, 21 September 2014

Control Memory



Memori controller adalah sirkuit digital yang mengelola aliran data pergi ke dan dari komputer memori utama . Hal ini dapat chip atau diintegrasikan ke dalam chip lain, seperti pada terpisah dari sebuah mikroprosesor . Hal ini juga disebut controller chip memori.   
Sejarah
Komputer menggunakan Intel mikroprosesor secara tradisional memiliki memory controller diimplementasikan pada motherboard mereka northbridge , tapi banyak modern mikroprosesor , seperti Desember / Compaq 's Alpha 21364 , AMD 's Athlon 64 dan Opteron prosesor, IBM 's POWER5 , Sun Microsystems 's UltraSPARC T1 , dan baru-baru Intel 's Core i7 dan Core i5 CPU memiliki memory controller terintegrasi (IMC) dari mikroprosesor untuk mengurangi latency memori .
Sementara memory controller terintegrasi memiliki potensi untuk meningkatkan kinerja sistem, mengunci mikroprosesor untuk jenis tertentu (atau jenis) dari memori, memaksa desain ulang dalam rangka untuk mendukung teknologi memori baru. Ketika DDR2 SDRAM diperkenalkan, AMD merilis Athlon 64 CPU baru. Model-model baru, dengan controller DDR2, menggunakan soket fisik yang berbeda (dikenal sebagai Socket AM2 ), sehingga mereka hanya akan cocok di motherboard dirancang untuk jenis baru dari RAM. Ketika kontroler memori tidak on-mati, CPU yang sama dapat diinstal pada motherboard baru, dengan diperbarui northbridge .
Integrasi memory controller ke mati mikroprosesor bukanlah konsep baru. Beberapa mikroprosesor di 1990-an, seperti Desember Alpha 21066 dan HP PA-7300LC kontroler memori, telah terintegrasi; Namun, bukan untuk keuntungan kinerja, ini dilaksanakan untuk mengurangi biaya sistem dengan menghilangkan kebutuhan untuk kontroler memori eksternal.
Beberapa CPU yang dirancang untuk memiliki kontroler memori mereka sebagai komponen eksternal yang didedikasikan yang bukan merupakan bagian dari chipset. Contohnya adalah IBM POWER8 , yang menggunakan eksternal Centaur chip yang dipasang pada DIMM modul dan bertindak sebagai buffer memori, L4 Cache chip, dan sebagai pengendali memori yang sebenarnya. Chip Centaur saat ini menggunakan memori DDR3 tetapi versi masa depan dapat menggunakan DDR4 atau beberapa teknologi memori lain tanpa perlu menukar POWER8 chip itu sendiri.
Tujuan
Kontroler memori berisi logika yang diperlukan untuk membaca dan menulis ke DRAM , dan "menyegarkan" DRAM . Tanpa refresh konstan, DRAM akan kehilangan data tertulis untuk itu sebagai kapasitor bocor mereka biaya dalam sepersekian detik (tidak kurang dari 64 milidetik sesuai dengan JEDEC standar).
Membaca dan menulis ke DRAM dilakukan dengan memilih alamat data baris dan kolom dari DRAM sebagai masukan kepada multiplexer sirkuit, di mana demultiplexer pada DRAM menggunakan input dikonversi untuk memilih lokasi memori yang benar dan mengembalikan data, yang kemudian melewati kembali multiplexer untuk mengkonsolidasikan data untuk mengurangi lebar bus yang diperlukan untuk operasi.
Lebar Bus adalah jumlah garis paralel yang tersedia untuk berkomunikasi dengan sel memori. Memory controller 'lebar bus berkisar dari 8-bit dalam sistem sebelumnya, untuk 512-bit dalam sistem lebih rumit dan kartu video (biasanya diimplementasikan sebagai empat 64-bit kontroler memori simultan beroperasi secara paralel, meskipun beberapa dirancang untuk beroperasi dalam mode "geng "di mana dua kontroler memori 64-bit dapat digunakan untuk mengakses 128-bit perangkat memori).
Beberapa kontroler memori, seperti yang terintegrasi ke PowerQUICC II prosesor, dapat dihubungkan ke berbagai jenis perangkat pada saat yang sama, termasuk SDRAM , SRAM , ROM , dan memori-dipetakan I / O ; setiap jenis perangkat ini memerlukan sedikit berbeda kontrol bus , sedangkan memory controller menyajikan umum sistem bus / bus front-side ke prosesor. Beberapa kontroler memori, seperti yang terintegrasi ke PowerQUICC II prosesor, termasuk deteksi dan koreksi kesalahan hardware.
Beberapa kontroler memori eksperimental mengandung tingkat kedua terjemahan alamat, selain tingkat pertama terjemahan alamat yang dilakukan oleh unit manajemen memori .
Kontroler memori terintegrasi ke tertentu Intel Core prosesor tambahan menyediakan fitur memori berebut yang mengubah data pengguna ditulis ke memori ke pseudo-acak pola. Dengan demikian, memori berebut mencegah forensik dan reverse-engineering analisis berdasarkan DRAM Data remanen , berdasarkan efektif rendering berbagai jenis serangan dingin boot tidak efektif.
Varian
Memori ganda data rate
Dua data rate (DDR) kontroler memori yang digunakan untuk menggerakkan DDR SDRAM , di mana data ditransfer pada kedua naik dan turun tepi jam memori sistem. Kontroler memori DDR secara signifikan lebih rumit jika dibandingkan dengan pengendali data rate tunggal, tetapi mereka memungkinkan untuk dua kali data yang akan ditransfer tanpa meningkatkan lebar clock rate atau bus sel memori ini.
Dual-channel memory
Dual Channel controller memori kontroler memori di mana perangkat DRAM dipisahkan ke dua bus yang berbeda untuk memungkinkan dua kontroler memori untuk mengaksesnya secara paralel. Ini menggandakan jumlah teoritis bandwidth dari bus. Secara teori, lebih banyak saluran dapat dibangun (saluran untuk setiap sel DRAM akan menjadi solusi ideal), namun karena jumlah kawat, garis kapasitansi , dan kebutuhan untuk jalur akses paralel untuk memiliki panjang yang sama, lebih banyak saluran sangat sulit untuk menambahkan .
Sepenuhnya buffered memory
Sistem memori buffer penuh menempatkan perangkat buffer memori pada setiap modul memori (disebut FB-DIMM ketika RAM Fully Buffered digunakan), yang tidak seperti perangkat kontroler memori tradisional, menggunakan data link serial ke memory controller bukan link paralel yang digunakan dalam desain RAM sebelumnya. Hal ini mengurangi jumlah kabel yang diperlukan untuk menempatkan perangkat memori pada motherboard (memungkinkan untuk sejumlah kecil lapisan yang akan digunakan, yang berarti perangkat memori lebih dapat ditempatkan pada papan tunggal), dengan mengorbankan meningkatkan latency (waktu diperlukan untuk mengakses lokasi memori). Kenaikan ini disebabkan oleh waktu yang dibutuhkan untuk mengubah informasi paralel membaca dari sel DRAM ke format seri yang digunakan oleh controller FB-DIMM, dan kembali ke bentuk paralel dalam memory controller pada motherboard.
Secara teori, perangkat buffer memori FB-DIMM yang dapat dibangun untuk mengakses sel DRAM, memungkinkan untuk desain kontroler memori agnostik sel memori, tetapi hal ini belum terbukti, karena teknologi ini dalam masa pertumbuhan.
Flash memory controller
Banyak memori flash perangkat, seperti USB memory stick, termasuk kontroler memori flash pada chip. Ini pada dasarnya adalah sama sebagai pengontrol RAM, kecuali bahwa memori flash tidak perlu terus-menerus disegarkan dan mempertahankan negara memori jika daya dihilangkan. Flash memori secara inheren lebih lambat untuk mengakses dari RAM dan sering menjadi tidak dapat digunakan setelah beberapa juta siklus tulis, yang umumnya membuatnya tidak cocok untuk aplikasi RAM.