KASIRGA CPU TURKEY 1. Ve 2. Aşama Raporu
|
|
- Bora Güçlü
- 7 yıl önce
- İzleme sayısı:
Transkript
1 KASIRGA CPU TURKEY 1. Ve 2. Aşama Raporu Ankara
2 İçindekiler 1. Kasırga İşlemcisi Mimari Tasarımı Boru Hattı Yönlendirme Dallanma Tahmini Sistem Çağrıları Buyruk Kümesinde Yapılan Değişiklikler Bellek Yönetimi Fiziksel Tasarım Zamanlama Donanım Tanımlama Dili nin Kullanımı Saat Dağıtımı İşlemci Modülleri Program Sayacı Birimi Bellek Birimi Yönlendirme Birimi Denetim Birimi İşlem Birimi Kaydırma Birimi Çarpma Birimi Dallanma Birimi Diğer Birimler Kasırga İşlemcisi Çevre Birimleri RS232 Modülü Alıcı Modül Verici Modül VGA Denetliyicisi PS/2 Denetliyicisi Sonuç ve Planlar... 13
3 1. Kasırga İşlemcisi Kasırga projesinin sanal ve fiziksel tasarım dallarında yapılan çalışmalar sonucunda Kasırga 1, Kasırga 2 ve Kasırga 3 işlemcileri tasarlanmıştır. Kasırga 1 tek vuruşluk işlemcisinde davranışsal model kullanılmış ve verilog yazımında başlangıç adımları atılmıştır. Kasırga 2 de ise yine aynı davranışsal model boruhattı tekniği ile gerçeklenmiştir. Kasırga 3 te ise Kasırga 2 boruhattı modüler şekilde tasarlanmış ve buyruk kümesine yapılan eklemelerle temel buyruk kümesi tam olarak gerçeklenmiş ve kullanım kolaylığı açısından gereken buyruklarla tam işlemci tasarımı bitirilmiştir. Kasırga 3, 38 adet buyruğuyla şu anda çevirici dildeki kodlama becerisine göre matematiksel ve görsel pek çok işlemi gerçekleştirebilecek bir işlemcidir. Bu yönüyle pek çok uygulamada kullanılması mümkündür. Kasırga nın en önemli yönü ise deneyim açısından hem ülkemiz hem de grubumuz adına gelecekteki projelere taban oluşturmuş olmasıdır. Bu proje ile birlikte yaklaşık 10 kişilik bir grup donanım tanımlamada deneyim kazanmış. Ayrıca Tulpar derleyicisinin geliştirilmesiyle yazılım alanında da derleyici yazılması konusuna deneyim kazanılmıştır Mimari Tasarımı Şekil 1. Kasırga Boruhatlı Mimari Tasarımı Boru Hattı Kasırga işlemcisinde 4 aşamalı bir boru hattı kullanılmaktadır. Bu aşamalar Getir, Çöz, Yürüt, Yaz aşamalarıdır. Geleneksel yapının aksine, Kasırga da Bellek aşaması bulunmamaktadır fakat belleğe yazacak buyruklar geldiğinde, işlemci bu aşamaya girmektedir. Bu durumda bellek işlemlerini gerçekleştirmek için işlemcinin ilgili yerlerine hafıza elemanlarının denetimlerinin korunması, bellek ile ilgili olan bileşenlerin ise çalışması yönünde denetimler gönderilir. Buyrukların normal işleyişinde fazladan bellek aşaması bulunmadığı için boruhattı dolana kadar bir saat darbesi tasarruf edilmiştir Yönlendirme Kasırga işlemcisi durum makinası şeklindeki yapısından çıkıp, modüller halinde tasarıma geçince, yönlendirme birimi büyük oranda değişmiştir. Daha önceleri verinin kendisinin gideceği yeri belirleyen bu birim, yeni tasarımla beraber sadece çoklayıcılara denetim bitleri gönderen bir birim haline gelmiştir. Yönledirme işlemi hem çözme aşamasında hem de yürütme aşamasındaki bazı çoklayıcıları kontrol etmektedir. Şekil 2 de görüldüğü üzere, çözme aşamasındaki çoklayıcılar yazma
4 aşamasından gelen değeri (yazma aşamasına gelen ALT ve ÜST yazmaçları) seçebileceği gibi yazmaç öbeğinden çıkan değeri (buyruk çözüldükten sonra elde edilen ve A,B,C geçici yazmaçlarına atanan değerleri) de seçebilir. Buna rağmen yürütme aşamasında ise, yönlendirme olmadığı durumdaki değerler (A,B,C geçici yazmaçları), yürütme aşamasında olup yazmaya gidecek olan yazmaçlar (ALT ve ÜST yazmaçları) buyruğun türüne göre seçebilir. Görüldüğü üzere A,B,C ve ALT ve ÜST yazmaçlarına 2 kere seçim uygulanmaktadır. Yönlendirmenin ilk aşamasında (Çöz aşamasında) o anda işlenen buyruğun kendinden 2 önceki buyrukla olan bağımlılığı, yönlendirmenin ikinci aşamasında ise, o anda işlenen buyruğun bir önceki buyrukla olan bağımlılığı giderilmektedir. Bu durumda aynı buyruk hem bir önceki, hem de iki önceki buyruğa bağımlı ise sadece bir önceki buyruk ile olan bağımlılığının giderilmesi yeterlidir. Çözme aşamasındaki yönlendirmeyi kontrol eden çoklayıcılar Yürütme aşamasındaki yönlendirmeyi kontrol eden çoklayıcılar Şekil 2. Yönlendirmenin olduğu aşamalar Dallanma Tahmini Boruhattının temel sorunlarından olan dallanma, birbirine bağımlı buyruklarda ortaya çıkmaktadır. Şekil 3 teki buyruklarda görüldüğü gibi dallanma buyruğu geldiği anda eğer koşullu bir dallanma buyruğu ise koşulun doğruluğu belli olmadan dallanma yapılıp yapılmayacağı kesin değildir.
5 Şekil 3. Boru hattındaki dallanma sorunu Bu sorun ilk olarak Kasırga 2 de ortaya çıkmıştır. Bir yandan buyruk yürütülürken sonraki buyruğun doğru noktadan alınması gerekir. Kasırga 2 de bu sorun buyruğun çekileceği nokta belirlenene kadar beklemektir. Bu bekleme sırasında veriyoluna anlamsız buyruklar (balonlar) sokulur. Kasırga 3 te ise bu bekleme yerine temel bir kabul alınır. Dallanma buyruklarının atlamayacağı kabul edilir ve hemen bir sonraki buyruk çekilir. Dallanma buyruğu koşulu yanlışsa bu seçim doğru olur ancak buyruk koşulu doğru ise atlanan nokta hatalıdır. Koşulsuz dallanma buyruklarında ise yapılan tahminin direkt yanlış olduğu kabul edilir. Buyruk koşulunun doğruluğunu kontrol eden birim ise dallanma birimidir. Bu birimden bayrakların durumuna göre koşulun doğru ya da yanlış olduğunu bildiren bit veriyoluna gönderilir. Bitin durumuna göre atlanan nokta doğru ise devam edilir. Yanlışsa, yanlış yerden çekilen buyruğun denetim değerleri değiştirilerek buyruğun hiçbir yere yazmaması ve anlamsız olarak işaretlenerek veriyolundan çıkması sağlanır. Dallanma ile ilgili birim geliştirilmeye açıktır. Örneğin şu anda kullanılan gibi sabit değil de dinamik ya da çift kutuplu bir dallanma öngörüsü kullanılırsa hem bekleme veya araya giren yanlış buyrukların sebep olduğu zaman kaybı azaltılabilir Sistem Çağrıları Kasırga 1 ve 2 de Syscall buyruğu buyruğu gerçeklenmemiştir. Kasırga 3 te ise Syscall buyruğu bellek içinde belirli noktalarda bulunan özel amaçlı çevirici dil kodlarının başlangıç adresini program sayacına atar ve bu şekilde işlemci özelleşmiş kodu yürütmeye başlar. Bu kısımdan geri dönmek içinse geri dönüş için kullanılan bir diğer syscall kullanılır. Sistem çağrılarının doğru çalışması için belleğin içinde çevirici dil kodlarının doğru noktalara yerleştirilmiş olması gerekir. Kasırga da 4 adet sistem çağrısı bulunmaktadır. 1. Ekrana Kasırga Logosu Basan Çağrı: (Syscall 2) Kasırga VGA modülü standart olarak out buyruğu ile gönderilen 7 bitlik değerlerin ascii karşılıklarını ekrana basmaktadır. Bundan yararlanılarak bellekte ascii karakterlerle
6 yazılarak yerleştirilmiş olan Kasırga logosu resmi yükleme buyruklarıyla bellekten alınarak out buyruğu ile sırayla ekrana basılır. Geri dönüş için syscall 512 buyruğu kullanılır. 2. Ekrandan Veri Okuyan Çağrı: (Syscall 4) Klavye ile girilen değerler in buyruğu ile alınarak enter değeri gelene kadar giren tüm karakterlerin ascii değerleri yığıta atılır. Enter karakteri geldiğinde programın yürütümüne kalınan yerden devam edilir. Geri dönüş için syscall 512 buyruğu kullanılır. 3. Bölme İşlemi Yapan Çağrı: (Syscall 8) 1 numaralı yazmaçtaki değeri 2 numaralı yazmaçtaki değere bölerek sonucu 3 numaralı yazmaca kalanı da 7 numaralı yazmaca yazan çağrıdır. Buyruk kümesinde bölme işlemi olmadığı için bölem işlemi çıkarma işlemi yardımıyla yapılır. Bir çıkarma döngüsüne konularak sonuç değeri hesaplanır, geriye syscall 512 ile dönülür. 4. Ekranı Konsol Olarak Kullanan Çağrı: (Syscall 16) Klavyeden girilen değerleri dinleyek ekrana klavyeden gelen karakterlerin asciilerini basan programdır. Şekil 4. SYSCALL buyruğunda işlenen programlardan birinin TULPAR ekran görüntüsü
7 5. Sistem Çağrısından Dönüş (Syscall 512) Bellekte tüm sistem çağrı kodları sonuna yazılarak çağrıdan geri dönüleceğini bildirir Buyruk Kümesinde Yapılan Değişiklikler Kasırga buyruk kümesi temelinde yarışmada verilen 30 adet buyruğu gerçekleştirmeyi hedefler ve yine yarışmada verilen kelime uzunluğuna uyum açısından 16 bitlik buyruklar kullanılmıştır. Bu 16 bitlik buyruklarda 4 tip buyruk tanımlanmıştır. Anlık değerlerle işlem yapan buyruklar (A tipi), yazmaçlarla işlem yapan buyruklar (Y tipi), sistemin yürütümünü etkileyen buyruklar (S tipi) ve diğer buyruklar (D tipi) buyuk tipleridir. Diğer raporlarda bahsedilen Kasırga 1 ve 2 de gerçeklenen buyrukların yanısıra D tipi buyruklarda kullanılmayan bazı bitlerin de kullanılmasıyla PUSH, POP ve MOVS buyrukları da eklenmiştir. PUSH, SW ile POP, LW ile ve MOVS MOV buyruğu ile ilişkilendirilmiş ve gerçekleştirimleri yine bu buyruklara benzer şekilde yapılmıştır. Yığıt işlemleri için bir yığıt göstergesi ve kullanımını düzenleyen bir modül de Kasırga ya eklenmiştir. Yığıt belleğin alt yarısını kapsamaktadır ve yönetimi programcıya bırakılmıştır. Ayrıca MOVS ile yığıtın başlangıç adresi istenen bir noktaya alınarak yığıtın kullanımına o noktadan devam edilebilir. İşlem Kodu Son EK Buyruklar (İngilizce) Buyruklar (Türkçe) Buyruk Türü İşlem POP ÇEK D Ra Bellek[Yığıt Göstergesi] PUSH İT D Bellek[Yığıt Göstergesi] Ra MOVS YGT D Yığıt Göstergesi Ra Tablo 1. Buyruk kümesine yeni eklenen buyruklar Bellek Yönetimi Bellek, SPARTAN 3E kartı üzerinde Chipscope yazılımı ile birlikte kullanıldığından 4096 satır olup, her satırda 16 bitlik veri tutulmaktadır adresinden sonra ise yığıt olarak kullanılmaktadır. Yığıt için bir sınır değeri bulunmamaktadır. Yığıtın 4096 adresinden sonra tekrar 0 numaralı adrese dönmesi ya da hiç push yapılmadan pop yapılması durumunda çekilecek verinin anlamsız olması tamamen programcının kontrolündedir. Programlar ise 0 adresinden başlanarak yürütülür. NOT: Kasırga işlemcisi daha büyük ölçekli bir FPGA kartında 16 bit uzunluğunda satırlık bir belleği desteklemektedir Fiziksel Tasarım Fiziksel tasarım, işlemcinin simülasyonda çalışan kodlarının FPGA üzerinde gömülü olarak çalıştırılması işlemidir. Simülasyonda tüm işlemleri senkron hale getiren saat vuruşu, gerçekleme sırasında çok önemli bir hale gelmektedir. Bunun yanında zamanlamayı iyi bir değere çekmek için işlemci Verilog ile kodlanırken davranışsal ve devre şeklinde yazım tarzları harmanlanmıştır. Tüm bunların sonunda farklı saat frekanslarında çalışan çevre birimlerinin, işlemci ile an uyumlu çalışması anlatılacaktır Zamanlama Başarımın artması için, bir saat vuruşunda aynı anda bir çok iş yapılması gerekmektedir. Bir saat vuruşunda daha çok iş yapmak içinse daha çok donanıma ihityaç vardır. Bundan dolayı donanım tanımlama dilleri, işlerin parallel bir şekilde yapılmasına olanak vermektedir. Çok vuruşlu
8 işlemcilerde bir saat vuruşunda her aşamanın kendi işini bitirmesi gerekmektedir. İşlemcinin saat sıklığı en uzun süren aşamaya göre hesaplanacağından, iyi bir saat sıklığına ulaşmak için her aşamadaki blokların tek tek incelenip, işlemleri olabildiğince hızlı yapması sağlanmaladır. Kasırga işlemcisinde 4 aşama bulunmaktadır ve en uzun süren aşama yürütme aşamasıdır. Timing constraint: Default period analysis for Clock 'clk' Clock period: ns (frequency: MHz) Total number of paths / destination ports: / 1244 Delay: ns (Levels of Logic = 5) Source: Destination: Source Clock: kasirga3/alt4_0 (FF) kasirga3/alt4_15 (FF) clk rising Data Path: kasirga3/alt4_0 to kasirga3/alt4_15 Gate Net Cell:in >out fanout Delay Delay Logical Name (Net Name) FDRE:C >Q LUT3_D:I1 >O LUT3:I2 >O kasirga3/alt4_0 (kasirga3/alt4_0) kasirga3/mux_4/o[0]_sw1 (N305) kasirga3/mux_4/o[0]_2 (kasirga3/mux_4/o[0]_1) MULT18X18SIO:B0 >P kasirga3/carpici/mmult_c (kasirga3/carpici/c[15]) LUT3:I1 >O LUT4:I1 >O kasirga3/carpici/lo[15]1 (kasirga3/carpici_sonuc_alt[15]) kasirga3/denetim2_w[18]636 (kasirga3/buyruk_sonucu[15]) FDRE:D kasirga3/alt4_15 Total ns (7.527ns logic, 3.103ns route) (70.8% logic, 29.2% route) Tablo 2. Kasırga İşlemcisindeki en uzun yolun süresi Yukarıdaki tabloda, yürütme aşamasının işlenme süresinin hangi bileşenler oluştuğu gözükmektedir. Görüldüğü üzere mantıksal devre elemanlarından bir gecikmenin yanı sıra, toplam sürenin yaklaşık %30 u sadece route dan oluşmaktadır. Bu da bir devre bileşeninin kendi gecikmesinin dışında, bu elemanın tasarımdaki yerine göre daha yavaş bir blok olabileceğini gösterir.
9 Örneğin, kullanılan bileşenin çıkışı, fiziksel olarak daha uzaktaki bir elemana bağlanırsa route gecikmesi uzamaktadır. Bunun yanında bu eleman, bir çok başka elemana bağlanırsa yine route gecikmesi uzamaktadır. Kasırga işlemcisininde, yukarıda bahsedilen sebeplerden dolayı, denetim birimi, ilklendirme gibi blokların route gecikmesi diğer bloklardan daha fazladır Donanım Tanımlama Dili nin Kullanımı Verilog donanım tanımlama dilinde, devre elemanları doğrudan tanımlanabileceği gibi, bir bloğun sadece davranışı da tanımlanabilir. Bu durumda sentezleyici program bu bloğu optimize ederek devre elemanlarına dönüştürür fakat bu işlem her zaman en verimli şekilde olmayabilir. Bu sebepten dolayı işlemci tasarlanırken mümkün olduğunda devre şeklinde yazım tarzı öncelik olarak alınmıştır. Her şeye rağmen bazı karmaşık blokları davranışsal yazmak, devre şeklinde yazmaktan hem daha kolay hem de daha anlaşılır olmaktadır. Örneğin, denetim birimi, yönlendirme birimi, dallanma gibi diğer devre elemanlarına kontrol bitleri gönderen bu birimler birer durum makinası şeklinde tasarlanmıştır Saat Dağıtımı Kasırga işlemcisi bir system on chip tasarımı olduğu için tek bir saat kaynağı ile beslenmektedir. Bu saat SPARTAN 3E Starter Kit üzerindeki 50 Mhz lik osilatör kristal ile sağlanmaktadır. Kasırga işlemcisi dışındaki çevre birimlerinin haberleşme hesapları 50 Mhz lik kristale göre yapılmıştır. Örneğin ; Vga birimindeki 72 Hz lik ekran tazeleme sıklığı, Rs232 birimindeki 9600 baud hesabı. Bu sebepten dolayı Kasırga işlemcisi 50 Mhz den daha yüksek saat sıklıklarında çalıştırılmak istendiğinde bu birimlerin saat sıklığı aynı kalmalıdır. Bunun yanında PS/2 portunu kontrol eden bloğun saat sıklığı, klavyenin kendi saatinden sağlanmaktadır fakat bu saati tasarıma entegre etmek için öncelikle sistemin kendi saat sıklığı ile örneklemek gerekmektedir İşlemci Modülleri Program Sayacı Birimi Program sayacı birimi giriş olarak mevcut program sayacı değerini ve anlık değeri alır. Çıkış olarak yeni program sayacını verir. Yeni program sayacı değeri işlenen buyruğun türüne göre PS + 1 PS 1 PS Anlık Değer Olabilir. Normal buyruklarda değer 1 artırılırken, yükleme buyruklarında senkronizasyon sağlanması için program sayacı değeri sabit bırakılır, durdurma buyruğunda PS 1 ile tekrar durdurma buyruğunun çekilmesi ve işlemcinin durdurlması sağlanır. Koşulsuz dallanma (bl, ba) buyruklarında ise anlık değer program sayacı olarak verilir. Program sayacı işlemcinin yürütüme başladığı noktadır.
10 Bellek Birimi Belleğin veri genişliği 16 bittir ve 12 bitle adreslenmektedir. İki kapılı belleğin A kapısından buyruk alış verişi, B kapısından ise veri alış verişi yapılmaktadır. Bu şekilde buyruk ve veri alış verişi sırasında çakışma olması önlenmiş olur. Bellek birimi 16 bit ile adreslendiğinde kullanılan block memory karta sığmadığı için adresleme boyutu 12 bit ile sınırlanmıştır. Kasırga belleği 16 bit ile adresleyecek durumdadır. Bellek oluşturulması için Xilinx Core Generator kullanılmaktadır Yönlendirme Birimi Boru hattının dolayısıyla işlemcinin temel sorunlarından olan verilerin bağımlılığı sorunları yönlendirme ile çözülmektedir. Değerler yazılmadan onlara ihtiyaç duyan buyruklara gerekli değerler çoklayıcılardan seçilerek gönderilir. 2. ve 3. aşamalarda bulunan bu çoklayıcılar yönlendirme birimi tarafından kontrol edilir. Birime giriş olarak işlenmekte olan buyruk kendinden önceki buyrukların yazmaçlara yazıp yazmadığına bakarak değerin yazmaç öbeği girişlerinden mi ya da AMB vb. işlem birimlerinin çıkışlarından mı alınacağına karar verir. Bu sırada önceki buyrukların çarpma olup olmaması da üst yazmacına değer yazılmış olacağından farklılık göstermektedir. Denetim biriminden, önceki iki buyruğun çarpma olup olmadığına dair sinyaller yönlendirme birimine girmektedir Denetim Birimi Denetim birimi tüm işlemciye hangi anda nasıl çalışacağını bildiren sinyallerin gönderildiği yerdir. Denetim birimi bu yönüyle işlemcinin çalışmasını sağlamaktadır. Denetim birimine bellekten çekilen buyruğun ilk 7 biti giriş olarak verilir. Bir de dallanma biriminden gelen dallanma tahmininin doğruluğunu bildiren bit giriş olarak verilir. Çıkış olarak ise o buyruğun her bir aşaması için gereken denetim değerleri dizisi verilir. Denetim dizisinin ilk biti o aşamanın değerlerinin anlamlı olup olmadığını da bildirir. Yanlış tahmin durumlarında boru hattı boşaltılırken anlamsız aşamlarda değerler değiştirilmez. Bunu sağlamak için denetim dizisi ilk bitine bakılır İşlem Birimi İşlem birimi toplama, çıkarma, ve, veya, özel veya işlemlerinin bunların yanısıra karşılaştırma işlemini gerçekleştirmektedir. İşlem biriminden çıkan değerler sıfır, büyüktür ve küçüktür bayraklarını etkilemektedirler Kaydırma Birimi A girişinden verilen değeri B girişinden verilen değeri son 4 biti ile kaydıran birimdir. Kaydırma işlemi sağ/sol yönlerinde ve aritmetik veya mantıksal kaydırma olabilir. Tüm bunları bildiren denetim değerleri kaydırma birimine girmektedir. Kaydırma birimi çıkışı 16 bitlik sonuçtur.
11 Çarpma Birimi A ve B girişinden giren 16 bitlik sayıları işaretli ya da işaretsiz çarparak alt ve üst olarak 16 bitlik iki çıkıştan veren birimdir Dallanma Birimi Kasırga 3 te yapılan bir iyileştirme de dallanma tahminidir. Sabit tahmin yapılarak programın hiçbir zaman dallanmayacağı öngörülmüştür. Buna göre program sayacı değiştirildikten sonra 3. aşamada bulunan dallanma biriminde tahminin doğruluğunun kontrolüyle birlikte programa aynen devam edilir ya da yanlış çekilmiş olan buyruk anlamsız kabul edilip boru hattından çıkarılır. Dallanma birimine giriş olarak dallanma buyruğunun program sayacı ve bayraklar alınır. Çıkış ise yeni program sayacı değeri ve tahminin doğruluğunu bildiren sinyaldir. Ayrıca tahmin doğruluğu sinyali ile belleğin girişindeki çoklayıcı kontrol edilerek doğru program sayacı değeri verilmesi sağlanır Diğer Birimler Kasırga da bu ana birimler haricinde 2 tane 11 bitlik anlık değeri 16 bite çıkaracak genişetici ve 1 adet değişik büyüklüklerde çoklayıcı kullanılmıştır. Bunların yanısıra aşamalar arasındaki değerleri tutan değişik boyutlarda yazmaçlar kullanılmıştır. 2. Kasırga İşlemcisi Çevre Birimleri Şekil 5. Kasırga System on Chip Tasarımı Kasırga çevre birimleri rs 232 veri alma ve gönderme denetliyicisi, VGA (monitör) denetleyicisi ve PS/2(klavye) denetleyicisinden oluşmaktadır.
12 2.1. RS232 Modülü Rs232 seri iletişim protokolü ile Kasırga işlemcisi TULPAR yazılımı ile programlanabilmekte bunun yanında koşulan programın kaç saat darbesinde işlendiği bilgisi alınabilmektedir baud oranında çalışan bu modül alıcı ve verici olmak üzere iki parçadan oluşmaktadır Alıcı Modül Alıcı modül, TULPAR kod çeviricisinde aldığı makina kodlarını seri iletişim protokolü ile almaktadır. Bu modül bitleri öncellikle 8 bitlik daha sonrada 16 bitlik paketler haline çevirmektedir. Kart üzerindeki programlama anahtarı ile denetlenerek gelen paketleri belleğin 0. adresinden başlayarak yazmaktadır. Programlama anatharı 1 konumuna geldikten sonra işlemci programlama modundan çıkar ve 0. adresten başlayarak buyrukları çeker Verici Modül Verici modül, kullanıcı programın bittiğinden emin olduğunda kaldırdığı switch sayesinde gelen veriyi 8 lik paketlere ayırarak, işlemciyi dinlemekte olan TULPAR kod çeviricisine aktarır. Bu modüle veri girişi olarak 16 bitlik, programın kaç saat darbesinde koşulduğu verisi iletilmektedir. Bu modül gelen 16 bitlik paketleri önce 8 bitlik paketlere düşürmekte daha sonra seri iletişim ile göndermektedir. Programın kaç saat vuruşunda koşulduğu verisi ise, işlemci başlatıldığı başlatılan bir sayacın, işlemcinin içinde sadece bu iş için kullanılan özel bir yazmaça değer yazması ile elde edilir. HLT komutu geldiğinde yazmaçtaki bu değer verici modüle veri girişi olarak verilir VGA Denetliyicisi Kasırga da VGA modülü girişine gelen 8 bitlik değerleri karakter rom undan okuduğu değere göre ascii olarak ekrana basar. Bu şekilde metinler harf harf ekrana girilerek oluşturulabilir. Ekran 72 Hz frekansında tazelenmekte, 800x600 çözünürlüğü desteklemektedir.bir karakter 8x16 pixel boyutundadır.bu sayede ekran, karakter olarak 37 satır, 100 sütuna bölünmüştür. Şu anda OUT buyruğu ile 8 bitlik değerler almaktadır. 72 Hz lik tazeleme oranı bir sayaç ile sağlanmıştır. Bunun yanında imleç pozisyonu her bir 8 bitlik veri geldiğinde bir sağa kayar satır sonuna geldiği durumda ise bir aşağı satıra geçmektedir. Bu durum carriage return (enter) tuşunun ascii kodu 0D geldiği zaman satır sonunu beklemeden gerçekleşmektedir. VGA denetleyicisinin karakter basmak için özellişmiş bu hali, PS/2 denetleyicisi ile klavye bağlanıldığı zaman tam bir uyum sağlamaktadır.
13 Şekil 6. ASCII karakterleriyle oluşturulmuş Kasırga Logosu 2.3. PS/2 Denetliyicisi PS/2 Klavye için kullanılan bir arayüzdür. RS232 iletişimine benzer bir protokol kullanan bu veri yolu, klavyeden basılan tuşların tarama kodunu (scan code) alarak, seri bir hat üzerinden denetleyiciye ulaştırır. Kasırga da bulunan in buyruğunun kullanım anlam bulması açısından önemli bir birimdir. Klavyeden gelen değerler denetleyici yardımıyla okunarak in buyruğu ile birlikte birikece yazılır. Ancak klavyede 17 Khz olan klavye hızı 50 Mhz lik saate bağlanmış olan Kasırga üzerinde çalışıtırıldığında, tuşa basılınca gelen tek veriyi birçok kez okumaktadır bu sebepten dolayı Kasırga Assembly Dili ile bu iki bileşeni an uyumlu çalıştıracak bir program yazılmıştır. Bu sayede ekrana normale yakın bir şekilde klavyeden yazı yazılabilmektedir. 3. Sonuç ve Planlar Proje ilerledikçe ortaya yeni planlar ve iyileştirmeler çıkmaktadır. Kasırga nın en son sürümü olan Kasırga 3 te de halihazırda yapılabilecek iyileştirmeler planlanmıştır. Ancak zaman sınırlaması nedeniyle bu iyileştirmeler gerçekleştirilmemiştir. Kasırga buyruk kümesine eklenecek birkaç video buyruğu ile işlemcinin Altera Nios 2 kartta çalışması ve görsel yönünün zenginleştirilmesi bu iyileştirmelerden biridir. Ayrıca temel gereksinim olan hızlı çalışmayı sağlamak için ana saatle senkronize çalışarak aşamalar arasına eklenecek geçici yazmaçlarla işlemci hızının artırılması sağlanabilir. Yine hızlandırma için boruhattında aşama sayısının çok sayıda buyruk işletilirken önemini kaybetmesinden ötürü en uzun birim olan çarpıcının da kendi içinde boruhattı ile çalışması ve
14 sinyallerin işlemci içine dağılmasındaki verimsizlikleri ortadan kaldırmak için PlanAhead yazılımı ile düzenlemeler yapılması işlemciyi hızlandıracak iyileştirmelerdir. İşlemcinin modülerliği sayesinde değiştirilebilecek dallanma tahmin yöntemi de bir başka iyileştirme olacaktır. Dallanma tahmini olarak ilk adımda çift kutuplu dallanma tahmini kullanılabilir. Kasırga nın OUT (Çık) buyruğuna yapılabilecek eklentiler ile işlemci çokluortam (multimedia) özellikleri kazanabilecektir. Özel lcd denetleyicisi ve DDR Sdram denetleyicisini Kasırga ile kullanarak aşağıdaki şekilde görüldüğü gibi bir resmi lcd ekrana bastırmak mümkün olabilecektir. Şekil 7. OUT buyruğuna yapılabilecek eklentiler sayesinde bu şekilde bir LCD ekran denetlenebilir. Kasırga nın sonuçlanmasıyla genel veya özel işler gerçekleştirebilecek bir işlemci tasarlanmasının yapılabilirliği kanıtlanmış ve en alt seviyede transistörlere kadar dayanan mantıksal işlemlerin oluşturduğu bir bitin olan işlemci ile tam bir bilgisayar sisteminin temelleri atılmıştır. Çevirici dilde yazılacak olan temel bir işletim sistemi ile ilk Türk bilgisayarın elde edilmesi hiç de zor olmayacaktır.
KASIRGA 4. GELİŞME RAPORU
KASIRGA 4. GELİŞME RAPORU 14.07.2008 Ankara İçindekiler İçindekiler... 2 Giriş... 3 Kasırga Birimleri... 3 Program Sayacı Birimi... 3 Bellek Birimi... 3 Yönlendirme Birimi... 4 Denetim Birimi... 4 İşlem
DetaylıKasırga [Gizli] KASIRGA PROJESİ 3. GELİŞME RAPORU. 16.06.2008 Ankara
KASIRGA PROJESİ 3. GELİŞME RAPORU 16.06.2008 Ankara İÇINDEKILER 1. KASIRGA İşlemcisi... 3 2. Tasarım Aşamaları... 3 2.1. Sanal Tasarım... 3 2.1.1. Buyruk Tasarımı... 3 2.2. Mimari Tasarımı... 4 2.2.1.
DetaylıKASIRGA -4 Buyruk Tasarımı Belgesi. 30.04.2008 Ankara
KASIRGA -4 Buyruk Tasarımı Belgesi 30.04.2008 Ankara 1 İŞLEMLER 00000000 SYSCALL 00000001 HLT 00000010 DEBUG 00000011 CONTINUE S-TİPİ 00000100 NOP 00000101 IN 00000110 OUT 00000111 BRET 00001000 ADD 00001001
Detaylıİvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır.
1 İVME VGA İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır. Genel olarak yazmaçlar, hafıza elemanlarından
DetaylıKASIRGA PROJESİ 2. GELİŞME RAPORU
KASIRGA PROJESİ 2. GELİŞME RAPORU 29.04.2008 Ankara İçindekiler 1.GİRİŞ... 4 2. KASIRGA İŞLEMCİSİ... 5 2.1 Kasırga Buyruk Tasarımı... 5 2.2 Kasırga 1... 7 2.2.1 Kasırga 1 Sanal Tasarım... 10 2.2.2 Kasırga
DetaylıİŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.
İŞLEMCİLER (CPU) Mikroişlemci Nedir? Mikroişlemci, hafıza ve giriş/çıkış birimlerini bulunduran yapının geneline mikrobilgisayar; CPU' yu bulunduran entegre devre çipine ise mikroişlemci denir. İşlemciler
Detaylı27.10.2011 HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK
Mikroişlemci HAFTA 1 HAFIZA BİRİMLERİ Program Kodları ve verinin saklandığı bölüm Kalıcı Hafıza ROM PROM EPROM EEPROM FLASH UÇUCU SRAM DRAM DRRAM... ALU Saklayıcılar Kod Çözücüler... GİRİŞ/ÇIKIŞ G/Ç I/O
DetaylıBilgisayar Mimarisi Nedir?
BİLGİSAYAR MİMARİSİ Bilgisayar Mimarisi Nedir? Bilgisayar mimarisi, diğer mimariler gibi, bir yapı kullanıcısının ihtiyaçlarını belirleme ve bu ihtiyaçları ekonomik ve teknolojik kısıtlamalar dahilinde
DetaylıAdresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. İşlenenin Yeri. Örnek MİB Buyruk Yapısı. İvedi Adresleme. Adresleme Yöntemleri. Bellek. Kütükler.
Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/0/blg-/ Getirme Çevrimi Yürütme Çevrimi Çözme İşlenen Yürütme
DetaylıBahar Dönemi. Öğr.Gör. Vedat MARTTİN
Bahar Dönemi Öğr.Gör. Vedat MARTTİN Merkezi İşlemci Biriminde İletişim Yolları Mikroişlemcide işlenmesi gereken komutları taşıyan hatlar yanında, işlenecek verileri taşıyan hatlar ve kesme işlemlerini
DetaylıMerkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı
Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/0/blg-1/ Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi
DetaylıVon Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1
Von Neumann Mimarisi Mikroişlemciler ve Mikrobilgisayarlar 1 Sayısal Bilgisayarın Tarihsel Gelişim Süreci Babage in analitik makinası (1833) Vakumlu lambanın bulunuşu (1910) İlk elektronik sayısal bilgisayar
Detaylıİşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir
DetaylıMikroçita. Mikroçita Rapor 2:
Mikroçita Rapor 2: İşlemci projemizle ilgili olarak hazırlamış olduğumuz bu ikinci raporda öncelikli olarak vhdl kullanarak tasarladığımız işlemcimizin genel çalışmasını ilk rapora göre daha ayrıntılı
DetaylıBilgisayar Donanım 2010 BİLGİSAYAR
BİLGİSAYAR CPU, bellek ve diğer sistem bileşenlerinin bir baskı devre (pcb) üzerine yerleştirildiği platforma Anakart adı verilmektedir. Anakart üzerinde CPU, bellek, genişleme yuvaları, BIOS, çipsetler,
DetaylıTBİL-405 Mikroişlemci Sistemleri Bölüm 2 1- % %01010 işleminin sonucu hangisidir? % %11000 %10001 %10101 %00011
TBİL-405 Mikroişlemci Sistemleri Bölüm 2 1- %11010 - %01010 işleminin sonucu hangisidir? % 10000 %11000 %10001 %10101 %00011 2- %0101 1100 sayısının 1 e tümleyeni hangisidir? % 1010 0111 %11010 0011 %1010
DetaylıBM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü
BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus
DetaylıAdresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. Örnek MİB ile Adresleme. Adresleme Yöntemleri. Doğal Adresleme. İvedi Adresleme
Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ Yrd. Doç. Dr. Şule Gündüz Öğüdücü www.cs.itu.edu.tr/~gunduz/courses/mikroisl/ İşlenenin nerde olacağını belirtmek için kullanılır. Buyruk çözme aşamasında adresleme
DetaylıTemel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın
Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi Buse Ustaoğlu Berna Örs Yalçın İçerik Giriş Çalişmanın Amacı Mikroişlemciye Hata Enjekte Etme Adımları Hata Üreteci Devresi
DetaylıXC8 ile PİC uygulamaları
XC8 ile PİC uygulamaları Modül tanıtımı : LCD kullanımı Öncelikle Lcd nedir ne değildir biraz tanımamız gerekiyor. LED göstergelerin fazla akım çekmesi ve kullanım zorluğu, son yıllarda LCD göstergelerin
DetaylıFPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması
FPGA ile Seri Haberleşme (RS232) Uygulaması 1 FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen bu örnek uygulamamızda, geliştirme kartımız üzerinde bulunan giriş / çıkış pinlerini FT232RL
DetaylıBM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)
DetaylıMerkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler
Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Yrd. Doç. Dr. Şule Gündüz Öğüdücü Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi Hız Sözcük uzunluğu Buyruk kümesi Adresleme yeteneği Adresleme kapasitesi
DetaylıHem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.
DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #2 DİZİLERE ERİŞİMDE MIPS BELLEK TALİMATLARI Amaç: Veri bölütü kullanımını ve tek-modüllü dizi
DetaylıHacettepe Robot Topluluğu
Hacettepe Robot Topluluğu PIC Assembly Dersleri 1. Ders: PIC Programlamaya Giriş HUNRobotX - PIC Assembly Dersleri 1. Ders: PIC Programlamaya Giriş Yazan: Kutluhan Akman, Düzenleyen: Canol Gökel - 4 Haziran
DetaylıYrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.
Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi
DetaylıPROGRAMLAMAYA GİRİŞ DERS 2
PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı
DetaylıÇalışma Açısından Bilgisayarlar
Çalışma Açısından Bilgisayarlar Ölçme sistemi ile hesaplama sistemi birbiriyle ilgili olmasına rağmen aynı değillerdir. Suyun sıcaklığı ve gürültünün şiddeti ile evdeki lambaların ölçülmesi aynı değillerdir.
DetaylıBÖLÜM12. 2- FORMÜLLER ve OTOMATİK TOPLAM. 2.1. Formüller
BÖLÜM12 2- FORMÜLLER ve OTOMATİK TOPLAM 2.1. Formüller Formül, bir sayfadaki verilerin aritmetiksel, mantıksal, istatistiksel vb. işlemleri yapması için kullanılan denklemlerdir ve bize sonuç bildirirler.
DetaylıEmbedded(Gömülü)Sistem Nedir?
Embedded(Gömülü)Sistem Nedir? Embedded Computing System de amaç; elektronik cihaza bir işlevi sürekli tekrar ettirmektir. Sistem içindeki program buna göre hazırlanmıştır. PC lerde (Desktop veya Laptop)
DetaylıBilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI
Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı Bilgisayarı yapısal olarak; bilgilerin girilmesi, girilen bilgilerin belirtilen durumlara
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak
DetaylıBilgisayarda Programlama. Temel Kavramlar
Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu
DetaylıCPU TURKEY CPU-KULIS MİKROİŞLEMCİSİ ÇALIŞMA RAPORU
CPU TURKEY CPU-KULIS MİKROİŞLEMCİSİ ÇALIŞMA RAPORU Proje Danışmanı: Proje Yetkilisi: Proje Ekibi: Prof. Dr. Sarp ERTÜRK, Kocaeli Üniversitesi, Elektronik ve Haberleşme Mühendisliği Bölümü Arş. Gör. Anıl
Detaylı2011 Bahar Dönemi. Öğr.Gör. Vedat MARTTİN
2011 Bahar Dönemi Öğr.Gör. Vedat MARTTİN ADRESLEME YÖNTEMLERİ Komut yazımında en önemli konulardan biri, adresleme yöntemidir. Adresleme yöntemi, işlenenin nerede bulunacağını belirtmek için kullanılan
DetaylıİÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31
İÇİNDEKİLER 1. KLAVYE... 11 Satır ve Sütunlar...11 Devre Şeması...14 Program...15 PIC 16F84 ile 4x4 klavye tasarımını gösterir. PORTA ya bağlı 4 adet LED ile tuş bilgisi gözlenir. Kendiniz Uygulayınız...18
DetaylıZS-SU-4500 SDI-12 USB ÇEVİRİCİ KULLANIM KILAVUZU
ZS-SU-4500 SDI-12 USB ÇEVİRİCİ KULLANIM KILAVUZU İçindekiler Şekiller... 2 Tablolar... 2 Giriş... 3 Ayarlar ve Çalışma... 4 Temel SDI-12 Komutları... 11 SDI-12 Komut Açıklamaları... 11 Adres Onayı (a!)...
DetaylıGünümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.
I. GİRİŞ Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. İnsanların elle yaptığı ve yapmakta olduğu bir çok
DetaylıOptik Sürücüler CD/CD-ROM DVD HD-DVD/BLU-RAY DİSK Disket Monitör LCD LED Projeksiyon Klavye Mouse Mikrofon Tarayıcı
1 Donanım Bileşenleri ve Çalışma Prensipleri Anakart (Mainboard) İşlemci (Cpu) Ekran Kartı Bellekler Ram Rom Ses Kartı Ağ Kartı TV Kartı Sabit Diskler HDD HHD SSD Optik Sürücüler CD/CD-ROM DVD HD-DVD/BLU-RAY
DetaylıBİL-142 Bilgisayar Programlama II
BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Kontrol Yapıları if Seçme Deyimi if... else Seçme Deyimi while Tekrar
DetaylıFPGA ile Gömülü Sistem Tasarımı (EE 525) Ders Detayları
FPGA ile Gömülü Sistem Tasarımı (EE 525) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS FPGA ile Gömülü Sistem Tasarımı EE 525 Her İkisi 3 0 0 0 7.5 Ön Koşul
DetaylıBM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction
DetaylıŞekil. 64 Kelimelik Yığıtın Blok Şeması
1 YIĞIT (STACK) KURULUMU Çoğu bilgisayarın MİB de yığıt veya LIFO (Last In First Out) bulunur. Yığıt bir bellek parçasıdır ve son depolanan bilgi ilk geri dönen bilgi olur. Yığıta aktarılan son bilgi yığıtın
DetaylıMikrobilgisayarlar ve Assembler. Bahar Dönemi. Vedat Marttin
Mikrobilgisayarlar ve Assembler Bahar Dönemi Vedat Marttin Bellek Haritası Mikroişlemcili örnek bir RAM, ROM ve G/Ç adres sahalarının da dahil olduğu toplam adres uzayının gösterilmesinde kullanılan sisteme
DetaylıBilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN
Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN Mikroişlemci Nedir? Bir bilgisayarın en önemli parçası Mikroişlemcisidir. Hiçbir bilgisayar mikroişlemci olmadan çalışamaz. Bu nedenle Mikroişlemci
DetaylıMerkezi İşlem Birimi Kavramı (CPU)
Donanım Merkezi İşlem Birimi Kavramı (CPU) Bilgisayar içerisinde meydana gelen her türlü aritmetiksel, mantıksal ve karşılaştırma işlemlerinden sorumlu olan elektronik bir aygıttır. Başlıca üç bölümden
DetaylıC Dersi Bölüm 1. Bilgisayar Donanımı
C Dersi Bölüm 1 M Bodur 1 Bilgisayar Donanımı Bilgisayarın yapısını ve çalışma prensiplerini bilmemiz Bir bilgisayar programından neler bekleyebileceğimizi anlamamızı sağlar. Bigisayar dört temel birimden
DetaylıBilgisayar en yavaş parçası kadar hızlıdır!
Donanım Bilgisayar en yavaş parçası kadar hızlıdır! Merkezi İşlem Birimi Kavramı (CPU) Bilgisayar içerisinde meydana gelen her türlü aritmetiksel, mantıksal ve karşılaştırma işlemlerinden sorumlu olan
DetaylıÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME
ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME Ecem İren Halilcan Can Akince Aylin Kantarcı Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü
Detaylı1.1. Yazılım Geliştirme Süreci
Kazanımlar Bu bolümde; Yazılım geliştirme sureci konusunda bilgi sahibi olacak, Yazılım geliştirme surecinde gerekli olan araçları tanıyacak, Python dilinde program geliştirme ortamlarını inceleyebileceksiniz.
DetaylıAdresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar
Adresleme Modları 1 Adresleme Modları İşlenenin nerede olacağını belirtmek için kullanılırlar. Kod çözme aşamasında adresleme yöntemi belirlenir ve işlenenin nerede bulunacağı hesaplanır. Mikroişlemcide
DetaylıAlgoritma ve Akış Diyagramları
Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları
DetaylıDers Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Organizasyonu BIL
DERS BİLGİLERİ Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS Bilgisayar Organizasyonu BIL321 5 3+2 4 5 Ön Koşul Dersleri Dersin Dili Dersin Seviyesi Dersin Türü Türkçe Lisans Zorunlu / Yüz Yüze
Detaylıx86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar
x86 Ailesi 1 8085A,8088 ve 8086 2 Temel Mikroişlemci Özellikleri Mikroişlemcinin bir defade işleyebileceği kelime uzunluğu Mikroişlemcinin tek bir komutu işleme hızı Mikroişlemcinin doğrudan adresleyebileceği
DetaylıBitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER
Bitirme Ödevi Sunumu BERKELEY RISC I işlemcisi İÇİN PLATFORM BAĞIMSIZ BENZETİM PROGRAMI Danışman : Yrd.Doç.Dr. D Feza BUZLUCA 0495 0639 Sunum Planı Ödev konusu hakkında Berkeley RISC I işlemcisi hakkında
DetaylıMimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.
Mimari Esaslar Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır. Bu unsurların büyüklüğü, sayısı ve yapısı o işlemcinin yeteneklerini belirler. Mimari farlılıklarda; bu konularda
DetaylıBİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ > Özer Çelik Matematik-Bilgisayar Bölümü Veri yolu (BUS), anakarttaki tüm aygıtlar arası veri iletişimini sağlayan devrelerdir. Yani bilgisayarın bir bileşeninden diğerine
DetaylıSistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.
Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler çağırılma kaynaklarına göre 3 kısma ayrılırlar: Yazılım kesmeleri Donanım
DetaylıPROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.
PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011
DetaylıBBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü
BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri
DetaylıBMT 101 Algoritma ve Programlama I Güz Dönemi. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 2016 2017 Güz Dönemi Yük. Müh. Köksal Gündoğdu 1 Elektrik Elektronik ve Bilgisayar Yük. Müh. Köksal Gündoğdu koksalgundogdu@ekargemuhendislik.com Yük. Müh. Köksal Gündoğdu
DetaylıMikrobilgisayar Sistemleri ve Assembler
Mikrobilgisayar Sistemleri ve Assembler Bahar Dönemi Öğr.Gör. Vedat MARTTİN Konu Başlıkları Mikrobilgisayar sisteminin genel yapısı,mimariler,merkezi işlem Birimi RAM ve ROM bellek özellikleri ve Çeşitleri
DetaylıProgramlama Dilleri 1. Ders 4: Diziler
Programlama Dilleri 1 Ders 4: Diziler Genel Bakış Tanım Dizilerin tanımlanması Dizilere ilk değer verilmesi Yerel ve Global diziler Dizilerin birbirine atanması Diziler ile ilgili örnekler Çalışma soruları
DetaylıEGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI
EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI 23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 2 PROGRAMLANABİLİR DENETLEYİCİLER NÜMERİK İŞLEME 23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 3
DetaylıBahar Dönemi. Öğr.Gör. Vedat MARTTİN
Bahar Dönemi Öğr.Gör. Vedat MARTTİN 8086/8088 MİKROİŞLEMCİSİ İÇ MİMARİSİ Şekilde x86 ailesinin 16-bit çekirdek mimarisinin basitleştirilmiş bir gösterimi verilmiştir. Mikroişlemci temel iki ayrı çalışma
DetaylıMİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER
BÖLÜM 2 INTEL AİLESİNİN 8 BİTLİK MİKROİŞLEMCİLERİ 2.1 8080 MİKROİŞLEMCİSİ Intel 8080, I4004, I4040 ve I8008 in ardından üretilmiştir ve 8 bitlik mikroişlemcilerin ilkidir ve 1974 te kullanıma sunulmuştur.
DetaylıAlgoritma ve Akış Şemaları
Algoritma ve Akış Şemaları Algoritma : Bir sorunu çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı düzenli mantıksal adımlara algoritma denir. Algoritma aslında bir işi optimum düzeye minimize
DetaylıBTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8
BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek
DetaylıMİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ
KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR ORGANİZASYONU LABORATUVARI MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ 1. GİRİŞ Analog işaretleri sayısal işaretlere dönüştüren elektronik devrelere
DetaylıMEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme
PROGRAMIN ADI DERSIN KODU VE ADI DERSIN ISLENECEGI DÖNEM HAFTALIK DERS SAATİ DERSİN SÜRESİ ENDÜSTRİYEL ELEKTRONİK MİK.İŞLEMCİLER/MİK.DENETLEYİCİLER-1 2. Yıl, III. Yarıyıl (Güz) 4 (Teori: 3, Uygulama: 1,
DetaylıBu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12
BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri
DetaylıYILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ
YILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ GEZGİN ROBOT UYGULAMASI ORHAN BEDİR ORHAN MERT Proje Danışmanı : Y.Doç.Dr. Tuncay UZUN İstanbul,
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar
DetaylıBilgisayar Mimarisi ve Organizasyonu Giriş
+ Bilgisayar Mimarisi ve Organizasyonu Giriş Bilgisayar Mimarisi Bilgisayar Organizasyonu Programcının görebileceği bir sistemin nitelikleri Bir programın mantıksal yürütülmesi üzerinde direk bir etkisi
DetaylıBilgisayarların Gelişimi
Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım
DetaylıSahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula
Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula Programlanabilir Lojik Basit Programlanabilir Lojik Cihazlar (Simple Programmable Logic Device - SPLD) ** PAL (Programmable
DetaylıDers Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/
Eşzamanlı (Senkron) Ardışıl Devrelerin Tasarlanması (Design) Bir ardışıl devrenin tasarlanması, çözülecek olan problemin sözle anlatımıyla (senaryo) başlar. Bundan sonra aşağıda açıklanan aşamalardan geçilerek
DetaylıSPARC v8 İŞLEMCİ SİMÜLASYONU
SPARC v8 İŞLEMCİ SİMÜLASYONU BİTİRME ÖDEVİ SUNUMU D a n ı ş m a n : Yrd. D oç. D r. F eza B U Z L U C A EZGİ ZÜMRÜT ULAŞ 040080194 Sunum Konuları 2 RISC İşlemciler Programlama Dili Seçimi SPARC v8 Yazılım
DetaylıCPU çok güçlü bir hesap makinesi gibi çalışır. CPU lar çok zeki olmayabilirler ancak çok hızlıdırlar. Sadece 0 ve 1 değerleri üzerinden işlem
Donanım CPU çok güçlü bir hesap makinesi gibi çalışır. CPU lar çok zeki olmayabilirler ancak çok hızlıdırlar. Sadece 0 ve 1 değerleri üzerinden işlem yaparlar. Güncel hızları GHz seviyeleri ile ifade
DetaylıBÖLÜM 2 8051 Mikrodenetleyicisine Giriş
C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 2 8051 Mikrodenetleyicisine Giriş Amaçlar 8051 mikrodenetleyicisinin tarihi gelişimini açıklamak 8051 mikrodenetleyicisinin mimari yapısını kavramak 8051
DetaylıTUŞ TAKIMI (KEYPAD) UYGULAMALARI
12. Bölüm TUŞ TAKIMI (KEYPAD) UYGULAMALARI Tuş Takımı (Keypad) Hakkında Bilgi Tuş Takımı Uygulaması-1 74C922 Tuş Takımı Enkoder Entegresi Tuş Takımı Uygulaması-2 (74C922 İle) Bu bölümde tuş takımı diğer
DetaylıAlgoritma ve Programlamaya Giriş
Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada
DetaylıMikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar
1 Sayısal Bilgisayarın Tarihsel Gelişim Süreci Babage in analitik makinası (1833) Vakumlu lambanın bulunuşu (1910) İlk elektronik sayısal bilgisayar (1946) Transistörün bulunuşu (1947) İlk transistörlü
DetaylıDeney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...
3.1 AMAÇ: Assembly programlama dili kullanarak mikrodenetleyici portlarını giriş olarak kullanmak. GİRİŞ: Bir portun giriş olarak mı yoksa çıkış olarak mı kullanılacağını belirten TRIS kaydedicileridir.
Detaylıİçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6
Hazırlayan: Erkan ÇİL 2016 2 FPGA Geliştirme Kartı Kullanıcı Kılavuzu İçindekiler FPGA Geliştirme Kartı Bilgileri FPGA Geliştirme Kartının Kullanımı FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ
DetaylıBİLGİSAYAR MİMARİSİ. Komut Seti Mimarisi. Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ Komut Seti Mimarisi Özer Çelik Matematik-Bilgisayar Bölümü Komut Seti Mimarisi Bilgisayarın hesaplama karakteristiklerini belirler. Donanım sistemi mimarisi ise, MİB(Merkezi İşlem Birimi),
DetaylıBİLGİSAYAR MİMARİSİ. İkili Kodlama ve Mantık Devreleri. Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ İkili Kodlama ve Mantık Devreleri Özer Çelik Matematik-Bilgisayar Bölümü Kodlama Kodlama, iki küme elemanları arasında karşılıklığı kesin olarak belirtilen kurallar bütünüdür diye tanımlanabilir.
DetaylıESM-361 Mikroişlemciler. 1. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN
ESM-361 Mikroişlemciler 1. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN Ders Bilgileri 24 Eylül 2018 GÜZ YARIYILI DERSLERİNİN BAŞLAMASI Ara Sınav 31 Aralık 2018 GÜZ YARIYILI DERSLERİNİN SON GÜNÜ
DetaylıNB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma
NB Ekran Seri Port Üzerinden Veri Okuma/Yazma Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma Genel Bilgi NB Ekranlar üzerinde 2 adet seri port bulunmaktadır. Bu portları kullanarak noprotocol modunda
DetaylıC++ Dilinde Bazı Temel Algoritmalar
C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım
DetaylıGörüntü Bağdaştırıcıları
Görüntü Bağdaştırıcıları Görüntü Bağdaştırıcıları (Ekran Kartları) Ekrandaki Görüntü Nasıl Oluşur? Monitörünüze yeteri kadar yakından bakarsanız görüntünün çok küçük noktalardan oluştuğunu görürsünüz.
DetaylıData Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 10. Hata Kontrolü
Veri İletişimi Data Communications Suat ÖZDEMİR Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü 10. Hata Kontrolü Konular Giriş Blok kodlama Lineer blok kodlar Cyclic kodlar Checksum http://ceng.gazi.edu.tr/~ozdemir
DetaylıK uark projesi. Temel Özellikler :
K uark projesi Temel Özellikler : Kuark işlemcisi 16 bit kelime uzunluğuna sahip bir işlemcidir. Veri ve komut belleği aynıdır ve en fazla 4 Gigabyte bellek adresleyebilir. İşlemcimiz paralel çalışabilecek
DetaylıMPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK
MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi
DetaylıYazılım Mühendisliğine Giriş 2018 GÜZ
Yazılım Mühendisliğine Giriş 2018 GÜZ İkinci Kuşak Bilgisayarlar -1956-1963 Transistör 1947 yılında keşfedilmiştir. 50 li yılların sonuna kadar bilgisayarlarda yaygın kullanımı görülmez. Vakum tüplere
DetaylıBİT in Temel Bileşenleri (Yazılım-1)
Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu
DetaylıDüşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?
Başlangıç Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir? Bilgisayar Bilgisayar, kendisine verilen bilgiler
DetaylıİÇİNDEKİLER. 1-1 Lojik ve Anahtara Giriş Lojik Kapı Devreleri... 9
İÇİNDEKİLER BÖLÜM 1 TEMEL LOJİK KAPI DENEYLERİ 1-1 Lojik ve Anahtara Giriş 1 1-2 Lojik Kapı Devreleri... 9 a. Diyot Lojiği (DL) devresi b. Direnç-Transistor Lojiği (RTL) devresi c. Diyot-Transistor Lojiği
DetaylıÖrnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.
Örnek bir Algoritma Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır. Çözüm 1: 1. Evden dışarıya çık 2. Otobüs durağına yürü 3. Durakta
Detaylı