MİKROİŞLEMCİLER
Dr. Öğr. Üyesi Nesibe YALÇIN
https://nesibeyalcin.wordpress.com/bsm102/
BARTIN ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
• İşlemci, bilgisayarların verileri işleyen ve yazılım komutlarını gerçekleştiren bölümüdür. Diğer aygıtlardan gelen verileri aritmetik ve mantıksal işlemler yardımı ile işler, sonuca ulaşır ve sonucu gerekli yerlere gönderir.
• Mikroişlemciler, bulundukları elektronik yapıların beynidir. Bağlı oldukları mekanizmanın kontrolünü sağlarlar.
İşlemci veya Merkezi İşlem Birimi (CPU – Central Processing Unit)
• İşlemci ile diğer birimler arası iletişim hızı ne kadar yüksek ise bilgisayar performansı da o denli iyi olacaktır.
• İşlemcilerin hız birimleri Hz, MHz ve GHz olarak ifade edilirken gelişen teknoloji ile birlikte işlemcinin hız birimi GHz olmuştur.
İşlemci veya Merkezi İşlem Birimi (CPU – Central Processing Unit)
Mikroişlemcinin İç Yapısı
• ALU: Aritmetik ve mantıksal hesaplamalardan, transferlerden, kaydırmalardan sorumlu olan işlemcinin en önemli birimidir.
• Kontrol birimi: Tüm işlemlerin sırasını belirler ve gerekli denetim işaretlerini üretir.
• Kaydediciler: Mikroişlemci içerisindeki hafıza birimleridir, veri ya da adres bilgileri kaydedicilerde (register, yazmaç) tutulur.
• Veriyolu (Bus): İşlemcinin diğer donanım birimleri ile bağlantısını sağlayan iletken elektriksel yollardır.
Mikroişlemcinin İç Yapısı
Mikroişlemcinin İç Yapısı
7
Mikroişlemciler
• 1946 Vakum tüp teknolojisini kullanan ilk bilgisayar ENIAC
• 1958 İlk transistörlü bilgisayar TRADIC
8
Mikroişlemciler
• 1959 İlk entegre (IC)
• 1960’ larda entegreler CPU boardlarında kullanılmaya
başlandı.
• 1971 İlk mikroişlemci Intel 4004
• 1981 IBM 8088 mikroişlemcisini kullanan ilk PC sini satışa sundu.
9
İlk Mikroişlemci – Intel 4004
• İlk mikroişlemci 1971 yılında hesap makinası amacıyla
üretilen Intel firmasının 4004 adlı ürünüdür. Bir defada işleyebileceği verinin 4‐bit olmasından dolayı 4‐bitlik işlemci denilmekteydi.
• Saat hızı: 108 KHz • Transistör sayısı: 2,300 • 640 bayt bellek kapasitesi • 4-bit register • 4-bit veri yolu • 16 pinli soket
10
Intel 8008
• 1972
• Saat hızı: 800 KHz • Transistör sayısı: 3,500 • 8-bit register • 8-bit veri yolu • 16 KB
• Intel’in yanı sıra 8 bitlik mikroişlemci üreten diğer firmalar arasında 6800 ile Motorola, Z-80 ile Zilog firması, 6502 ile Mostek firması gelmektedir.
11
Intel 8008
12
Intel 8086
• 1978
• Saat hızı: 4.47 MHz • Transistör sayısı: 29,000 • 16-bit register • 16-bit veri yolu • 1MB adresleme kapasitesi
• Hem dahili hem de harici veri iletimi 16 bit
13
Intel 8088 • 1981
• Saat hızı: 4.47 MHz • Transistör sayısı: 29,000 • 16-bit register • 16-bit veri yolu • 1MB adresleme kapasitesi
• Dünyanın ilk kişisel bilgisayarı (IBM PC), 8088 mikroişlemcisini kullanmıştır.
• Dahili veri iletiminde 16 bit haberleşme, harici birimlerle 8 bit haberleşme kullanmakta.
14
Intel Pentium • 1993
• Saat hızı: 66 MHz • Transistör sayısı: 3,300,000 • 32-bit register • 32-bit veri yolu
15
Intel
Pentium
16
Intel Pentium 4 • 2000
• Saat hızı: 1 GHz • Transistör sayısı: 15,500,000 • 64-bit register • 64-bit veri yolu
17
Intel Core 2/Quad • 2006/2007
• Saat hızı: 3.6 GHz • Transistör sayısı: 214,500,000 • 32-bit register • 32-bit veri yolu
18
Mikroişlemcide Çekirdek Kavramı • Her işlemci çekirdeği (core), ayrı bir merkezi işlem birimidir.
Başka bir ifade ile çipin işlem yapan bölümüdür.
• Örneğin çift çekirdekli işlemci, tek çipli bir işlemci gibi görünür ancak içerisinde iki işlem birimi vardır. Ek merkezi işlem birimleri, birden çok işi aynı anda yapabilirler.
• Çift çekirdek, hızı ikiye katlamaz!!
19
Mikroişlemcide Çekirdek Kavramı • Programların çoklu işlemcilerden fayda görmeleri için özel
olarak geliştirilmeleri gerekir. Daha fazla çekirdek, ancak bir program yapacağı işleri çekirdekler arasında bölümlendirebilirse daha hızlı işlem yapar.
• Çekirdek sayısı arttıkça, elektrik sarfiyatı da artar. İşlemci devreye girdiğinde sadece birine değil, hepsine elektrik sağlar.
• İşlemcinin açığa çıkardığı ısı, çekirdek sayısıyla doğru orantılı olarak artabilir.
20
MİKROİŞLEMCİ
MİMARİLERİ
• Mikroişlemci mimarileri en yaygın olarak bellek yönetimi ve komut işleme teknikleri olarak iki şekilde sınıflandırılır.
I. Bellek Yönetimi Açısından:
Von Neumann
Harvard
II. Komut İşleme Teknikleri Açısından:
CISC- Complex Instruction Set Computer (Karmaşık Komut Kümeli Bilgisayar)
RISC- Reduced Instruction Set Computer (Azaltılmış Komut Kümeli Bilgisayar)
Temel Mikroişlemci Mimarileri
22
Von Neumann Mimarisi • Modern bilgisayarın babası kabul edilen matematikçi ve fizikçi
John von Neumann tarafından ortaya atılmıştır.
• İşlemci ile bellekten oluşan ve bunlar arasındaki ilişkiyi gösteren ilk ve önemli bilgisayar tasarımıdır.
• Intel x86, Pentium, AMD Athlon
23
Harvard Mimarisi • Günümüzde daha çok görüntü, ses işleme, yüksek hız
gerektiren uygulamalarda Harward mimarisine sahip mikroişlemciler (DSP’ler, ARM Cortex..) kullanılır.
1960’larda geliştirilmiştir. CISC mimaride, "donanım yazılımdan hızlıdır" prensibi geçerlidir.
Mikroişlemci çok sayıda komut içerir ve her eylem için bir komut tanımlanmıştır. Böylece yüzlerce komut arasından seçilen komutlarla yazılan program daha kısa olmaktadır. Bu da gerekli bellek gereksiniminde tasarruf sağlar.
CISC işlemciler karmaşık kodları çözmek için daha yoğun donanım kullanırlar.
CISC
İşlemcinin performansını arttırmak amacıyla daha az bellek erişimi yapan ve daha az sayıda komut kullanan RISC mimarisi geliştirilmiştir.
Daha basit komutlar kullanarak tümdevre karmaşıklığı azaltılmaktadır. Ancak komutların daha kısa olması belli bir görevin tamamlanabilmesi için daha fazla komuta ihtiyaç duyulur.
RISC
• PC piyasasında ise CISC mimariler popüler olarak kullanılmaktadır (Intel, AMD).
• RISC mimarileri PC sektöründe olmasa da SUNUCU sektörünü tamamen işgal etmiştir: SUN ve IBM tarafından üretilen sunucuların işlemcileri RISC mimarisinde tasarlanmıştır.
CISC RISC
-Karmaşık assembly komutları +Daha anlaşılır ve basit kod kullanımı
+Daha az saat çeviriminde daha çok iş -Aynı işlev için daha uzun program kodu
-Uzun süren kod çevrim aşamaları +Daha hızlı kod işletimi
-Daha çok donanım +Daha az donanım
RISC ve CISC
RISC ve CISC
1.Kod Bellekten program kodunun getirilmesi (FI-Fetch Instruction) 2.Kodun Çözülmesi (DI-Decode Instruction) 3.Komutun ALU’da çalıştırılması (EI-Execute Instruction) 4.Sonucun ilgili kaydediciye yüklenmesi (WB- Write back Result)
Mikrodenetleyici • İşlemci çevresinde yapılandırılmış, bellek,
programlanabilir giriş ve çıkışlar (input-output), analog-dijital dönüştürücü, sinyal üretici, sayıcı, iletişim arabirimi, kristal salınım üretici gibi çevre birimlerinin tek bir yonga şeklinde üretildiği bir mikro bilgisayardır.
28
Mikroişlemci ve Mikrodenetleyici
Mikroişlemci Mikrodenetleyici
• Sadece CPU içerir, RAM, ROM, I/O, timer vb. ayrıca bağlanır.
• Tasarımcı ROM, RAM ve I/O portlarının büyüklerini kendisi belirler ve ona göre tasarımı gerçekleştirir.
• Pahalıdır. • Çok yönlüdür. • Genel amaçlıdır. • Bilgisayarlarda kullanılmaktadır.
• CPU, RAM, ROM, I/O, timer vb. birimler tek bir çip içerine konulmuştur.
• Dahili ROM, RAM ve I/O portları mevcuttur, ayrıca bir tasarım gerektirmez.
• Ucuzdur. • Tek (özel) amaçlıdır. • Alarmlı saatlerde, mikrodalga
fırınlarda, bulaşık makinelerinde, buzdolaplarında gibi elektronik kontrol gerektiren birçok cihazda kullanılmaktadırlar.
29
Hafıza Birimleri
• RAM (Random Access Memory): Rastgele erişim yapılan
bellektir. Güç verildiği sürece bilgileri saklar.
• ROM (Read Only Memory): Yalnızca okunabilir bellek, değişiklik
yapılamaz.
• PROM (Programmable Read Only Memory): Programlanabilir ROM bellek. Sadece 1 defa programlanabilir.
• EPROM (Erasable Programmable Read Only Memory): Programlanabilir ve silinebilir ROM bellek. Silme işlemi mor ötesi (ultraviyole) ışınlarla yapılır.
• E2PROM (Electrically Erasable Programmable Read Only Memory): Programlanabilir ve silinebilir ROM bellek. Silme
işlemi elektrik sinyalleri ile yapılır.
30
Mikroişlemci Birimleri
• ADC (Analog to Digital Converter)
• DAC (Digital to Analog Converter)
• PWM (Pulse Witdh Modulation)
• Kesme (Interrupt)
• Zamanlayıcı (Timer)
• SPI (Serial Peripheral Interface)
• I2C (Inter Integrated Circuit)
• USART (Universal Synchronous Asynchronous Receiver Transmitter)
• LCD,GLCD (Liquid Crystal Display, Graphic Liquid Crystal Display)
31
32
Mikroişlemci ve Mikrodenetleyici
Çeşitleri
• PIC (PIC16F877, PIC16F84)
• ARM (Stm32f4)
• RASPBERRY PI (1, 2, 3)
• ARDUINO (Uno, Mega)
33
Mikroişlemci ve Mikrodenetleyici
Çeşitleri
34
Mikroişlemci Programlama
• Makine kodu (Machine Code)
• Düşük seviyeli diller (Assembly)
• Yüksek seviyeli diller (C, C++, Java)
• Uygulama Düzeyi Diller (Visual Basic)
35
Kullanım Alanları
• Kullanım alanlarının bir kısmı bilgisayarlar olsa da en büyük kullanım alanları gömülü sistemlerdir.
• “Herhangi bir sistem içerisinde yer alarak, o sistemi akıllı hale getiren elektronik donanım ve yazılım ile oluşmuş entegre sisteme gömülü sistem denir.”
• Elektronik devrelerde işlerin manuel olarak değil, belli bir döngüde yer alan komutlara göre işlenebilmesinde, otomasyon ve kontrol sistemlerinde sıklıkla kullanılırlar.
36
Gömülü Sistem ve Uygulamaları
– Cep telefonu – Televizyon – Video kamera – Alarmlı saat – Fotoğraf makinesi – Hırsız alarmı – Mikrodalga fırın – Mutfak robotu – Çamaşır makinesi – Tansiyon ölçme cihazı – Elektronik oyuncaklar vb.
37