CPU Sebuah mikroprosesor -atau juga dikenal sebagai CPU- adalah sebuah mesin komputasi lengkap, yang dibuat dalam satu chip. Mikroprosesor yang pertama dibuat adalah Intel 4004, yang diperkrnalkan pada tahun 1971. 4004 tidaklah begitu handal: hanya dapat melakukan operasi penambahan dan pengurangan hanya dapat melakukannya setiap 4 bit Akan tetapi sangat luar biasa bahwa semua komponennya dimuat dalam sebuah chip. Sebelum seri 4004, para insinyur membangun computer dari sekumpulan chip atau dari komponen yang berbeda.
Mikroprosesor pertama yang dipasarkan ke rumah adalah Intel 8008, computer 8-bit di dalam sebuah chip, yang diperkenalkan pada tahun 1974. Mikroprosesor pertama yang sukses di pasaran adalah Intel 8088, yang diperkenalkan pada tahun 1979 dan menjadi salah satu komponen IBM PC (yang muncul pertama kali pada sekitar tahun 1982). Pergerakan Generasi Prosesor dari seri Intel 8088: 80286 80386 80486 Pentium Pentium II Pentium III Pentium 4. ..... Pentium 4 mampu melakukan kode apapun yang berjalan pada seri 8008, dengan 5000 kali lebih cepat!
= CPU = 1
Name
Date Transistors Microns
Clock speed
Data width
MIPS
8080
1974
6,000
6
2 MHz
8 bits
0.64
8088
1979
29,000
3
5 MHz
16 bits 8-bit bus
0.33
80286
1982
134,000
1.5
6 MHz
16 bits
1
80386
1985
275,000
1.5
16 MHz
32 bits
5
80486
1989
1,200,000
1
25 MHz
32 bits
20
Pentium
1993
3,100,000
0.8
60 MHz
32 bits 64-bit bus
100
Pentium II
1997
7,500,000
0.35
233 MHz
32 bits 64-bit bus
~300
Pentium III
1999
9,500,000
0.25
450 MHz
32 bits 64-bit bus
~510
Pentium 4
2000 42,000,000
0.18
1.5 GHz
32 bits 64-bit bus
~1,700
Pentium 4 "Prescott"
2004 125,000,000
0.09
3.6 GHz
32 bits 64-bit bus
~7,000
Date adalah tahun pertama diperkenalkan Banyak prosesor yang diperkenalkan kembali pada clock yang lebih tinggi bertahun-tahun setelah tanggal keluaran (release date). Transistors adalah jumlah transistor pada chip Perhatikan bahwa jumlah transistor pada chip tunggal mengalami kenaikan. Microns adalah ukuran lebar, di dalam satuan micron. Sebagai perbandingan, sebuah rambut manusia adalah setebal 100 micron. Clock speed adalah siklus per sekon (cycle per second), satuannya adalah Hz. Data Width adalah lebar data dari ALU. Sebuah ALU 8-bit dapat melakukan penambahan/pengurangan/perkalian/dll dua bilangan 8bit, sementara ALU 32-bit dapat memanipulasi angka 32-bit. sebuah ALU 8-bit harus melakukan 4 instruksi untuk menambahkan dua buah angka 32 bit, sedangkan ALU 32-bit melakukannya dengan satu kali instruksi. MIPS adalah "millions of instructions per second" dan adalah perkiraan kasar dari kinerja CPU.
Sebuah mikroprosesor menjalankan sekumpulan instruksi mesin yang memberitahukan kepada prosesor apa yang harus dilakukan. Berdasarkan instruksi tersebut, sebuah mikroprosesor melakukan 3 hal dasar: Menggunakan ALU, dapat menjalankan operasi matematika Dapat memindahkan data dari suatu lokasi memori ke lainnya Dapat membuat keputusan dan lompat menuju sekumpulan instruksi berdasarkan keputusan tersebut
= CPU = 2
Mikroprosesor ini memiliki: Satu Address Bus (lebar 8, 16, 32) yang mengirimkan sebuah alamat ke memori Satu Data Bus (lebar 8, 16, 32) yang dapat: mengirimkan data ke memori, atau menerima data dari memori Satu RD (read) dan WR(write) line, yang memberitahukan memori apakah membutuhkan set atau get address Satu Clock Line yang mengijinkan sebuah clock pulse melakukan sequence terhadap processor Satu Reset Line yang melakukan reset terhadap Program Counter ke nol atau nilai lain dan memulai kembali ekseskusi.
Komponen Mikroprosesor:
Register A, B, dan C adalah latch Address latch serupa dengan Register A, B, dan C Program Counter adalah sebuah latch, dengan kemampuan khusus Penambahan 1 jika diberikan perintah penambahan, dan Reset. ALU dapat berupa Adder 8-bit. Dengan kemampuan: Penambahan, Pengurangan, Perkalian, dan Pembagian Test Register adalah: sebuah latch khusus yang dapat menyimpan nilai dari perbandingan, yang dijalankan di dalam ALU. Sebuah ALU normal membandingkan dua angka dan menentukan apakah keduanya: sama dengan, lebih besar, dll. Dapat menyimpan sebuah carry bit dari tahap terakhir Adder. Terdapat enam kotak bertanda "3-State" dalam diagram. Mereka adalah tr-state-buffers, yang dapat menyalurkan sebuah 1, sebuah 0, atau melakukan disconnect terhadap outputnya. Sebuah tri-state-buffer memungkinkan multiple output terhubung ke suatu kabel, tetapi hanya satu dari mereka (multiple output) menyalurkan sebuah 1 atau sebuah 0. Instruction Register dan Instruction Decoder bertanggung jawabare untuk mengendalikan semua komponen lain.
= CPU = 3
Although they are not shown in this diagram, there would be control lines from the instruction decoder that would:
Tell the A register to latch the value currently on the data bus Tell the B register to latch the value currently on the data bus Tell the C register to latch the value currently output by the ALU Tell the program counter register to latch the value currently on the data bus Tell the address register to latch the value currently on the data bus Tell the instruction register to latch the value currently on the data bus Tell the program counter to increment Tell the program counter to reset to zero Activate any of the six tri-state buffers (six separate lines) Tell the ALU what operation to perform Tell the test register to latch the ALU's test bits Activate the RD line Activate the WR line
Microprocessor Memory Di dalam contoh mikroprosesor, kita memiliki sebuah Address Bus dengan lebar 8-bit sebuah Data Bus dengan lebar 8-bit Itu berarti mikroprosesor dapat melakukan pengalamatan sebanyak 256(2 8) Byte dari memory, dan dapat membaca atau menulis sebanyak 8-bit memory setiap waktu. Asumsi yang digunakan adalah mikroprosesor yang kita gunakan memiliki 128-Byte ROM mulai dari alamat 0, dan 128-Byte RAM mulai dari alamat 128.
ROM adalah singkatan dari Read-Only Memory. Sebuah Chip ROM diprogram dengan sekumpulan Byte yang telah ditentukan (pre-set Bytes). Address Bus memberitahukan ROM-chip Byte mana yang akan diambil dan ditempatkan di dalam Data Bus. Ketika RD line berubah nilai, maka ROM-chip meletakkan Byte yang dipilih ke Data Bus. Pada PC, ROM juga disebut sebagai BIOS. Pada saat mikroprosesor mulai dijalankan, mikroprosesor mulai melakukan eksekusi instruksi yang ditemukan di dalam BIOS. Instruksi BIOS melakukan: Menguji hardware Mengambil boot sector, kemudian menyimpannya di RAM Kemudian, mikroprosesor mulai melakukan eksekusi terhadap instruksi boot sector dari RAM. Boot sector akan memberitahukan mikroprosesor untuk mengambil sesuatu dari hard disk ke dalam RAM yang akan dieksekusi oleh mikroprosesor, dan seterusnya...
RAM adalah singkatan Random-Access Memory. RAM berisi Byte informasi, dan mikroprossor dapat membaca atau menulis pada Byte tersebut bergantung pada manakah RD line atau WR line mendapat sinyal. Permasalahannya adalah jika daya listrik tidak ada, maka RAM tidak bisa mengingat. Untuk itulah diperlukan ROM.
= CPU = 4
a=1; f=1; while (a <= 5) { f = f * a; a = a + 1; }
LOADA mem - Load register A from memory address LOADB mem - Load register B from memory address CONB con - Load a constant value into register B SAVEB mem - Save register B to memory address SAVEC mem - Save register C to memory address ADD - Add A and B and store the result in C SUB - Subtract A and B and store the result in C MUL - Multiply A and B and store the result in C DIV - Divide A and B and store the result in C COM - Compare A and B and store the result in test JUMP addr - Jump to an address JEQ addr - Jump, if equal, to address JNEQ addr - Jump, if not equal, to address JG addr - Jump, if greater than, to address JGE addr - Jump, if greater than or equal, to address JL addr - Jump, if less than, to address JLE addr - Jump, if less than or equal, to address STOP - Stop execution
// Assume a is at address 128 // Assume F is at address 129 0 CONB 1 // a=1; 1 SAVEB 128 2 CONB 1 // f=1; 3 SAVEB 129 4 LOADA 128 // if a > 5 the jump to 17 5 CONB 5 6 COM 7 JG 17 8 LOADA 129 // f=f*a; 9 LOADB 128 10 MUL 11 SAVEC 129 12 LOADA 128 // a=a+1; 13 CONB 1 14 ADD 15 SAVEC 128 16 JUMP 4 // loop back to if 17 STOP
= CPU = 5
ROM Each of these assembly language instructions must be represented by a binary number. For the sake of simplicity, let's assume each assembly language instruction is given a unique number, like this: LOADA - 1 LOADB - 2 CONB - 3 SAVEB - 4 SAVEC mem - 5 ADD - 6 SUB - 7 MUL - 8 DIV - 9 COM - 10 JUMP addr - 11 JEQ addr - 12 JNEQ addr - 13 JG addr - 14 JGE addr - 15 JL addr - 16 JLE addr - 17 STOP - 18
The numbers are known as opcodes. In ROM, our little program would look like this: // Assume a is at address 128 // Assume F is at address 129 Addr opcode/value 0 3 // CONB 1 1 1 2 4 // SAVEB 128 3 128 4 3 // CONB 1 5 1 6 4 // SAVEB 129 7 129 8 1 // LOADA 128 9 128 10 3 // CONB 5 11 5 12 10 // COM 13 14 // JG 17 14 31 15 1 // LOADA 129 16 129 17 2 // LOADB 128 18 128 19 8 // MUL 20 5 // SAVEC 129 21 129 22 1 // LOADA 128 23 128 24 3 // CONB 1 25 1 26 6 // ADD 27 5 // SAVEC 128 28 128 29 11 // JUMP 4 30 8 31 18 // STOP
= CPU = 6
Elektron: Partikel sub-atomik yang membawa muatan listrik negatif. Termasuk ke dalam golongan partikel dasar, harena tidak mempunyai substruktur atau komponen.
Positron: Partikel sub-atomik yang membawa muatan listrik positif. Termasuk ke dalam golongan partikel dasar, harena tidak mempunyai substruktur atau komponen. Jika bertabrakan dengan dengan sebuah elektron, maka keduanya akan musnah, akan menghasilkan sebuah atau beberapa pasang photon sinar gamma (gamma ray photons).
Semikonduktor: Sebuah bahan yang dapat bertindak sebagai konduktor dan insulator Konduktor: bahan yang memungkinkan arus elektron Insulator: bahan yang menghalangi arus elektron
Transistor: sebuah alat semikonduktor yang umum digunakan untuk memperkuat sinyal atau sebagai saklar sinyal elektronik. Banyak terdapat di dalam IC (Integrated Circuit)
Latch: Sirkuit elektronik yang memiliki dua state, dan dapat menyimpan satu bit informasi.
= CPU = 7
ALU (Arithmetic Logic Unit) Sirkuit kecepatan tinggi yang dimiliki oleh CPU yang bertugas melakukan perhitungan dan perbandingan. Angka diteruskan dari Memory ke dalam ALU untuk perhitungan, dan hasilnya dikirimkan kembali ke Memory. Data alfanumerik dikirimkan dari memori ke dalam ALU untuk perbandingan. Hasilnya akan diuji oleh sejumlah GOTO: IF ITEMA EQUALS ITEMB GOTO UPDATE ROUTINE. Beberapa chip memiliki sejumlah ALU yang memungkinkan perhitungan secara bersamaan. Sebagai contoh, , Chromatic Research's Mpact media processor chip memiliki 450 ALU. memungkinkan audio, video dan proses multimedia dijalankan secara bersamaan.
This was an arithmetic logic unit you sit back and admire. It was part of Honeywell's Datamatic 1000 computer
30 tahun kemudian
The ALU embedded within this 386 chip would fit on the end of a pencil eraser with room to spare
Matematikawan, John Von Neumann, memperkenalkan konsep ALU di tahun 1945, ketika ia menulis sebuah laporan pada sebuah yayasan untuk sebuah komputer baru yang disebut EDVAC. Pada tahun 1946, bersama dengan para koleganya, Ia bekerja untuk merancang sebuah computer untuk IAS (Institute for Advanced Study). Komputer ini menjadi prototipe untuk komputer mendatang. Di dalam proposal, von Neumann menggarisbawahi = CPU = 8
apa yang ia yakini tentang kebutuhan dari mesinnya, termasuk diantaranya adalah ALU. von Neumann menyatakan bahwa sebuah ALU adalah sebuah kebutuhan untuk sebuah computer karena computer akan harus melakukan operasi matematika sederhana, termasuk didalamnya penambahan, pengurangan, perkalian, dan pembagian. Ia sangat yakin, bahwa sangatlah beralasan computer membutuhkan organ khusus untuk operasi tersebut. Tinjauan Umum Sebagian besar operasi prosesor dilakukan oleh lebih dari 1 ALU. Sebuah ALU memuatkan data dari Input Register, sebuah Contro Unit memberitahukan ALU operasi yang akan dilakukan terhadap data tersebut. Kemudian, ALU menyimpan hasil ke dalam sebuah Output Register. Operasi Sederhana: (Sebagian besar ALU dapat melakukan operasi) Operasi Aritmetika integer Addition (penambahan) Subtraction (pengurangan) Multiplication (perkalian) Division (pembagian) Operasi Logika Bitwise And, Not, Or, XOr) Operasi Bit-Shift memindahkan atau merotasi sebuah word dengan sejumlah bit yang telah ditentukan ke kanan atau ke kiri, dengan atau pun tanpa sign extension. Shift dapat diartikan sebagai perkalian dengan 2 dan pembagian dengan 2.
= CPU = 9