• Sonuç bulunamadı

Yrd. Doç. Dr. Bülent ÇOBANOĞLU

N/A
N/A
Protected

Academic year: 2022

Share "Yrd. Doç. Dr. Bülent ÇOBANOĞLU"

Copied!
47
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Yrd. Doç. Dr. Bülent ÇOBANOĞLU Kaynakça;

Interfacing PIC Microcontrollers Embedded Design by Interactive Simulation, Martin BATES,

PIC Microcontroller and Embedded Systems, Muhammed Ali Mazidi,

www.cobanoglu.wikispaces.com

Ders Slaytları: ebs.sakarya.edu.tr

(2)

Mikrobilgisayar kavramını tanıyacak

Günümüzde de kullandığımız kişisel bilgisayarların (PC) mikro bir modeli olan mikrobilgisayarlar; tek bir çip içerisinde bilgisayar yeteneklerinin düşük performanslı olarak bir araya getirilmesini ifade eder.

Doğal olarak bir bilgisayarın bir çipe sığdırılmasında bazı

parametrelerden feragat etmek zorunludur. Bu

parametrelerin başında da kapasite ve hız gelir. Bu yüzden

mikrobilgisayarlar, sadece bir veya bir kaç belirlenmiş

görev için tasarlanan gömülü sistemlerde (Embedded

Systems) kullanılır. Mikrobilgisayarlardan mikroişlemcili

genel bir bilgisayarın (PC) yeteneklerini beklemek mantıklı

değildir. Ancak özellikle cep telefonu ve avuç-içi bilgisayar

alanındaki teknolojik gelişmeler, mikrobilgisayarların

kullanım alanlarını süratle artırmaktadır.

(3)

Mikrobilgisayar kavramını tanıyacak

Genel bir bilgisayar sistemi, aşağıdaki blok şemadaki görülen mikroişlemci, bellekler ve giriş-çıkış birimleri ile her bir birimi birbirine bağlayan yollardan oluşur. Ancak bu birimler mikrobilgisayarlar için farklı donanımlarla gerçekleştirilebilir. Örneğin bir mikrobilgisayar sisteminde genellikle geleneksel bir klavyeden daha çok tuş takımları, bir ekrandan daha çok LED veya bir kaç satırlık LCD göstergeler bulunur. Giriş ve çıkışları da PCI, PCI-E, SATA gibi gelişmiş portlardan ziyade 8-bitlik paralel portlar, USB veya RS232 gibi seri portlardır.

Temel Bilgisayar (Mikroişlemcili) Sisteminin Bileşenleri

(4)

Not: Mikroişlemcili bir sisteme ilave edilecek çevresel birimler CPU’nun içerisinde değil, Mother Board gibi diğer donanımlar üzerinde bulunur.

Mikrobilgisayar Sistemi

-Genel bir mikrobilgisayar sistemi –

( CPU+Giriş /Çıkış portları +Bellek(RAM,ROM,..)+Depolama Birimleri(Disk,..)

(5)

Mikrobilgisayar Sistemi

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek

Mikrodenetleyici temel olarak dört bileşenden oluşur:

1-MİB (Merkezi İşlem Birimi): CPU( Central Processing Unit) olarak bilinen işlemci çekirdeği programın çalışması için gerekli aritmetik ve mantıksal işlemleri yürütür.

Çekirdek aynı zamanda bellek ünitelerindeki verileri okur veya depolar. Mikrodenetleyici çekirdeği saklayıcılar, Aritmetik Mantık Birimi (ALU-Arithmetic Logic Unit), sayıcılar, yığın işaretçisi/göstericisi gibi fonksiyonel birimlerden oluşmaktadır.

2- Bellek birimleri: ROM program kodunun depolandığı, RAM ise geçici veya program verilerinin depolandığı bellek türüdür. RAM bir bakıma mikrodenetleyicinin kullandığı bir çeşit müsvedde kağıttır. Bu bellek sürekli yazılır ve silinir; ancak ROM bellek bir kere programlandıktan sonra programın çalışması boyunca değiştirilmez (IAP “Uygulama Esnası Programlama” teknolojisi hariç).

3-Giriş/çıkış birimi :Mikrodenetleyiciden dış dünyaya giden sinyallerin gönderilmesinde veya dış dünyadan mikrodenetleyiciye gelen sinyallerin alınmasında kullanılır.

4-Saat darbe üretici: Tümdevre içerisindeki birçok fonksiyonel birimin senkronize bir

şekilde çalışması için gerekli olan saat işaretini üretir.

(6)

Bellek / Depolama Birimleri / Kapasite Kavramı

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek

PIC16F87X İÇİN;

(7)

Dahili Veri Yolu– Adres Yolu Genişliği Ne İfade Eder?

(8)

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek

ALU: Aritmetik ve mantıksal hesaplamalardan, transferlerden, kaydırmalardan sorumlu olan işlemcinin en önemli birimidir. ALU içerisindeki yazmaçlar ile mikroişlemcinin kaç bitlik bir işlemci olduğu belirlenir.

Kontrol birimi: Tüm işlemlerin sırasını belirler ve gerekli denetim işaretlerini üretir. Aynı zamanda bellekten okunan kodların çözümü de bu birimde yapılır

Kaydediciler: Hesaplama ve transfer için gerekli olan değerlerin tutulduğu kaydedicilerdir. Sayıları her mikroişlemci ailesi için farklı olabilir.

Dahili Yollar: Mikroişlemci içindeki tüm birimlerin veri alışverişini ve birimlerin kontrolünü sağlamak için birimleri birbirine bağlayan yollara denir. Adres, veri ve kontrol yolları olarak üç tiptir. Yolların bit genişliği mikroişlemcilere özeldir.

Kontrol Birimi

ve Kod Çözücü ALU Kaydediciler

Veri,adres ve kontrol yolu

Veri,adres ve kontrol yolu

Merkezi İşlem Biriminin iç yapısı

(9)

İşlemci iç yapısı

(10)

İşlemci

Yıllara göre işlemci hızlarındaki değişim

(11)

İşlemci

Yıllara göre transistör sayısındaki değişim

(12)

PC İşlemci Çekirdeğinde Ne Var?

(13)

CPU Komut İşleme Mantığı-1

CPU nun komut işleme mantığı

(14)

CPU Komut İşleme Mantığı-2

(15)

Mikro

denetleyici

iç yapısı

(16)

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek

MİKRODENETLEYİCİ

Mikrodenetleyici kavramı hem MİB hemde mikrobilgisayar kavramı ile örtüşmektedir, çünkü mikrodenetleyici çevresel birimleri de içeren bir mikrobilgisayardır.

Mikrodenetleyiciler yukarıdan da görüldüğü gibi temel bir bilgisayar sisteminde bulunması gereken mikroişlemci, RAM (veri belleği), ROM (program belleği) birimleri yanında Giriş/Çıkış portları, osilatör ve zamanlayıcı/sayıcı birimlerinin tek bir entegre devresine yerleştirilmesi ile elde edilen bir elektronik elemandır.

(17)

MİKRODENETLEYİCİ

Mikro denetleyici (Microcontroller, MCU veya µC ), işlemci (CPU),

hafıza (RAM/ROM) ve giriş-çıkış (I/O ports) birimlerinin tek bir entegre paketi içerisine yerleştirilmesi ile gerçekleştirilmiş özel amaçlı bir mikro bilgisayardır. Günümüzde üretilen birçok mikro denetleyici, özellik ve türlerine göre PWM, ADC, USB, USART, CAN, SPI, I

2

C gibi ara birim ve özel amaçlı kaydedicilere de sahiptir.

Günümüzde entegre üretimi yapan birçok firma (Intel, Atmel,

Michrochip, National Semiconductror, Texas Instruments, vb.) mikro

denetleyici üretmektedir. Mikro denetleyiciler birbirlerinden sahip

oldukları üniteler(ADC, PWM, Zamanlayıcı, SPI, vb), giriş/çıkış bacak

sayıları, çalışma hızları, veri ve program yolu genişliği, bellek kullanım

şekilleri açılarından farklılıklar arz etmektedirler.

(18)

Mikro denetleyici temel bileşenleri

Bir mikro denetleyici genel olarak aşağıdaki birimlerden oluşur:

1. Mikroişlemci 2. Bellek

3. Giriş/çıkış birimi 4. Saat darbe üretici Formülize edersek;

MCU = CPU + RAM/ROM + I/O portları + Saat darbe üreteci

(19)

Mikro denetleyici temel bileşenleri

(20)

Mikro denetleyici temel bileşenleri

(21)

Bir PIC mikro denetleyici ile uygulama gerçekleştirebilmek için ;

• Besleme devresi,

• Reset sinyali,

• Osilatör devresi,

• Uygulama devresi elemanlarına İhtiyaç vardır.

Mikro denetleyici uygulama devresi bileşenleri

(22)

Mikroişlemci

* 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.

Mikroişlemci ve Mikrodenetleyici Karşılaştırması

Mikrodenetleyici

 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 amaçlıdır.

 Alarmlı saatlerde, mikrodalga fırınlarda, bulaşık makinelerinde, buzdolaplarında v.b. Gibi

elektronik kontrol gerektiren birçok cihazda

kullanılmaktadırlar.

(23)

Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek

Mikrodenetleyiciler:

• Yalnız başlarına çalışabilirler

• Tek-tümdevre elemandırlar

• Sistem kararları genellikle harici sinyallere bağlıdır

• Elektronik bir cihazın davranışlarını denetlerler

• Bir devrenin beyni konumundadırlar.

Genel olarak bir mikrodenetleyici aşağıdaki birimlerden oluşmaktadır:

• Bir mikroişlemci çekirdeği (CPU)

• Program ve veri belleği (ROM, RAM)

• Giriş/Çıkış (I/O) birimleri

• Saat darbesi üreteçleri

• Zamanlayıcı/Sayıcı birimleri

• Kesme kontrol birimi

• A/D ve D/A (Analog/Dijital–Dijital/Analog) çeviriciler

• Darbe genişlik üreteci (PWM)

• Seri Haberleşme Birimi (UART, RS-232, CAN, I2C vb.)

• Diğer çevresel birimler

Mikrodenetleyiciler, harici işaretleri temel alarak sistem kararlarını verebilecek tüm donanımlara sahiptirler. Diğer bir değişle, bir mikrodenetleyici özel bir elektronik sistem veya bir cihazın, fonksiyon ve davranışlarını kontrol etmede bir beyin gibi rol oynar

(24)

Mikro denetleyici uygulama alanlarına veya mikrodenetleyicilerin kullanıldığı cihazlara örnek olarak;

yalnızca evimizde kullandığımız buzdolabı, çamaşır ve bulaşık makineleri, mikrodalga fırın, TV, video, vb cihazlar değil, kullandığımız otomobildeki motor kontrol ünitelerini, ABS fren sistemlerini ve hız sabitleyicileri (cruise control) ile birlikte modern yaşamın parçası olarak gördüğümüz dijital kameralarını, cep telefonlarını, telefon ve faks cihazlarını, lazer yazıcıları, fotokopileri, vb cihazları sıralayabiliriz.

Mikro denetleyici Kullanım Alanları

(25)

Mikro denetleyici seçimi

Başlangıçta 'Intel' ve 'Texas Instruments' firmaları tarafından üretilen mikrodenetleyiciler günümüzde, birçok firma { Motorola, Microchip, Hitachi, Siemens, AMD, Intel, Atmel, Dallas Semiconductor, vb.} tarafından üretilmektedir. Entegre üretimi yapan birçok firma aynı zamanda mikro denetleyici de üretmektedir. En büyük iki üretici olan Microchip ve Motorola’yı NXP(Philips) ve Texas, National, Renesas (Hitachi) , Atmel ve diğerleri izlemektedir. Yaşanan teknolojik gelişmelerin yanında, firmalar arası rekabet de mikrodenetleyici fiyatlarının önemli ölçüde ucuzlamasını sağlamıştır. Fiyatlarının düşmesine paralel olarak içerdikleri özel fonksiyonel birimlerin çeşit (A/D çevirici, EEPROM bellek, CAN ve I2C seri haberleşme, ve farklı sensorlar) ve sayılarının artması daha ekonomik, hızlı ve esnek sistemlerin tasarlanabilmesi sonucunu doğurmuştur.

Günümüzde yaygın olarak kullanılan mikro denetleyiciler ve üretici firmaları şunlardır;

*

Atmel tarafından geliştirilen AVR , ATMEGA serisi.

*

Intel tarafından geliştirilen 8051 veya MSC-51 ailesi.

*

Microchip firması tarafından geliştirilen PIC mikro denetleyici ailesi.

*

Texas Instruments firması tarafından geliştirilen MSP430 ve ARM ailesi

*

Frescale (Motorola) firması tarafından geliştirilen HC08, 68HC16Y1 gibi HC serisi

Her mikro denetleyici üreticisi, ürün yelpazesinde birçok farklı mikro denetleyici bulundurmaktadır. Bu kadar çok çeşit içinden hangisinin seçileceğine karar vermek için mikro denetleyicilerin genel özelliklerini bilmek gerekir.

(26)

* Farklı üreticiler tarafından üretilen mikro denetleyicilerin çekirdekleri/mimarileri de farklı yapıda ve özellikte üretilmektedir. Mikro denetleyiciler arasında aşağıdaki farklar bulunabilir:

* Mimari farkı: Harvard, Von Neuman.

* Kelime genişliği: 4, 8, 16, 32, 64 bit.

* Komut setleri: RISC, CISC komut işleme tekniği.

* Kaydedici çeşitleri ve sayıları,

* Adresleme yöntemleri.

* Kesme sayıları ve özellikleri.

* Hız / güç / boyut özellikleri,

* Çalışma frekansları

* Gerekli çevresel birimler (USART,CAPTURE/COMPARE/PWM–CCP modülü vs)

* Programlama dilleri çeşitliliği (Basic, C, Pascal, Assembly, vs)

Hangi üreticinin seçileceği konusunda genellikle tasarımcılar komut setini, programlamasını ve programlama için gerekli programları iyi bildikleri üreticiyi seçmektedir. Zaten her üreticinin bir ürünü için, bir başka üreticinin ürettiği hemen hemen aynı işi yapacak bir ürün bulunabilmektedir. Hangi üreticinin seçileceğine karar verildikten sonra sıra o üreticiye ait hangi mikrodenetleyicinin seçileceğine gelmiştir.

Mikro denetleyici seçimi

(27)

* Piyasada birçok mikro denetleyici üreten firma olduğundan bahsetmiştik.

Bunlar içinde neden Microchip firmasının ürettiği PIC'lerin seçildiği sorusu akla gelebilir.

* Bunun en temel sebebi Microchip firmasının web sayfalar ı üzerinden sağladığı teknik destektir. Tüm mikrodenetleyicilere ilişkin ayrıntılı bilgiler ve farklı mikrodenetleyiciler ile yapılmış, farklı uygulama örnekleri firma tarafından ücretsiz olarak dağıtılmaktadır. Hepsinden önemlisi, firma devamlı geliştirme kte olduğu MPLAB adlı simülasyon programını da ücretsiz olarak dağıtmaktadır. Böylece PIC programlamak isteyen bir kişi, assembly editor, derleyici, simülatör ve programlayıcı ihtiyaçlarının hepsini tek bir program ile ve ücretsiz olarak gidermiş olmaktadır. Ayrıca bir çok programlama dili ile PIC programlayıcı programlanabilmektedir.

* Firmanın sağladığı bu desteğe bağlı olarak gelişen bir başka avantaj ise, bu konu ile ilgili kaynağın çok olmasıdır.

Mikro denetleyici seçimi

(28)

Bilgisayar Mimarisi kavramını açıklayabilmek

28

Mikroişlemcili bir sistemde bulunan mikroişlemcinin temel işlevi; işlenen ve kullanılan verileri birimler arasında iletme, iletilen verileri işleme, verileri bir durumdan diğerine çevirme ve verileri uygun yerde saklamadır.

Verileri iletme/işleme işlevlerini gerçekleştiren ve bir programın mantıksal çalışmasına doğrudan etki eden mikroişlemcinin mimarisini; mikroişlemci içerisinde bulunan birimlerin özellikleri, yapıları, birimler arasında oluşan veri iletimi ile verilerin saklanma şekli ve mikroişlemcide kullanılan komut seti belirler. Diğer bir değişle, mikroişlemci mimarisi;

mikroişlemci kapasitesi, bellek yapısı ve tasarım felsefesi tarafından şekillendirilir.

Mikroişlemcinin kapasitesi; mikroişlemcide bulunan birimlerin özellikleri, kaydedici sayısı, kaydedicilerin büyüklüğü, kullanılan yollardaki hat sayısı, kayar noktalı hesaplama birimi, vb.

etkenler tarafından belirlenir.

Mikroişlemci bellek yapısı; bellek bölgelerinin sayısı, her bir bellek bölgesinde saklanabilecek bit sayısı, adreslenebilecek toplam bellek bölgesi sayısı ve bir bellek bölgesine erişim şekline göre tanımlanır.

(29)

Bilgisayar Mimarisi kavramını açıklayabilmek

29

Mikroişlemcinin tasarım felsefesi; Komut Kümesi-yazılım Mimarisi (Instruction Set Architecture – ISA) ve Donanım Sistem Mimarisi (Hardware System Architecture – HSA) ölçütlerine göre farklılık arz eder.

Mikroişlemci tarafından kullanılan komut yapısı ve sayısı, yani komut seti ve komut setinde bulunan komutların özellikleri bakımından iki tür mimari ön plana çıkmıştır:

•Karmaşık komut kümeli mikroişlemciler (Complex Instruction Set Computers – CISC)

•Azaltılmış komut kümeli mikroişlemciler (Reduced Instruction Set Computers - RISC) Mikroişlemcinin bellekleri kullanım şekli ve bellek yapısı da farklı iki mimariye yön vermiştir:

•Von Neuman Mimarisi (Tümleşik Tek bellek)

•Harvard Mimarisi (Yalıtılmış Çift bellek)

Mikroişlemcileri yukarıdaki ölçütlerin dışında da sınıflamak mümkündür. Örneğin bit sayısı, çekirdek sayısı, güvenirlilik, dayanıklılık, enerji verimliliği gibi bir çok parametre kullanılarak sınıflandırma yapılabilir. Ayrıca bu mimarilerin dışında da bir çok mimari türü mevcuttur. Ancak bir mikroişlemcinin performansını ve çalışma şeklini belirleyen en önemli kriterler bellek kullanımı ve komut yapısıdır.

(30)

RISC ve CISC mimarilerinin farklarını sayabilmek

30

Bellek gereksiniminin en aza indirilmesini sağlayan temel CISC mimarisi mikroişlemcinin karmaşıklığını artırsa da ve mikroişlemci performansının düşmesine neden olsa da, programlama işlemlerini basit hale getirmektedir. Bu mimaride mikroişlemci çok sayıda komut içerir ve her eylem için bir komut tanımlanmıştır. CISC mimaride "donanım yazılımdan hızlıdır" prensibi geçerlidir. Böylece CISC işlemciler karmaşık kodları çözmek için daha yoğun donanım kullanırlar bu da çipin maliyetini artıran bir unsurdur. Ayrıca daha fazla güç de tüketirler. Karmaşık yapıda ve farklı uzunluktaki komutlara sahip olan CISC mimarisi, birden fazla işlem ile ilgili emirleri bir komut içerisine yerleştirmesi nedeni ile komut sayısında ve gerekli bellek gereksiniminde tasarruf sağlar.

1960’larda geliştirilen ve ilk mimari yapı olan CISC mimarisi, az bellek kapasitesine gereksinim duyulan yerlerde yaygın olarak kullanılması yanında, Intel 80x86, Pentium ve Motorola 68030, vb. gibi işlemciler ile IBM 360 ve DEL WAX gibi büyük sistemlerde kullanılmaktadır.

CISC tasarım felsefesi ile geliştirilen mikroişlemcili sistemlerde, ‘kademeli komut işleme’

tekniği olarak adlandırılan ve aynı anda yalnızca bir komut üzerinde işlem yapılan komut işleme tekniği kullanılır.

(31)

RISC ve CISC mimarilerinin farklarını sayabilmek

31

Komut kodu bellekte ve işlenecek verilerin MİB’deki kaydedicilerde bulunduğu varsayılarak, kademeli komut işleme tekniğinde oluşacak işlem sırası listelenirse;

1. Program sayıcısının gösterdiği adresten (bellekten) komutu al getir (FI-Fetch Instruction)

2. Getirilen komutun kodunun çözülmesi ve mikro-kodların elde edilmesi (DI- Decode Instruction)

3. Komutun ALU’da çalıştırılması (EI-Execute Instruction)

4. Sonucun ilgili kaydediciye yüklenmesi (WB- Write back Result)

Açıklanan bu işlemlere göre, bir komutun işlenebilmesi dört adımda gerçekleştirilir.

Gerçekleştirilen adımlardan birisi bitmeden diğer adıma geçilemez. Dört adım sonucunda tek bir komutun işlemesi biter ve yeni bir komut işlenmeye başlar.

CISC bir komutun çalışma evreleri

Komut Aşaması

FI DI EI WB FI DI EI WB FI

Zaman

(32)

RISC ve CISC mimarilerinin farklarını sayabilmek

32

CISC mimarisinde oldukça çeşitli olan komutları çalıştırmak için mikro-kod kullanılmaktadır.

Farklı uzunlukta olan bu komutların çözümünde oldukça karmaşık devrelere (kod çözücülere) ihtiyaç vardır.

CISC bir komutun mikrokod çevrimi

(33)

RISC ve CISC mimarilerinin farklarını sayabilmek

33

Neredeyse hiç kimse bir CISC makinedeki karmaşık assembly dili komutlarının tamamını kullanmamaktadır. Günümüzde programcılar tüm karmaşık komut kümelerini neredeyse hiç kullanmayan yüksek-düzeyli dil derleyicilerini tercih etmektedirler. Karmaşık komut seti kullanan mimarilerin işlemlerin belirli bir hızda yapılması gereksinimini karşılayamaması, komutların basitleştirilmesine ve RISC işlemci mimarisinin oluşmasına neden oldu. RISC işlemcilerde işlemler, az sayıda basit komut ile gerçekleştirilir. RISC işlemciler hala hazırda, IBM, DEC, HP, Motorola, APPLE ve SUN gibi süper bilgisayarlar yanında işistasyonları ve PC’lerde kullanılmaktadırlar.

İşlemcilerin kullandığı komutların basitleştirilmesi ve komutların sayısının azaltılması, komut işleme hızını artırır. Diğer bir deyişle, daha az sayıda ve basit yapıya sahip komutlar kullanan işlemci, karmaşık komut seti kullanan işlemciye göre daha hızlı çalışır.

RISC işlemlerde işlemcinin performansını artıran önemli bir etken, Kanal Komut İşleme Tekniği (pipelining) olarak isimlendirilen ve aynı anda birden fazla komutun işlenmesini sağlayan teknolojidir. Bu teknolojinin kullanımı, daha fazla bellek ve daha gelişmiş derleme tekniği gereksinimlerini ortaya çıkarır. Bu gereksinimleri tam anlamıyla karşılayabilen çok geniş ölçekli entegre (VLSI) teknolojisinin 1990’larda geliştirilmesi ile RISC işlemciler büyük sistemlerin yanı sıra PC’lerde kullanılmaya başlandı.

(34)

RISC ve CISC mimarilerinin farklarını sayabilmek

34

RISC mimari, daha basit komutlar kullanarak tümdevre karmaşıklığını azaltmaktadır. Ancak RISC komutlarının daha kısa olması belirli bir görevin tamamlanabilmesi için daha fazla komuta gereksinim duyulmasına yol açabilir.

Ayrıca RISC mimariler için üretilen derleyiciler daha önce CISC mimarisinde bulunan donanım birimlerinin görevini üstlenmek üzere ekstra

komutlar kullanmaktadır. RISC işlemci çekirdeği çalışma akışı

Komut evreleri

FI DI EI WB FI DI EI WB

FI DI EI WB FI DI EI

FI DI EI WB FI DI

FI DI EI WB FI

FI DI EI WB

Tamamlanan Komut adedi 1 2 3 4 5

RISC mimariye uyumlu kanal işleme (pipelining) tekniği ile komutların işletilmesi

(35)

PIC RISC botuhattı: Fetch ve Execute

Harvard ve RISC mimariye sahip PIC 16 ve 18 serisi

mikrodenetleyicileri 2 aşamalı (Fetch ve Execute) pipeline (boruhattı) sahiptir ve 4 saat saykılında(osilatör frekansında) bir komutu işler/tamamlar.

Örneğin 4 MHz çalışma frekansına sahip bir PIC, saniyede 1

milyon komut işler, yani her komut 1 s sahiptir, diyebiliriz.

(36)

RISC ve CISC mimarilerinin farklarını sayabilmek

36

RISC ve CISC işlemciler birbirleri ile hızlarına, komut işleme tekniklerine, kullanılan transistor sayılarına, vb. kriterlere göre karşılaştırılabilirler. İki mimari arasındaki farklar şöyle özetlenebilir:

1- Hız: İki işlemci mimarisinin karşılaştırılmasından ilk önemli farkın; hızları olduğu bulunur. İki işlemci mimarisi arasındaki hız farkı, kullanılan komut işleme teknikleri sonucu oluşur. RISC işlemciler, genellikle aynı saat frekansında çalışan CISC işlemcilere göre daha hızlıdır.

2- Komut işleme tekniği: Mimariler arasındaki ikinci önemli fark; komut işleme tekniğidir. CISC işlemcilerde ‘kademeli komut işleme’ tekniği kullanılırken, RISC işlemcilerde ‘kanal komut işleme tekniği’ (pipeline) kullanılır. CISC tekniği ile aynı anda tek bir komut işlenebildiği ve komutun, işlenmesi bitmeden yeni bir komut üzerinde çalışmaya başlanamaz. RISC tekniğinde ise, aynı anda çok sayıda komut işlenmektedir. Komutların birbirini takip etmesi nedeni ile her bir komut bir birim uzunluktadır ve her işlem adımında bir komuta ait işlemler bitirilir.

3- Transistör sayısı: CISC ve RISC yapıları arasındaki üçüncü önemli fark; işlemcilerde kullanılan transistor sayısıdır. CISC işlemcilerde kullanılan transistor sayısı, RISC işlemcilere göre daha fazladır.

Daha fazla sayıda transistor kullanılması, daha geniş alan gereksinimi ve daha fazla ısı ortaya çıkarır, Oluşan daha fazla ısı nedeniyle soğutma ihtiyacı ortaya çıkar ve soğutma işlemi, ısı dağıtıcısı veya fanlar kullanılarak gerçekleştirilir.

4- Donanımsal yapı (Tasarım şekli): İki mimari arasındaki bir diğer fark; donanımsal yapıları ve tasarım şekilleridir. RISC işlemciler , CISC işlemcilere göre daha basit yapıda olduklarından daha kolay tasarlanırlar .

5. Komut yapısı; RISC mimarisi, CISC’in güçlü komutlarından yoksundur ve aynı işlemi yapmak için daha fazla komuta gereksinim duyar. RISC mimaride aynı uzunlukta basit komutlar kullanılırken CISC mimaride karmaşık yapıda değişken uzunlukta komutlar kullanılır.

(37)

RISC ve CISC mimarilerinin farklarını sayabilmek

37

RISC mimarisinin yukarıdaki üstünlükleri yanında bazı mahsurları da bulunmaktadır. Sakıncalar olarak; daha fazla bellek kapasitesi gereksinimi ve güçlü komutlara sahip olunmaması sayılabilir.

RISC mimarisi, CISC’in güçlü komutlarından yoksundur ve aynı işlemi yapmak için daha fazla komuta gereksinim duyar. Diğer bir deyişle, RISC mimarisinin sakıncası, CISC mimariye göre daha karmaşık yazılımlara gereksinim duymasıdır. Sistemde güçlü komut eksikliği, ikinci bir yardımcı işlemci yada ayrı bir ‘pipeline’ bölümü yardımı ile giderilebilir.

Yarı iletken teknolojisindeki gelişmeler, CISC sisteminin az bellek gereksinimi ve basit program yazılımı gibi üstünlüklerin öneminin kaybolması sonucunu ortaya çıkarmakta ve RISC mimarisine daha önem kazandırmaktadır.

Bu karsılaştırma sonucunda, 'hangi mikro denetleyici mimarisi tercih edilmelidir?' sorusunun tam olarak tek bir cevabı yoktur. Bu sorunun cevabı, tasarımcının hangi kriterleri önemsediği ile ilgidir. Bu kriterler; yonga alanı ve esnekliktir. Daha hızlı çalıştıklarından dolayı günümüzde çoğu mikro denetleyici ve işlemciler RISC mimarisi kullanmaktadırlar. Bununla beraber her iki mimarinin özelliklerini de ta ş ıyan karma mimariler de söz konusudur.

(38)

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek

38

Giriş: Mikroişlemci ve mikrodenetleyiciler bellek kullanımı açısından Von Neuman ve Harvard olarak adlandırılan iki mimariden biri üzerine tasarlanırlar. Von Neuman mimarisi Princeton Üniversitesi tarafından diğeri de adından da anlaşılacağı üzere Harvard Üniversitesi tarafından tasarlanmıştır. O günkü teknolojiye uygun olan Von Neuman mimarisi tercih edilse de ilerideki yıllarda teknolojinin uygun hale gelmesi sonucu Harvard mimarisi 1970’li yılların sonlarında özellikle mikrodenetleyici tasarımında standart hale gelmiştir. Günümüzde her iki mimari yapının özelliklerini içeren mikrodenetleyiciler (MAXQ ailesi) de bulunmaktadır. Bu mikrodenetleyiciler karma mimariye sahip olup iki mimarinin üstün olan özelliklerini kullanarak performans artışı elde ederler.

Von Neuman Mimarisi

İşlem biriminin bellek biriminden ayrıştırılması bu mimarinin en önemli özelliğidir. Komut ve veri için aynı belleğin kullanıldığı ‘Von Neuman Mimarisinde’, komut ve veriler aynı yol kullanılarak iletilirler. Bu durum, komut ve verinin iletilmesinin gerektiği durumlarda veri ile ilgili iletişim sistemlerinin, komut ile ilgili iletişim işlemlerini beklemesini gerektirir.

‘Von Neuman Mimarisi’ kullanan mikroişlemcilerde de komutlar bellekten alındıktan sonra kodu çözülerek gerekli işlemler gerçekleştirilir ve elde edilen sonuçlar belleğe tekrar gönderilir. Bu işlemler sırasında, yolların hızının mikroişlemcinin hızına yetişememesi nedeni ile sistemde darboğaz (bottleneck) olarak isimlendirilen olay gerçekleşebilir. Bu sakıncanın yanında oluşabilecek diğer bir sakıncalı işlem; veri ve komutların aynı bellekte sıralı olarak bulunması nedeni ile bu iki bilginin birbirine karışması ihtimalinin yüksek olmasıdır.

(39)

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek

39

Von Neuman (Princeton) mimari blok diyagramı

Detaylandırılan iki sakıncayı ortadan kaldırmaya ve Von Neuman Mimarisi kullanan sistemlerin performansını artırmaya yönelik olarak önbellek (cache) sistemi geliştirilmiştir. Önbellekler, işlenecek komutların ve verilerin ana bellekten getirilerek işlem birimine yakın bir bellekte tutulması amacıyla kullanılmaktadır. Ana bellekten alınan komut ve veriler ayrı önbelleklere yerleştirilerek hem ayrıştırılması sağlamakta, hem de oluşan darboğaz ortadan kaldırılmaktadır.

Günümüz kişisel bilgisayarları da Von Neuman mimarisinde çalışmaktadırlar sistemde sadece tek bellek (RAM) vardır ve tüm komutlar ve veriler aynı ortamda saklanır. Mikroişlemcili sistemlerin büyük çoğunluğu Von Neuman mimarisinde çalışırken mikrodenetleyici sistemlerin çoğu Harvard mimaride çalışır.

(40)

Harvard ve Von Neumann

• Von Neumann mimarisi program ve veri bellekleri için aynı iletişim yolunu kullanırken;

• Harvard mimarisinde bu

yollar ayrılmıştır.

(41)

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek

41

Harvard Mimarisi

Komutlar ve veri ile ilgili bilgilerin ayrı belleklerde saklandığı ‘Harvard Mimarisi’ kullanan mikroişlemcili sistemlerde, veri ve komutları iletmek amacıyla kullanılan yollar birbirinden bağımsızdır. İletim için kullanılan yolların farklı olması, aynı anda veri ve komutun iletilmesini mümkün hale getirir. Diğer bir ifadeyle, komut kod bellekten okunurken, komutun gerçekleştirilmesi sırasında ihtiyaç duyulan veri, veri belleğinden okunabilir.

Harvard Mimarisi, performansın çok önemli olduğu sistemlerde ve günümüzde özellikle sayısal işaret işleme görevini yapan tümleşik devrelerde (DSP: Digital Signal Processor) ve güvenliğin önemsendiği mikrodenetleyicilerde tercih edilmektedir.

Harvard mimari blok diyagramı

(42)

Harvard ve Von Neuman mimarilerinin farklarını sayabilmek

42

Harvard mimari blok diyagramı

(43)

PROTEUS İLE PIC SİMÜLASYONU

43

(44)

PROTEUS İLE PIC SİMÜLASYONU

44

(45)

PROTEUS İLE PIC SİMÜLASYONU

45

(46)

Proteus ile PIC Simülasyonu: ISIS Tasarım Sayfası

46

(47)

Proteus ile PIC Simülasyonu: Kaynak Kod Sayfası

47

Referanslar

Benzer Belgeler

Kod yazarken sıklıkla kullanılan koşul belirteçleri, duruma bağlı olarak işlemler yapmamıza olanak sağlar.. şeklinde uzunca bir komut kullanmak hem zamanımızı

Karmaşık yapıda ve farklı uzunluktaki komutlara sahip olan CISC mimarisi, birden fazla işlem ile ilgili emirleri bir komut içerisine yerleştirmesi nedeni ile komut

 Erişim Zamanı: rastgele erişimli bellekler için okuma veya yazma işlemini gerçekleştirmek için gerekli zamandır; bu zaman, bellekte erişilecek adresin adres

a)Açık ihale usulü veya belli istekliler arasında ihale usulü ile yapılan ihale sonucunda teklif çıkmaması. b)İhalenin, araştırma ve geliştirme sürecine ihtiyaç gösteren

Diğer programlama dillerinin pek çoğunda olduğu gibi MATLAB da matematik deyimler şart koşmakla beraber, diğer pek çok programlama dillerinden farklı olarak bu deyimler

A6IPM10 10”TFT dokunmatik ekran Android işletim sistemi IPS kapasitif çoklu dokunuş RF, KNX, Cloud akıllı ev kontrolü Wi-Fi kontrol Daireler arası sesli görüşme Daireler

Anahtarlama prensibi Ağır çekim anahtarlama elemanı Tetiklendiği için kapalı kontak sayısı 2. Normalde açık kontak

INSA471 Betonarme Yapıların Tasarımı INSA211 Statik. INSA222 Cisimlerin