EE-2623 Mikroprosesor & Antarmuka Materi 1 Team Dosen 2006 Kuliah 1 pendahuluan Tujuan : Menarik minat mahasiswa untuk belajar mikroprosesor Cara : Mengenalkan contoh-contoh penggunaan mikroprosesor dalam kehidupan sehari-hari
Pendahuluan Mikroprosesor telah menjadi bagian dari kehidupan modern, hampir semua benda elektronik berbasis mikroprosesor Menarik minat mahasiswa untuk mempelajari
Aplikasi Mikroprosesor (µP) Hiburan Sistem Kendali Alat rumah tangga Alat perkantoran Kendaraan dll Hiburan : mp3 player, dvd, vcd, kamera digital dll Sistem kendali : fly by wire/light, plc, cnc Alat rumah tangga : timbangan, timer, microwave open,mesin cuci, jam tangan Alat perkantoran :komputer, ac, Kendaraan : ecu, sistem navigasi, audio
Keunggulan mikroprosesor Dibandingkan dengan implementasi menggunakan komponen diskrit: Lebih fleksibel (programable) Komponen lebih sedikit Dibandingkan dengan implementasi software Lebih cepat Memperlihatkan keunggulan mikroprosesor thdp komponen diskrit dan software
Sejarah Sempoa Cina abad ke 10 sebelum Masehi Eniac: 1943 Desimal 20 accumulator 10 digit 30 ton, 18000 tabung vacum, daya 140 kW µP 4 bit: i4004 (1971) Hanya bisa add dan sub µP 8 bit: i8008 µP 16 bit: i8086/i8088/80286 µP 32 bit I80386/80486/Pentium µP 64 bit AMD Athlon64 Sejarah Alat hitung mekanik Eniac 4 bit (4004) 8 bit (8080, 6802, 6800, Z80) 16 bit (68000, Z8000, 8088/8086) 32 bit (386, 486, 565, PowerPC)
(R)Evolusi µP Intel Teknologi IC menentukan kompleksitas prosesor Name Date Transistors um Clock Memory Data width MIPS 8080 1974 6,000 6 2 MHz 64 kB 8 bits 0.64 8088 1979 29,000 3 5 MHz 1 MB 16 bits 8-bit bus 0.33 80286 1982 134,000 1.5 6 MHz 16 MB 16 bits 1 80386 1985 275,000 16 MHz 4 GB 32 bits 5 80486 1989 1,200,000 25 MHz 20 Pentium 1993 3,100,000 0.8 60 MHz 64 GB 32 bits 64-bit bus 100 Pentium II 1997 7,500,000 0.35 233 MHz ~300 Pentium III 1999 9,500,000 0.25 450 MHz ~510 Pentium 4 2000 42,000,000 0.18 1.5 GHz ~1,700 Pentium 4 "Prescott" 2004 125,000,000 0.09 3.6 GHz ~7,000 Core-i7 2009 Teknologi IC menentukan kompleksitas prosesor Perkembangan sistem Kecepatan : seharusnya MIPS = f(Hz,Operation/Clock), tetapi mudahnya dalam Hz saja Lebar memori Lebar data
Sistem Bilangan (Review TekDig) Desimal Biner 8 bit 16 bit 20 bit Hexa Notasi Umum 59 255 1 k 32k 64 k 1 M 0011 1111 1111 1111 - 96 0111 1111 1111 1111 1111 3FF Komputer digital beroperasi dengan simbol ‘0’ dan ‘1’ sehingga pada dasarnya semua jenis bilangan harus dinyatakan dengan simbol tersebut, termasuk bilangan positif, negatif, pecahan, eksponensial dll Membiasakan mahasiswa untuk secara alami berbahasa biner dan heksa (terutama yang umum digunakan di dunia komputer)
Komponen Dasar Komputer : ALU ALU (Arithmetic and Logic Unit) + - x / or and xor not Arithmetic biner pada komputer pada dasarnya penjumlahan - adalah + menggunakan 2’s complement X adalah + dan geser kiri dilakukan berulang-ulang / adalah – dan geser kanan Operasi aritmetik memerlukan adder (FA & HA) dan register yang bisa digeser isinya (shift register) Mengenalkan ALU
FA Carry in Carry out S1 A1 B1 Sum = Carry-in xor A xor B Carry out = (A and B) or (Carry-in and B) or (Carry in and A) A – B = A + B’ + 1 (Carry-in) S2 A2 B2 S3 A3 B3
Model ALU Model Sis. Komp B n + - x / logic Accumulator Central Processing Unit CPU Memori I/O BUS
Operasi ALU A + B Ambil A (memori) ALU A (ALU) Acc Ambil B (memori) ALU A (Acc) ALU Proses + Hasil Acc A B n + - x / logic Accumulator
Intel 8088 ALU 16 bit Accumulator 8 bit AL 16 bit AX (AL+AH) ES CS SS DS 4 3 2 1 CONTROL SYSTEM AH AL BH BL CH CL DH DL SP BP SI DI OPERAND FLAGS C - BUS IP ALU INSTRUCTION STREAM BYTE QUEUE A BIU EU ALU 16 bit Accumulator 8 bit AL 16 bit AX (AL+AH) Register data tambahan BX Base CX Counter DX Data SP Stack Pointer BP Base Pointer SI Source Index DI Destination Index
Sign & Unsign Number Unsign number adalah cara menyatakan bilangan positif dengan menggunakan seluruh digit yang ada 8 bit (00000000 sd 11111111) menyatakan bilangan 0 sd 255) 16 bit (0000000000000000 sd 11111111111111) menyatakan bilangan 0 sd 65535 Sign number adalah cara menyatakan bilangan positif dan negatif dengan menggunakan bit MSB sebagai tanda + (0) dan – (1) 8 bit (00000000 sd 01111111) menyatakan bilangan 0 sd 127 dan (11111111 sd 10000000) menyatakan bilangan -1 sd -128 16 bit (0000000000000000 sd 01111111111111) menyatakan bilangan 0 sd 32767 dan (1111111111111111 sd 1000000000000000) menyatakan bilangan -1 sd -32768 Mengenalkan type bilangan (sign, unsign) Terangkan cara mendapatkan bilangan negatif 2’ complement
Operasi Aritmetika dan Flag Hasil operasi aritmetik dan logic Berguna untuk memberi tahu instruksi selanjutnya kondisi Execution Unit saat ini Zero, Carry, Overflow, Borrow, Aux. Carry Operasi aritmetik dan penanganannya dalam bentuk flag
Zero Zero adalah kondisi hasil operasi aritmetik dan logik yang menghasilkan 0 1 xor
Carry Carry adalah kondisi hasil penjumlahan yang melebihi kapasitas register 1 + FE FE + 1 FC Carry bit
Borrow Borrow adalah suatu kondisi hasil pengurangan 1 -
Overflow Overflow adalah kondisi yang terjadi saat penambahan dan pengurangan bilangan bertanda 1 +76 +68 + +144 - (negatif)
Floating Point S EXP exc127 Mantisa Biner 1 10000000 111000000000000000000000 - 1.111 x 21 10000010 000101000000000000000000 1000.101 01111111 000000100000000000000000 1.0000001 01111110 101010000000000000000000 -1.10101 2-1 00000000 00000000000000000000000 0.0 Format floating point
Reff
Tracing Instruksi Address Code Command AX CS IP Z C V 0000 135B 0100 CS:0100 B8 FF FF MOV AX,FFFF FFFF 0103 CS:0103 05 01 00 05 02 00 ADD AX,0001 ADD AX,0002 0001 0106 1
Tracing Instruksi Address Code Command AX CS IP Z C V S 0000 135B 0100 CS:0100 B8 4C FF MOV AX,FF4C FF4C 0103 CS:0103 2D CC FF SUB AX,FFCC FF80 0106 1
Tracing Instruksi Address Code Command AL CS IP Z C V A 00 135B 0100 CS:0100 B0 4C MOV AL,4C 4C 0102 CS:0102 04 44 ADD AL,44 90 0104 1