Mikroilemciler Giri 1 erik Tarihi geliim Tanmlar Mikroilemci

  • Slides: 34
Download presentation
Mikroişlemciler Giriş 1

Mikroişlemciler Giriş 1

İçerik Tarihi gelişim Tanımlar Mikroişlemci tabanlı sistemler Sayı sistemleri 2

İçerik Tarihi gelişim Tanımlar Mikroişlemci tabanlı sistemler Sayı sistemleri 2

Tarihi gelişimi 3

Tarihi gelişimi 3

Programlama gelişmeleri • Programlanabilir makineler geliştirilmeye başlanınca, programlar ve programlama dilleri de gelişmeye başladı

Programlama gelişmeleri • Programlanabilir makineler geliştirilmeye başlanınca, programlar ve programlama dilleri de gelişmeye başladı • Bağlantıların yeri değiştirilerek programlama yapmak oldukça zor olduğu için, bilgisayar dilleri gelişmeye başladı. • İlk makine dili, birler ve sıfırlar ile geliştirildi. – Hafızada program denilen bir grup komut biçiminde idi 4

Assembly dili • 1950 lerin başlarında, UNIVAC benzeri sistemlerin gelişmesi ile, digital komutların girilmesini

Assembly dili • 1950 lerin başlarında, UNIVAC benzeri sistemlerin gelişmesi ile, digital komutların girilmesini kolaylaştıran assembly dilleri kullanılmaya başlandı. • Assembler, kullanıcıların anlaşılabilir kodlar yazmasına izin verdi… – Toplama için ADD komutu gibi • Digital komutlar yerine – 0100 0111 gibi • Assembly dili, programlama yapmak için kullanışlı bir araç haline geldi. 5

Yüksek seviye programlama dilleri 1957, FLOWMATIC, Grace Hopper 1957, FORTRAN, IBM 1958, ALGOL COBOL

Yüksek seviye programlama dilleri 1957, FLOWMATIC, Grace Hopper 1957, FORTRAN, IBM 1958, ALGOL COBOL RPG BASIC, PASCAL, ADA C / C++ / C# / JAVA 6

Yüksek seviye programlama dilleri ve assembly • Bilimsel camia genellikle C/C++ kullanır. – Bazen

Yüksek seviye programlama dilleri ve assembly • Bilimsel camia genellikle C/C++ kullanır. – Bazen PASCAL ve FORTRAN • Güncel bir istatistik, gömülü sistem geliştiricilerinin yaklaşık % 60’ının C programlama dilini kullandıklarını göstermektedir. – % 30 assembly dilini kullanır – Geri kalanlar ise genellikle BASIC ve JAVA 7

Assembly’nin önemi • C/C++, genellikle assembly dili kullanan düşük seviye kontrol yazılımlarında kullanılmaya başlandı.

Assembly’nin önemi • C/C++, genellikle assembly dili kullanan düşük seviye kontrol yazılımlarında kullanılmaya başlandı. • Ancak, assembly dili hala önemli bir yere sahiptir. – Çoğu video oyunu, neredeyse tamamen assembly dilinde yazılır • Assembly ayrıca, C/C++ ile entegre olarak, bazı kontrol fonksiyonlarının daha hızlı gerçekleştirilmesini sağlar. – Pentium ve çift çekirdekli işlemcilerde kullanılan bazı paralel komutlar, sadece assembly dilinde yazılır. 8

İkili sayı sistemi • Bit: 1, 0 • nibble: 4 -bit • Byte: 8

İkili sayı sistemi • Bit: 1, 0 • nibble: 4 -bit • Byte: 8 -bit • Word: 16 -bit • 1 KB = 1024 Byte = 210 Byte • 1 MB = 1024 KB = 220 Byte • 1 GB = 230 Byte, 1 TB = 240 Byte • B: byte b: bit – 8 Mbps = 8 Megabits per second (Saniyede 8 Mb - ADSL hızı) 9

Mikroişlemci Çağı • 1971, Intel 4004 ve 4040 – – 4 -bit mikroişlemciler 4096

Mikroişlemci Çağı • 1971, Intel 4004 ve 4040 – – 4 -bit mikroişlemciler 4096 adetlik 4 -bit hafıza bölümü 45 komut Çoğu hesap makinesi ve düşük seviye uygulamalar (mikrodalga fırınlar gibi) hala 4 -bitlik mikroişlemciler kullanır • 1972, Intel 8008 – – 10 8 -bit mikroişlemci 16 K satırlık hafıza 48 komut Saniyede 50, 000 komut

Mikroişlemciler (devamı) 1973, Intel 8080 64 K hafıza satırı Saniyede 500, 000 komut (komut

Mikroişlemciler (devamı) 1973, Intel 8080 64 K hafıza satırı Saniyede 500, 000 komut (komut başına 2 s) 1974, Motorola 6800 1974, İlk kişisel bilgisayar 1977, Intel 8085 Saniyede 769, 230 (komut başına 1. 3 s) Dahili saat ve sistem yöneticisi 11

Modern Mikroişlemciler 1978, Intel 8086 ve 8088 16 bit mikroişlemciler Komut başına 400 ns.

Modern Mikroişlemciler 1978, Intel 8086 ve 8088 16 bit mikroişlemciler Komut başına 400 ns. Saniyede 2, 5 milyon komut 1 M satırlık hafıza Çarpma ve bölme komutları 20, 000’den fazla komut çeşitliliği Komut sayısı çok fazla olan mikroişlemcilere CISC (complex instruction set computers – Karmaşık komut setli işlemci) ismi verilir 12

Modern Mikroişlemciler • 1983, Intel 80286 – 16 M büyüklüğünde hafıza – Arttırılmış saat

Modern Mikroişlemciler • 1983, Intel 80286 – 16 M büyüklüğünde hafıza – Arttırılmış saat hızı (8 MHz) – Bazı komutların sağlanması 250 ns. alır • 1986, Intel 80386 – 32 bit mikroişlemci – 4 GB büyüklüğünde hafıza • 1989, Intel 80486 – 80386 gibi. Ancak, komutların çalıştırılması, iki değil tek saat çevriminde yapılır – 8 KB önbellek 13

Pentium Mikroişlemci 1993, Intel Pentium (P 5 veya 80586) Giriş verisyonları, 60 & 66

Pentium Mikroişlemci 1993, Intel Pentium (P 5 veya 80586) Giriş verisyonları, 60 & 66 MHz saat frekanslarında ve 110 MIPS hızında çalışmakta idi 16 KB önbellek 30 Hz ve üzerinde video gösterimine olanak tanımakta idi. 14

Modern Mikroişlemciler • Pentium Pro • Pentium III • Pentium IV • Core 2

Modern Mikroişlemciler • Pentium Pro • Pentium III • Pentium IV • Core 2 • Quad Core • 64 -bit mikroişlemciler • … 15

Tanımlar 16

Tanımlar 16

Entegre Devre Diğer adıyla IC, mikrodevre, mikroçip, silikon çip, veya çip İnce bir tabaka

Entegre Devre Diğer adıyla IC, mikrodevre, mikroçip, silikon çip, veya çip İnce bir tabaka halindeki yarıiletken materyal üzerinde oluşturulmuş olan minyatür elektronik devre genellikle yarıiletken ve pasif devre elemanlarından oluşur 17

Mikroişlemci • Merkezi işlemci ünitesi (CPU) fonksiyonlarını tek bir entegre devre üzerinde toplayan programlanabilir

Mikroişlemci • Merkezi işlemci ünitesi (CPU) fonksiyonlarını tek bir entegre devre üzerinde toplayan programlanabilir sayısal elektronik bileşen. • 8 -bit, 16 -bit, 32 -bit, ve 64 -bit mikroişlemci: Tek bir seferde manipüle edilen bit sayısı. Programların çalıştırılabilmesi için harici bir hafızaya ihtiyaç duyabilir. 18

Mikroişlemci ve Mikrodenetleyici • Mikrobilgisayar: CPU olarak bir mikroişlemci kullanan bir bilgisayar. • Mikrodenetleyici

Mikroişlemci ve Mikrodenetleyici • Mikrobilgisayar: CPU olarak bir mikroişlemci kullanan bir bilgisayar. • Mikrodenetleyici (veya MCU): Bir çipin üzerindeki bilgisayar. Kendine yetebilirlik ve maliyet düşüklüğüne önem veren bir mikroişlemci. • Mikrodenetleyici ile mikroişlemci arasındaki tek fark: • Mikroişlemcide sadece ALU, kontrol ünitesi ve register’lar bulunur. • Mikrodenetleyicide ise ROM, RAM, harici üniteler (zamanlayıcı, Girdi/Çıktı portları ve benzeri) bulunur. 19

Mikroişlemci tabanlı kişisel bilgisayar sistemi 20

Mikroişlemci tabanlı kişisel bilgisayar sistemi 20

Mikroişlemci tabanlı bilgisayar sistemi 21

Mikroişlemci tabanlı bilgisayar sistemi 21

Temel bileşenler 22

Temel bileşenler 22

23

23

Mikroişlemci • Mikroişlemciye aynı zamanda Merkezi İşlem Ünitesi (Central Processing Unit - CPU) de

Mikroişlemci • Mikroişlemciye aynı zamanda Merkezi İşlem Ünitesi (Central Processing Unit - CPU) de denilir. • CPU, bilgisayar sistemini kontrol eden elemandır. • CPU hafızayı ve girdi/çıktıları bus denilen bağlantılar sayesinde kontrol eder. – Bus: Girdi/çıktı veya hafıza ünitesini seçer, farklı bileşenler arasındaki veri akışlarını gerçekleştirir. • Hafıza ve Girdi/Çıktı üniteleri, hafızada bulunan ve mikroişlemci tarafından çalıştırılan komutlar sayesinde kontrol edilir. 24

Mikroişlemci • Mikroişlemcinin üç temel işlevi bulunur: – Kendisi ile hafıza ve girdi/çıktı sistemleri

Mikroişlemci • Mikroişlemcinin üç temel işlevi bulunur: – Kendisi ile hafıza ve girdi/çıktı sistemleri arasındaki veri akışını kontrol eder. – Temel aritmetik ve mantık operasyonlarını gerçekleştirir. – Temel karar mekanizmaları ile program akışını kontrol eder. • CPU aşağıdaki bileşenlerden oluşur: – Aritmetik Mantık Ünitesi: Arithmetic Logic Unit (ALU) – Register’lar – Kontrol Ünitesi 25

ALU • Aritmetik ve mantık operasyonlarını gerçekleştirir. • Ana hafızadan ve/veya register’lardan verileri alır

ALU • Aritmetik ve mantık operasyonlarını gerçekleştirir. • Ana hafızadan ve/veya register’lardan verileri alır ve sonuçların bu ünitelere yazılmasını sağlar. • Mikroişlemci, bir sayının sıfır mı, pozitif mi … ve benzeri durumlarını kontrol eder. • Bu durumları da göz önüne alarak oluşturulan program akışı sayesinde, sistem ile ilgili temel kararlar verilmesine olanak tanır. 26

Aritmetik ve mantık operasyonları Operasyon Addition Subtraction Multiplication 27 Division AND OR NOT NEG

Aritmetik ve mantık operasyonları Operasyon Addition Subtraction Multiplication 27 Division AND OR NOT NEG Shift Rotate Yorum Mantıksal çarpma Mantıksal toplama Mantıksal değilleme Aritmetik değilleme

Kararlar Karar Zero Sign Carry Parity Overflow 28 Yorum Sayının sıfır olup olmadığını test

Kararlar Karar Zero Sign Carry Parity Overflow 28 Yorum Sayının sıfır olup olmadığını test eder Sayının pozitif mi negatif mi olduğunu test eder Toplamadan dolayı oluşan eldeyi ve çıkarmadan dolayı oluşan ödünç alma işlemlerini test eder Sayının çift mi tek mi olduğunu test eder Toplama veya çıkarma sonucunda oluşan sayının geçerliliğini kontrol

Register’lar CPU’nun ikili sayıları hızlı okumaları ve yazmaları için özelleşmiş bölgeler. Veri veya adres

Register’lar CPU’nun ikili sayıları hızlı okumaları ve yazmaları için özelleşmiş bölgeler. Veri veya adres değerlerini tutabilirler. Sayıları ve tipleri, CPU dizaynına bağlıdır. CPU ve girdi/çıktı alt sistemi tarafından kullanılabilirler. 29

Kontrol Ünitesi • Mikroişlemcinin çalışmasını kontrol eden merkezi ünite. • Aşağıdaki işlemleri sırası ile

Kontrol Ünitesi • Mikroişlemcinin çalışmasını kontrol eden merkezi ünite. • Aşağıdaki işlemleri sırası ile gerçekleştirir: – Fetch: Makine dili komutlarını hafızadan okur – Decode: Komutları tanımlar – Execute: Komutların karşılanmasını sağlar • Gerekli verileri register’lardan veya hafızadan alır • Gerekli işlemlerin yapılmasını sağlar • Sonuçları register’lara veya hafızaya yazar 30

Hafıza • Aynı büyüklükteki (genellikle byte) verilerin tutulduğu • • 31 sayısal bölgeler. Genellikle

Hafıza • Aynı büyüklükteki (genellikle byte) verilerin tutulduğu • • 31 sayısal bölgeler. Genellikle ardışık byte’lar word (2 byte) ve double word (4 byte) oluşturur. Hafızadaki her satırın ayrı bir adresi bulunur. 16 -bit adres, 65, 636 (64 K) hafıza satırının tanımlanmasına olanak tanır. Dikkat: Bilgisayardaki adres büyüklüğü ile hafızadaki toplam büyüklüğü birbiri ile karıştırmayın. Hafızadan veri transferi read (okuma) operasyonudur. Hafızaya veri transferi write (yazma) operasyonudur.

Bus • Bilgisayar sisteminde bileşenleri bağlayan kablolar grubu • Mikroişlemci, hafıza ve girdi/çıktı üniteleri

Bus • Bilgisayar sisteminde bileşenleri bağlayan kablolar grubu • Mikroişlemci, hafıza ve girdi/çıktı üniteleri arasındaki adres, veri ve kontrol bilgilerini transfer eder. • Bazı cihazlar aynı ortak yolu kullanabilirler. Ancak bir zaman diliminde sadece bir tanesi veri yolunu kullanıyor olabilir. 32

Bus (devam) • Address bus: CPU tarafından, halihazırdaki komutun gereksinim duyduğu okuma ve yazma

Bus (devam) • Address bus: CPU tarafından, halihazırdaki komutun gereksinim duyduğu okuma ve yazma operasyonlarının hangi adres ile ilişkili olduğu bilgisini iletmede kullanılır. • Data bus: Mikrobilgisayarın farklı parçaları arasındaki veri akışlarında kullanılır. – data bus width (bit olarak): Mikrobilgisayar sistemindeki verilerin büyüklüğünü tanımlar. • Control bus: Mikrobilgisayar içerisindeki olayların kontrolünde ve senkronizasyonunda kullanılan sinyallerin iletiminde kullanılır. 33

Bus Yapısı 34

Bus Yapısı 34