KASIRGA PROJESİ 2. GELİŞME RAPORU
|
|
- Ebru Kaptan
- 7 yıl önce
- İzleme sayısı:
Transkript
1 KASIRGA PROJESİ 2. GELİŞME RAPORU Ankara
2 İçindekiler 1.GİRİŞ KASIRGA İŞLEMCİSİ Kasırga Buyruk Tasarımı Kasırga Kasırga 1 Sanal Tasarım Kasırga 1 Benzetim Kasırga 1 Fiziksel (FPGA Üzerinde) Tasarım Kasırga Kasırga 2 Sanal Tasarım Kasırga 2 Benzetim Kasırga 2 Fiziksel Tasarım Kasırga Kasırga Soc (System On Chıp) TULPAR KASIRGA ÇEVİRİCİSİ Rs 232 Modülü Vga Modülü
3 ÖZ Günümüz teknolojisi bilgisayar üzerine kurulmuş durumdadır. Bilgisayar donanımı üzerinde en yoğunlaşmış ülkeler Almanya, Amerika ve bazı Uzakdoğu ülkeleridir. Bunun nedeni bilim ve teknolojide ilerlemiş olmaları ve üretime geçmiş bulunmalarıdır. Bunların dışında da belirli çalışmalar yapılmasına rağmen bu ülkeler bilgisayar donanım sektöründe tekel konumundadırlar. Amerika ve Almanya nın tekelliğini sürdürdüğü bu teknoloji sektöründe Türkiye de kendini kanıtlamak isteyen ülkelerden birisidir. Bu nedenle bazı üniversiteler ve şirketler bünyesinde başlangıç seviyesinde çalışmalar yapılmıştır. Ancak hedeflenen büyük adımlar atılamamıştır. Bu adımlardan en önemlisi bir işlemci tasarlanmasıdır. Çünkü işlemciler bilgisayarların en önemli parçaları olmakla birlikte diğer teknolojilerin de temelinde yer almaktadır. İşte bu önemli adımın atılabilmesi için bu projede farklı sistemlere uyum sağlayabilecek temel bir işlemci tasarımı yapılacaktır. Bu makalede bu işlemcinin tasarımı ve gerçekleştirilmesine ilişkin ayrıntılar anlatılacaktır. 3
4 1.GİRİŞ Bilgisayar donanımı temel olarak dört kısımda incelenebilir. Bunlar işlemci, bellek ve giriş çıkış birimleridir. Bunlar arasında en önemlisi işlemcidir. Bir işlemci bilgisayarın temel parçasıdır. Adından da anlaşılacağı üzere işlemci, bir bilgisayardaki işlemleri yürüten ve sonuçları gerekli yerlere gönderen elemandır. Günümüzdeki işlemciler nanometreler ile ölçülen transistörlerin; dirençler, kondansatörler ve diyotlarla bir araya getirilmesinden oluşan milyonlarca karmaşık mantık kapısından oluşur. Bu karmaşık yapı ile işlemcinin temel iki birimi olan veriyolu ve denetim birimi oluşturulur. İşlemciler ilk olarak vakum tüpleriyle başlayan ve transistörlerle devam eden bir evrim geçirmişlerdir. Ancak işlemci üretiminin tam ivme kazanması silikon üzerine yapılan transistörler sayesinde olmuştur. Intel firmasının 1971 yılında ilk defa binlerce transistörü bir silikon çip üzerinde birleştirmesiyle bilgisayar çağında devrim gerçekleştirilmiştir. İşlemcilerin seri üretimine geçilmesiyle daha önce sadece büyük şirketlerin ve üniversitelerin kullanabildiği bilgisayarlar iyice küçüldü ve bugünkü PS halini aldılar. Bununla birlikte işlemciler modern hayatta yalnızca bilgisayarlar değil otomobil, cep telefonu gibi birçok yerde kullanılmaktadır. Teknolojide ileri seviyelere gelmiş birçok ülkede işlemci tasarımı gerçekleştirilmektedir. Bu konuda daha yeni adımlar atan ülkemizde de bir işlemci yapılmak istenmektedir. Bu yüzden daha yaratıcı olabilmek ve doğrudan bilgisayar tasarımının kullanıcılar, teknik elemanlar ve mühendisler tarafından daha yakından irdelenmesi amacı ile ülkemizde Tübider (Türk Bilişim Derneği) tarafından işlemci tasarımı üzerine bir yarışma düzenlenmektedir. Bu yarışma kapsamında gerçekleştirilecek işlemci bu projenin konusudur. Yarışmaya 3 dalda girmek mümkündür. Bunlar Sanal İşlemci Tasarımı, FPGA ile Fiziksel İşlemci Tasarımı ve Akademik Yenilikçi Gömülü Sistem Tasarımı dır. Projesi kapsamında her üç dalda bir tasarım yapılması planlanmaktadır. Ancak bu makalede yalnızca sanal tasarım ve FPGA ile tasarıma ilişkin ayrıntılar verilecektir. Ayrıca yarışmanın ilerleyen zamanlarında yapılacak işler ile ilgili planlar da yer alacaktır. İşlemci tasarımı için zaten hali hazırda verilmiş olan buyruklar kullanılarak işlemcinin yapması gerekenler ve kullanılacak birimler belirlenmiştir. İlk olarak buyrukların nasıl davranacağı ve buyruk türleri tasarlanmıştır. Bu adımdan sonra kağıt üzerine geçirilen tasarım üzerinde gerekli düzenleme ve değişiklikler yapılmış ve tasarım son halini almıştır. Veriyolunun son halini almasıyla birlikte denetim birimi tasarımı tamamlanmıştır. 4
5 2. KASIRGA İŞLEMCİSİ Kasırga ilk olarak Cpu Turkey yarışması için verilmiş temel buyruk kümesini gerçekleştirecek daha sonra tasarım üzerinde yapılacak olan değişiklik ve düzeltmelerle hem daha hızlı hem daha kullanışlı bir işlemci elde etmek üzere yapılacak olan işlemci dizisinin genel adıdır. Bu plan çerçevesinde Kasırga 1 ve Kasırga 2 işlemcileri tasarlanmış ve Kasırga 3 e yönelik ana adımlar atılmıştır. Kasırga 1 35 buyruktan oluşan temel buyruk kümesini kullanan tek vuruşluk bir işlemcidir. En temel ve basit tasarım her işin tek bir saat çevriminde bitmesi olduğu için diziye Kasırga 1 gibi tek vuruşluk bir işlemci ile başlanmıştır. Kasırga 2 ise Kasırga 1 den farklı olarak boru hattına sahip bir işlemcidir. Yine aynı buyruk kümesi bu sefer boru hattı ile gerçekleştirilmiş ve boru hattının sağladığı hızlanma gözlemlenmiştir. İşlemcilerin en temel hızlandırma yöntemi olan boru hattı bundan sonraki tasarımların tümünde var olacaktır. Kasırga 3 yapılacak değişiklik ise kullanım üzerinedir. Buyruk kümesi biraz daha genişletilerek programlanması daha pratik bir işlemci tasarımı yapılacaktır. Ayrıca buyruklar da 32 bite yükseltilerek buyruk kümesindeki buyruk sayısı artırılacaktır. Hiçbir işlemci giriş çıkışı olmadan anlam ifade etmeyeceği gibi Kasırga için de giriş çıkışlar daha doğrusu bir sistem olması için çalışmalar yapılmıştır. Bunun sonucunda Kasırga dizisindeki her bir tasarımın entegre edilebileceği bir sistem geliştirilmiştir. Bu sistem Kasırga çeviricisi ile başlamakta ve bir ekran ile son bulmaktadır. Yani kasırga çeviricisi üzerinde yazılan Kasırga buyrukları çevirici tarafından makine kodlarına çevrilerek seri port aracılığıyla kart üzerine atılmakta ve buradan her bir çıkış buyruğu sonucunda ekranda VGA modülü yardımıyla belirli bir yazmaçtaki değerin ascii karşılığı görülebilmektedir. Bu haliyle Kasırga_SOC(System on Chip) temel bir giriş çıkış fonksiyonu gerçekleştirmekle beraber yarışma süresince birimler üzerinde yapılacak iyileştirmelerle daha gelişmiş bir sistem elde edilecektir. Kasırga SOC un tasarımı sırasında Kasırga için kullanılacak pek çok yan birim de tasarlanmıştır. Bunlar başta Kasırga Çeviricisi (TULPAR) olmak üzere, seri port ve VGA modülleridir. TULPAR visual C# ile yazılmış bir bilgisayar arayüzüdür. TULPAR ile yazılan buyrukların çıkışları hem FPGA kartı hem de ekranda gösterilirler. 2.1 Kasırga Buyruk Tasarımı Sanal tasarım sırasında gerçekleştirilen ilk adım buyrukların belirlenmesi ve buyruk içindeki bitlerle buyrukların ve yazmaçların nasıl ifade edileceğinin belirlenmesidir. Kasırga nın buyrukları 5
6 16 bit genişliğinde olup anlık değeler 11 bit ile gösterilmektedir. İşletilecek olan 35 buyruk ise 16 bitlik buyruğun ilk 5 veya 7 biti ile gösterilmektedir. Kasırga işlemcisinde 4 tür buyruk bulunmaktadır. Bunlar A tipi, Y tipi, D tipi ve S tipi buyruklardır. A tipi buyruklar anlık değerlerle yapılan işlemleri ifade etmektedirler. 5 bit buyruğu bildirirken kalan 11 bit ise anlık değerdir. Anlık değerlerle işlem yapan buyruklar genellikle birikeci kullanmaktadırlar. Bu tür işlemlerde yazmaçlardan alınan değerler değil, buyrukla gelen anlık değerler kullanılır. Y tipi buyruklar yazmaçlarla işlem yapan buyruklardır. İşlem iki yazmaçtan gelen değerler arasında yapılır ve bir sonuç yazmacına bulunan sonuç yazılır. Buyruktaki ilk 5 bit yapılacak işlemi bildirirken sonraki 3 bit sonuç yazmacını, sonraki 6 bit ise işlemin yapılacağı değerlerin bulunduğu 2 yazmacı göstermektedir. D tipi buyruklar ise yine 5 bitlik işlem kodu ve 2 yazmaçtan oluşurlar. Buyruktaki 2.yazmaç adresi üzerinde işlem yapılacak yazmacı gösterirken ilk yazmaç ise yine sonucun yazılacağı yazmaçtır. S tipi buyruklar ise sistem ile ilgili buyruklardır. Yani program işleyişi ve giriş çıkış portlarına gelen değerlerin yönlendirilmesiyle ilgili buyruklarda kullanılırlar. Buyrukların nasıl gerçekleştirildiğine dair diğer ayrıntılar. Kasırga 1 ve Kasırga 2 tasarımında verilmiştir. Tablo 1 Kasırga Buyruk Kümesi İŞLEM KODLARI BUYRUKLAR (İNGİLİZCE) BUYRUKLAR (TÜRKÇE) BUYRUK TÜRLERİ İŞLEMLER syscall sisçağ A add topla Y Ra Rb + Rc addi atopla A Brkç Brkç+Anlık Değ. (İş. g.) sub çıkar Y Ra Rb Rc subi açıkar A Brkç Brkç Anlık Değ. (İş. g.) mul çarp D Üst+Alt Ra * Rb muli açarp A HI+LO Brkç*Anlık D. (İş. g.) mulu içarp D Üst+Alt Ra * Rb and ve Y Ra Rb Rc andi ave A Brkç Brkç Anlık Değer (Sıfırla genişletilmiş) or veya Y Ra Rb Rc ori aveya A Brkç Brkç Anlık Değer (Sıfırla genişletilmiş) xor öveya Y Ra Rb (XOR) Rc xori aöveya A Brkç Brkç (XOR) Anlık Değer (Sıfırla genişletilmiş) 6
7 01110 not değil D Ra Rb sll somk D Ra Ra<< Rb srl samk D Ra Ra>> Rb sla soak D Ra Ra<<< Rb sra saak D Ra Ra>>> Rb mov taşı D Ra Rb movi ataşı A Brkç Anlık Değer (İşaret. g.) lw yükle D Ra Bellek [Rb] sw sakla D Bellek [Rb] Ra cmp karş D Ra>Rb ise Büyük Bayrağı=1 Ra<Rb ise Küçük Bayrağı= beq sed A Sıfır Bayrağı = 1 ise PS=PS+İşaretle gen. Anlık D bne sedd A Sıfır Bayrağı = 0 ise PS =PS+İşaretle gen. Anlık D ba atla A PS=Anlık Değer(İşaretle gen.) bl avb A PS_ret = PS PS = Anlık Değer(İşaretle gen.) bret dön A PS= PS_ret bgt bd A Büyük Bayrağı = 1 ise PS =PS+İşaretle gen. Anlık D blt kd A Küçük Bayrağı= 0 ise PS =PS+İşaretle gen. Anlık D in gir S Brkç= Anlık Değer(Sıfırla gen.) out çık S Brkç<7:0> dışarı verilir hlt dur S PS = PS nop işlyok S PS PS Kasırga 1 Kasırga 1 tek vuruşluk bir işlemcidir. Yani program sayacındaki değerle bellekten alınan buyruk bir saat vuruşu içinde işlenerek sonuç değerleri gereken yazmaçlara yazılmaktadır. İşlemcinin gerçekleştirilmesi sırasında tek bir modül içinde tüm kodlar yazılmıştır. Yalnızca bellek modülü dışarıdan IP Core Generator yardımıyla hazırlanmıştır. Yine tasarım üzerindeki çarpma, AMB ve Kaydırma modülleri ayrı ayrı yazılmış ancak hız sağlanması açısından Verilog un standart operatörleri kullanılarak gerçekleştirme yapılmıştır. Herhangi bir durumda ayrıca yazılmış AMB, Çarpıcı ve Kaydırıcı da işlemciye bütünleştirilebilir. Kasırga tasarımı sırasında sanal tasarımla FPGA üzerindeki gerçekleştirim aynı anda yürütülmektedir. Bu nedenle ancak Verilog ile kodlamaya geçildiği sırada fark edilebilecek sorunlar 7
8 ve değişiklikler kısa sürede fark edilip çözümlenmektedir. Bunlardan bir tanesi de Kasırga 1 deki saat vuruşu kavramıdır. Tek vuruşlu bu işlemcide aslında 2 vuruşta bir buyruk gerçekleştirilmektedir. Ancak bu iki vuruş üst düzeyde tek bir vuruş olarak değerlendirilir. Bunun nedeni belleğin de bir saat darbesi ile çalışmasıdır. Saat darbesiyle birlikte bellekten alınan buyruğa göre geçici yazmaçlara okunan değerler atılır. Sonraki saat darbesiyle geçici yazmaçlardaki değerler işlem birimlerinden geçerek sonuçlar hesaplanır. Modüller yerine standart operatörlerin kullanılması da yine FPGA üzerinde tasarım sırasında fark edilmiş benzer bir iyileştirmedir. Şekil 1 de Kasırga 1 in sanal tasarımı gösterilmektedir. Bu tasarıma göre Kasırga 1 içinde gerçekleşen işlemler sırasıyla Kasırga 1 sanal tasarım başlığı altında anlatılmaktadır. 8
9 Şekil 1 Kasırga 1 Veriyolu 9
10 2.2.1 Kasırga 1 Sanal Tasarım Kullanılan bellek hem veri belleği hem de buyrukları tutan bellek olduğu için adres çıkışının önüne konulan bir çoklayıcı ile program sayacı ve adres değeri arasında seçim yapılır. Program sayacından gelen değerin seçilmesi için çoklayıcının denetim değeri 0 olarak belirlenir Program sayacından gelen değerle bellekten alınan buyruk yazmaç öbeğine getirilir. Yazmaç öbeğinde de; A tipi buyruk için ilk 5 bit <0:4> işlem değerini geriye kalan 11 bit ise anlık değer olarak alınır. Y tipi buyruk için ilk 5 bit <0:4> işlem değeri sonraki 3 bit <5:7> sonucun yazılacağı yazmacı (Ra), <8:10> arasındaki 3 bit birinci kaynak yazmacını (Rb), <11:13> arasındaki 3 bit ikinci kaynak yazmacını (Rc) gösterir. D tipi buyruk için ilk 5 bit <0:4> işlem değeri sonraki 3 bit <5:7> sonucun yazılacağı yazmacı (Ra),<8:10> arasındaki 3 bit birinci kaynak yazmacını (Rb) gösterir. Yazmaç öbeğine gelindiğinde Ra sonucun yazılacağı yazmacı gösterir, sonucun yazılacağı yazmaç herhangi bir yazmaç olabileceği gibi birikeç de olabilir. Birikeç ve diğer yazmaç arasında seçim yapabilmek için sonuç yazmacının adresinin verildiği girişe bir çoklayıcı bağlanmıştır. Bu çoklayıcının girişleri Ra yı bildiren <5:7> arasındaki 3 bit ve birikecin adresini bildiren 000 bitleridir. Yazmaç öbeğinde bulunan yaz denetimi sonuç yazmacına gelen değerin yazılıp yazılmayacağını denetler. Eğer yaz denetimi etkinse sonuç yazmacı olarak seçilmiş olan birikeç ya da genel amaçlı yazmaca yazmaç öbeğinin Veri Girişinden giren değer yazılır. Yazmaç öbeğinin veri girişinde bulunan çoklayıcı ile AMBden gelen sonuç değeri, anlık değer ve MOV buyruğunun gerçekleştirilmesini sağlayan Rb değeri arasında seçim yapılır. Bu belirlemenin yapılmasına sebep olan buyruk MOVI buyruğudur. MOVI buyruğu anlık değeri birikece atmaktadır. MOVI nın gerçekleştirilmesi için sonuç yazmacı olarak birikeç seçilirken yazmaç öbeğine giren değer olarak anlık değer seçilmektedir. Diğer buyruklarda ise işlemlerin yapılacağı AMB, Bellek vb. birimlerden gelen sonuç değeri seçilmektedir. MOV buyruğunda ise yazılacak değer olarak Rb yazmacının değeri olarak seçilir. Yazmaç öbeğinin çıkışı olarak Ra, Rb ve Rc yazmaçlarının değerleri alınır. Burada Ra bazı buyruklar için birikeci temsil ederken bazı buyruklar için sonuç yazmacını temsil etmektedir. Eğer işlem LW ya da SW gibi bir bellek işlemi ise Rb değeri bellekten okunacak ya da yazılacak veri için adresi gösterir. Ra LW için bellekten alınan değerin yükleneceği yazmacı, SW içinse belleğe yüklenecek değerin bulunduğu yazmacı gösterir. Eğer buyruk bir 10
11 aritmetik ya da kaydırma işlemi ise Ra, Rb ve Rc değerleri işlem birimlerinin olduğu kısma yönlendirilir. Aritmetik işlemlerin yapılacağı birimlere iki giriş verilecektir. Giriş değerleri buyruk türüne göre yazmaç öbeğinin çıkışına konulan çoklayıcılar yardımıyla seçilir. Birinci çoklayıcıya anlık değer ve birinci kaynak yazmacı (Rb), ikinci çoklayıcıya ise sonuç yazmacı (Ra) ve ikinci kaynak yazmacı (Rc) verilir. Buyruğun türüne göre çoklayıcılardan değerler seçilir. Buyruklara göre hangi değerlerin seçileceği aşağıdaki tabloda gösterilmişti Kasırga 1 Benzetim Kasırga dizisinde tasarım sırasında izlenilen yol sanal ve fiziksel tasarımın bir arada yürütülmesidir. Bu tasarım sırasında verilog ile kodlama yapılmış ve bundan sonra geriye dönüş yapılarak benzetimler yardımıyla sanal tasarım kısmı gerçekleştirilmiştir. Bu sırada bellekte bulunan buyrukların görülebilmesi için chipscope ile tasarımın kart üzerinde çalıştırılırken gerçek değerleri alınmıştır. Çalıştırılan Kod: 5 Faktöriyel Hesabı movi 5 mov r3 r0 movi 1 mov r4 r0 mov r5 r0 mov r6 r0 cmp r3 r4 bgt 2 ba 13 add r4 r4 r5 mul r6 r4 mov r6 r2 ba 6 //faktöriyeli alınacak sayı mov r0 r6 out ba 0 //13.yer //faktöriyel sayısı yazdırılır 11
12 Şekil 2 Kasırga 1 Sinyallerini Gösteren Grafik Program sayaci her bir saat darbesinde 1 artmaktadır. Buyruk_w değişkeninde hafızadan çekilen buyruklar bulunmaktadır. Bu buyruklar direk olarak işlemci tarafından işlenir. Kod incelendiğinde programın sürekli başa döndüğü görülecektir. Bu sebepten çıkış yazmacı olan gc cikis hep 120 değerini göstermektedir. 12
13 Şekil 3 Kasırga 1 Sinyallerini Gösteren Grafik Y1 ve y0 yazmaçları faktöriyel hesabı için gerekli değerlerini almaktadırlar. Bu sırada program sayacının artışı bir kesintiye uğramadan devam etmektedir. 13
14 Şekil 4 Kasırga 1 Sinyallerini Gösteren Grafik Program sayacının artışı 12 den 6 ya atlamaktadır. Bunun sebebi 12. adreste bulunan dallanma koşulunun doğru olmasıdır. 14
15 Şekil 5 Kasırga 1 Sinyallerini Gösteren Grafik Program işlemini tamamladıktan sonra ba 0 buyruğu ile başa dönmektedir Kasırga 1 Fiziksel (FPGA Üzerinde) Tasarım Kasırga 1 tek bir modül ve bir hafıza modülünden oluşmaktadır. Kasırga modülüne giriş olarak saat, reset ve giriş portu değeri verilmektedir. Modülden çıkış olarak 8 bitlik çıkış portu değeri alınmaktadır. Çıkış portu kart üzerinde bulunan 8 LEDe bağlanmış durumdadır. Reset tuşu ise tüm işlemciye ilk değer vermek için ya da bazı durumlarda sıfırlamak için yine kart üzerindeki bir butona bağlanmış durumdadır. Kodlar içinde 2 "always" bloğu bulunmaktadır. Birinci blokta buyruk bellekten okunarak yazmaç değerleri okunup geçici yazmaçlara atılırken, ikinci "always" bloğunda işlemler yapılarak sonuçlar yazmaçlara yazılmaktadır. İşlemler yapılırken her bir işlemin sonucu paralel şekilde hesaplanarak sonuç tüm işlemlerin geldiği kablolardan seçilmektedir. 15
16 Hangi buyruğun işlenmekte olduğu bilgisinin işlemciye yayımlanması verilog'daki "define" yapısı ile gerçekleştirilmiştir. Bu şekilde ayrı modüllere gerek kalmadan tek bir modülde tasarım tamamlanmıştır. 2.3 Kasırga 2 Kasırga 2, Kasırga 1 buyruk kümesinin boru hattı ile gerçekleştirilmiş halidir. Bunun haricinde yazmaç sayıları ve diğer tasarım ana kuralları aynı şekilde kalmıştır. Bu sayede hem işlemciye hız kazandırılmış hem de boru hattının bir işlemci üzerindeki hızlandırma etkisi de incelenebilmiştir. Kasırga 2 boruhattı 4 aşamadan oluşmaktadır. Bu aşamalar Getir (Fetch), Çöz (Decode), Yürüt (Execute) ve Yaz (WriteBack)'dır. Getir aşamasında bellekten program sayacı yardımıyla buyruklar çekilir. Çöz aşamasında buyrukla birlikte gelen anlık değer veya değerlerin okunacağı yazmaçların adreslerine göre okumalar yapılır. Okunacak değerlerin yazmaç ya da anlık değer olması gelen buyruğun türüne göre belirlenir. Çöz aşamasında boru hattı sorunlarından birisi olan veri iletimi sorunu da çözümlenir. Yürüt aşamasında ise buyruğun türüne göre çöz aşamasında saklanan değerler kullanılarak hesaplanan sonuç değeri kaydedilir. Yürüt sırasında bayraklar da değerlerinin alırlar. Son aşama olan Yaz da ise bir önceki aşamada kaydedilmiş olan sonuç değeri 2 aşama önce Çöz'de belirlenmiş olan yazmaca yazılır. Ayrıca Yaz aşamasında dallanma buyrukları için gidilecek olan adres de hesaplanır. Boru hattı uygulaması aslında tek bir buyruğun işlenme süresini uzatmaktadır ancak boru hattı dolduktan sonra her bir vuruşta bir buyruk sonuçlanmaktadır. bir vuruşta yapılacak işler de tek vuruşlu işlemciye göre kısaldığı için çok daha kısa sürede buyruklar işlenmektedir. İşlenecek 1 2 buyruk için tek vuruşluk işlemciden yavaş olan boru hattının yararı buyruk sayısı arttıkça belirginleşmektedir. Ancak buyrukların bu kadar süratle arka arkaya işlenmesi de beraberinde sorunlar getirmektedir. Kasırga boru hattında temel olarak 2 sorun vardır. Birincisi henüz hazır olmayan değerlerin yazmaçlardan okunmak istenmesi yani buyrukların arasındaki veri bağımlılığının getirdiği sorun, diğeri ise koşullu dallanma buyruğu geldiği anda koşulun doğru ya da yanlış olması durumuna göre bir sonraki buyruğun alınacağı adresin yani atlanacak adresinin bilinememesidir. Veri bağımlılığı sorununa yönlendirme tekniği ile çözüm bulunurken dallanma probleminde ise adresin değeri belli oluncaya kadar beklenmekte yani program sayacı sabitlenmektedir. Bu durumda dallanma buyruğu geldiği anlarda bir kaç vuruşun israf edilmesi söz konusudur. Ancak bu soruna bulunabilecek en temel ve ilk çözüm bekleme olmuştur. Kasırga 3 tasarımında dallanma sorununun çözümü üzerine iyileştirmeler yapılması planlanmaktadır. 16
17 2.3.1 Kasırga 2 Sanal Tasarım Tüm boru hattı aşamaları arasındaki yazmaçlar program sayacı yazmacıyla başlar. Program sayacı belleğin buyruk iletişimi yapılan kapısının adres girişine bağlanmış durumdadır. Program sayacının ilerlemesiyle yeni gelen buyruklar veri yoluna alınır. Bellekte veriler 2 baytlık sözcükler halinde bulunmaktadır. Bu nedenle normal şartlarda program sayacı birer birer artarken dallanma buyruklarıyla farklı değerler almaktadır. Bellekten alınan buyruk, yakalama ile çözme arasında geçişi sağlayacak olan buyruk yazmacına yazılır. Bundan sonra buyruk tüm aşamalarda ilerletilir. Bu şekilde her bir aşamada yapılmakta olan işlem kontrol edilerek denetimler ayarlanır. Buyruk yazmacına yazılmış olan değer ile çöz aşamasına geçilir. Bu sırada saat vuruşuyla birlikte değişen program sayacı sayesinde buyruk yazmacına yeni buyruk yazılır. Çözme aşamasında gerekli yazmaçlar veya anlık değerler buyruk türüne göre okunurlar. Kasırga buyrukları yazmaç kullanımlarına göre 4 gruba ayrılmış şekildedirler. Bunlar: Çarpma Buyrukları Yazmayan Buyruklar Anlık Değer Buyrukları Diğer Buyruklar Çarpma buyrukları B ve C yazmaçlarını okuyarak sonucu önceden belirlenmiş olan ALT ve ÜST yazmaçlarına yazarlar. Yazmayan buyruklar ise hiçbir yazmaca sonuç yazamayacak olanlardır. Bunlar dallanma buyrukları, OUT ve SW buyruklarıdır. Yazamayanlar işlenirken anlık değer, A ve B yazmaçları okunur. Anlık buyruklarda ise genişletilmiş anlık değer ve birikeç okunur. Diğer buyruklar ise aritmetik işlemler, kaydırma ve IN buyruklarıdır. Bu buyruklar işlenirken A,B ve C yazmaçları okunur. Aritmetik işlemler B ve C arasında yapılırken, Kaydırma buyrukları ise A ve B yazmaçları arasında yapılır. Buna göre çöz aşamasında: 1. Yazmaçlar okunur 2. Veri Yönlendirmesi yapılır 3. Sonucun yazılacağı yazmaç belirlenir Yazmaçlar okunurken 16 bit uzunluğundaki 8 yazmaçtan gereken değerler çoklayıcılar yardımıyla alınır ve A, B, C yazmaçlarına atılırlar. Yazmaçlar okunurken ortaya bazı veri bağımlılıkları 17
18 çıkmaktadır. Eğer okunmak istenilen veri henüz yazmaca yazılmamışsa veri yönlendirmesi yapılması gerekir. Şekil 6 Boru hattındaki veri yönlendirmesi Yönlendirme için scoreboarding yöntemi kullanılmıştır. Bu metot verinin yazılacağı yeri gösteren 10 bitlik bir vektör dizisi kullanarak çalışmaktadır. Vektörün ilk iki biti her işlendiğinde aynı yeree yazan buyrukların kullandığı yazmaçları göstermektedir. Örneğin çarpma buyrukları her zaman Alt ve Üst yazmaçlara yazdığından bu buyruklar işlenirken adresin hesaplanmasına gerek yoktur. Sonuç olarak vektörün ilk biti 1 ise Üst ve Alt yazmaçları yönlendirmek gerekmektedir. Vektörün geri kalan 8 biti <7:0> yazmaç öbeğinde yazmaçları göstermektedir. Önceki buyruğun yazdığı yazmacın vektördeki biti 1 diğerleri 0 olmaktadır. Veri yönlendirmesi çöz aşamasında uygulanmaktadır. Yönlendirme de 2 tane vektör biti kullanılmaktadır. Bunlardan birincisi bir önceki saat darbesinde oluşturulan, diğeri de 2 saat darbesi öncesinde oluşturulan vektör dizisidir. Eğer bir saat darbesi öncesine bağımlılık varsa veri yürüt aşamasından n, eğer ikii saat darbesi öncesine bağımlılık varsa veri yaz aşamasındann yönlendirilmektedir. Yaz aşamasından yönlendirilen değer geçici bir yazmaçla, yürüt aşamasındann yönlendirilen değer bir kablo ile alınmaktadır. 18
19 Son olarak, sonucun yazılacağı hedef yazmaç, çöz aşamasında belirlenmektedir. Sonuç yazmacı çarpma işlemi için Alt ve Üst, anlık değer buyrukları için birikeç yazmacıdır. Diğer buyruklar A yazmacını, yaz aşamasına kadar taşıyarak sonucun yazılacağı hedef yazmacın adresi olarak kullanır. Çöz aşamasından A, B, C ile gelen değerler AMB, çarpma, karşılaştırma ve kaydırma birimlerine yollanır. Sonuçlar asenkron olarak elde edilir, bir başka deyişle işlem birimlerinin saate bir bağımlılığı yoktur. Sonuçlar çöz aşamasına ve yürüt aşaması sonuç yazmaçlarına bağlıdır. Sonuç ve hedef yazmaçlar elde edildikten sonra geri bir tek yazma işlemi kalmaktadır. Aynı anda bayraklar yürüt aşamasında güncellenmektedir. Büyüktür ve küçüktür bayrakları CMP buyruğundan sonra, sıfır ve işaret bayrakları da diğer buyrukların işlemlerinden sonra güncellenmektedir. Sonuç değerleri ve bayrakların durumları yürütmeden sonra diğer aşamaya da taşınır. Yazma aşamasında yürüt aşamasından alınan sonuç ve adres değeri kullanılır ve sonuç değeri yazmaç öbeğine yazılır. Sonucun yazılacağı yazmaç gösterilirken, çarpma için özel olarak 1 bit ayrılmıştır. Ayrıca yazmayan buyruklar için de hiçbir yazmaca yazılmayacağını bildiren 1 özel bit ayrılmış durumdadır. Yazma aşamasında ayrıca dallanma adresi de hesaplanır. Bu nedenle anlık değer boru hattının son aşamasına kadar taşınır. Anlık değer boru hattının sonuna taşınırken dallanma koşulunun doğruluğu kontrol edilir. Eğer dallanma koşulu gerçekleşirse yeni dallanma adresi yaz aşamasında anlık değer yardımıyla hesaplanır. Dallanma buyrukları işlenirken boru hattının bir diğer problemiyle karşılaşılır. Problem dallanmadan sonraki buyruğun nereden çekileceğinin bilinememesinden ötürü ortaya çıkmaktadır. 19
20 Şekil 7 Boru hattındaki dallanma sorunu Her ne kadar normal çalışma sırasında program sayacı birer birer artsa da, eğer dallanma koşuluu doğru ise henüz yeni program sayacı değeri hesaplanmamış olacaktır. Çünkü program sayacınınn değeri son aşamada hesaplanmaktadır. Kasırga 2'de bu soruna bulunan çözüm yeni adres değeri gelene kadar beklenmesidir. Çözme aşamasında dallanma buyruğu olduğu anlaşıldığı anda, bellekten çekilmiş olan buyruk durdurulur. Adres hesaplanması için beklenirken, dallanma fark edildiği anda bir sayaç başlatılır ve sayaç sıfırlanıncaya kadar boru hattına boş buyruklar sokulur. Sayaç sıfırlandığı anda işlemcii normal işleyişine devam eder. Boş buyruklar işlendiği süre içinde tüm yazmaç değerleri ve değişkenler aynı şekilde tutulur. 4 saat vuruşunda yeni adres hesaplanmaktadır ancak aradaa giren buyruğun etkisizleştirilmesi için sayacın 1 oluğu dudumda da program sayacınınn sıfırlanması gerekir. Dallanma sonrasındaki adres hesaplanana kadar beklenilmesi bir kaç saat vuruşunun israf edilmesi anlamına gelse ve kulağa kolay gelse de FPGA üzerinde gerçekleştirilmesi hata ayıklama konusundaki zorluklar nedeniyle vakit alan bir kısım olmuştur. 20
21 Şekil 8 Kasırga 2 Veriyolu 21
22 2.3.2 Kasırga 2 Benzetim Kasırga 2'de de Kasırga 1 ile aynı şekilde belirli bir işlev gerçekleştirecek buyrukların arka arkaya sıralandığı bir kod çalıştırılmış ve bu çalışmanın Chipscope yardımıyla program sayacı, buyruk yazmaçları vb. değerlerine erişilmiştir. Çalıştırılan Kod: 5 Faktöriyel Hesabı movi 5 mov r3 r0 movi 1 mov r4 r0 mov r5 r0 mov r6 r0 //faktöriyeli alınacak sayı cmp r3 r4 bgt 2 ba 13 add r4 r4 r5 mul r6 r4 mov r6 r2 ba 6 mov r0 r6 out ba 0 //13.yer //faktöriyel sayısı yazdırılır 22
23 Şekil 9 Kasırga 2 Sinyallerini Gösteren Grafik Ps asama1: Bellekten çekilenin verinin adresidir ve program akışını kontrol eden sayaçtır. Görüldüğü üzere 0 dan başlayarak her bir saat darbesinde değeri 1 artmaktadır. Her yeni çekilen buyruk, buyruk_w adlı değişkende tutulur daha sonra çekilen her buyruk, boru hattına gönderilir. Boru hattı aşamaları buyruk aşama1, buyruk aşama2, buyruk aşama3 ve buyruk aşama 4 olarak gösterilmiştir. A,B ve C geçici yazmaçlardır. y0 birikeç yazmacıdır. 23
24 Şekil 10 Kasırga 2 Sinyallerini Gösteren Grafik Şekilde görüldüğü üzere buyruk aşamalarında uzun süre buyruğu girmektedir. Bu buyruk boru hattını dallanma geldiğinde durdurmak için kullanılmaktadır. Veri bağımlılıklarını engellemek için vektör ve vektör1 adlı bit dizileri yazmaçları yönlendirme amacıyla tutulmaktadır. 24
25 Şekil 11 Kasırga 2 Sinyallerini Gösteren Grafik Dallanma sonuçlandıktan sonra buyruklar normal çalışmasını devam etmektedir. Ps yeni ve Ps tutulan değişkenleri dallanmadan önce ve sonra program sayacının değerinin doğru devam etmesini sağlayan değerlerdir Kasırga 2 Fiziksel Tasarım Kasırga 2 yine Kasırga 1 de olduğu gibi tek bir ana modül ve bir hafıza modülünden oluşmaktadır. Kasırga modülüne giriş olarak saat, reset ve giriş portu değeri verilmektedir. Modülden çıkış olarak 8 bitlik çıkış alınmaktadır. Çıkış portu kart üzerinde bulunan 8 LEDe bağlanmış durumdadır. Reset tuşu ise tüm işlemciye ilk değer vermek için ya da bazı durumlarda sıfırlamak için yine kart üzerindeki bir butona bağlanmış durumdadır. Kasırga 1 de bulunan tek bir "always" bloğu, Kasırga 2 de 4 ayrı bloğa bölünmüş durumdadır. İlk blokta bellekten çekilen buyruk buyruğun tutulduğu bir ara yazmaca atılır. İkinci blokta ise değerler okunur ve bir sonraki "always" bloğuna taşınmak üzere ara yazmaçlara atılırlar. Çöz aşamasında yönlendirmeyi sağlayan vektör değişkeni de bu aşamada atanır bir sonraki gelen buyruk da vektöre bakarak yine ikinci "always" bloğunda vektörün durumuna göre kimi zaman yürütme aşamasından 25
26 değer okunur. Bazen de iki buyruk üstteki veri bağımlılıklarından ötürü bir önceki vektöre bakılarak yaz aşamasından değerler okunur. Bir sonraki "always" bloğunda ise çöz aşamasından gelen değerlerle paralel şekilde yapılan işlemler bir sonraki aşamaya atanmak üzere ara yazmaçlara atılırlar. Ayrıca yine bu aşamada küçük büyük, işaret ve sıfır bayrakları da değerlerini alırlar. Son blokta ise bir önceki aşamadan taşınan sonuç değerleri 2. "always" de belirlenmiş olan yazmaca yazılır. Yine son aşamada dallanmalar için hesaplanan yeni program sayacı değeri de ara bir yazmaca atılır. Boru hattı sorunlarından veri bağımlılığına vektör ile gerçekleştirilen "scoreboarding" yöntemiyle çözüm bulunurken. Dallanma buyruklarındaki bekletme ise program sayacının kaç defa bekleyeceğinin bir değişkende tutulması ile gerçekleştirilmektedir. Dallanma ikinci "always" e girdiği anda hangi buyruk olduğu anlaşılmakta ve boru hattına boş buyruklar sokulmaya başlanmaktadır. bekletme süresi boyunca boş buyruklar verilir. Daha sonra 4.aşamada bayrakların durumuna göre belirlenmiş olan yeni program sayacı değeri atanır. Bu şekilde 4 blokla gerçekleştirilen 4 aşama sayesinde her bir saat vuruşunda aşamaların tümü paralel olarak çalıştırılır. İlk çalışma anında aşamaların tümü boş olmakla beraber 4 saat vuruşu sonra aşamaların tümüne buyruklar girer ve her bir vuruşta bir sonuç alınır. tek vuruşta işlem yapan Kasırga1 e göre bir vuruşta yapılacak işlem daha kısadır. Bu nedenle saat sıklığını en uzun aşama olan çöz aşaması belirler. Boru hattı uygulamasıyla yaklaşık 20 mhz lik bir hız artışı sağlanmıştır. 2.4 Kasırga 3 Kasırga 3 şu anda tasarım aşamasında olan bir işlemcidir. Tasarımın ilk adımı olan buyruk tasarımı tamamlanmıştır. Buna göre buyruklar 32 bite çıkarılmış ve buyruk kümesi 67 buyruğa çıkarılmış buna göre buyruk tipleri de 8 e ve yazmaç sayısı da 16 ya çıkarılmıştır. Ayrıca BL ve BRET buyrukları için kullanılan Program Sayacı dönüş yazmacı da bulunmaktadır. Bu yeni buyruk tasarımı sayesinde Kasırga buyruklarıyla daha kolay programlama yapılabilir duruma gelmiştir. Anlık değerlerin kullanımı yaygınlaştırılarak pratiklik sağlanmıştır. Örneğin eski buyruk kümesindeki her değerin önce birikece atılması durumundan kurtulmak için MOV vb. komutlar yeniden tasarlanmıştır. Ayrıca eklenen DEBUG ve CONTINUE buyruklarıyla da işlemcinin çalışması sırasında yazmaç değerlerini görmek ve bu noktadan devam mümkün olacaktır. Kasırga 3 işlemcisinde bilgisayardan verilecek bir komutla işlemcinin geçici olarak durdurulması ya da tamamen işlemin bitirilmesi mümkün olacaktır. 26
27 Kasırga 3'te yapılması planlanan diğer yenilikler ise bir önbellek eklenmesi ve boru hattı aşamaları ve çarpma biriminin bölünmesiyle birlikte hızlanmanın sağlanması amaçlanmaktadır. Kasırga 3 teki temel prensip kullanımı daha kolaya bir buyruk kümesi ve daha hızlı bir işlemci ortaya çıkarmaktır. Tasarım sırasında değişiklik ve geliştirmeler devam edecektir. 2.5 Kasırga Soc (System On Chıp) İşlemcinin çıkışlarının sergilenmesi, diğer sistemlerle bağının kurulabilmesi hatta bir bilgisayar gibi kullanılıp yapılan işlemlerin sonuçlarının alınarak problem çözümü sağlaması için işlemcinin dışarıya bağlantıları olması gerekir. Kasırga da bu bağlantılar FPGA kartı üzerinde bulunan RS 232 seri portu ile yapılmaktadır. USB yolu ile bilgisayardan alınarak karta gömülen Kasırga verilog kodları ile kart üzerinde bulunan Xilinx Spartan 3E chip üzerinde gereken transistör bağlantılarını, dolayısıyla Kasırga'nın oluşmasını sağlar. Kasırga buyrukları makine dilinde yazılmış şekliyle bellekten alınarak işlenmelidir. Yazılan buyrukların makine diline çevrilmesi ise TULPAR Kasırga Çeviricisi ile yapılır. Tulpar ile çevrilen kodlar seri port bağlantısı ile belleğe yazılırlar. Bu sırada bellek ile işlemci arasındaki bağ kesilir. Yalnızca bilgisayardan gelen buyrukların yazımı yapılır. Buyrukların yazımının bitmesi ile port ile bellek arasındaki bağ kesilir ve Kasırga ile bellek iletişime başlar. Bu geçiş bir switch sayesinde gerçekleştirilir. Bundan sonra eğer aksi durum belirtilmemişse program sayacı 0 adresinden başlayarak tüm buyrukları okumaya başlar. Yapılan işlemlerin sonuçlarının gösterilmesi, işlemciden çıkış almak içinse bir VGA modülü yardımıyla monitöre OUT buyruğu ile dışarı verilen değerler ASCII kodları ile basılır. Kasırga'nın bir sistem olarak gerçekleştirilmesi sürümüne bağlı değildir. Çünkü her iki sürümde de buyruklar ve yaptıkları işler aynıdır. Bu durum sistemde modüler çalışmaya olanak verir. Şekil 12 Kasırga System on Chip Şeması 27
28 3. TULPAR KASIRGA ÇEVİRİCİSİ TULPAR Kasırga buyruklarını makine koduna yani bitlere çeviren bir programdır. Visual C# dili ile yazılmıştır. İlk olarak yalnızca işlemci denemelerinde kolaylık sağlaması açısından tasarlanmış olan bu çevirici daha sonra bellek modülüne buyrukların yüklenmesinde daha sonra da direkt seri port bağlantısı ile bilgisayar ve Kasırga arasında işlem kurulmasında kullanılmıştır. Proje içinde en sık kullanılan parçalardan bir tanesidir. Bu nedenle programın derhal test edilmesi ve eksiklerinin giderilmesi mümkün olmuştur. Şekil 13 Tulpar ekran görüntüsü TULPAR'ın soldaki penceresine yazılan kod üzerinde bulunan tuşa basılması ile yazılmış olan buyruklar ayrıştırılarak hatalı olanlar bildirilir ve buyrukların türlerine göre bir XML 28
29 dosyasında kayıtlı olan buyrukların içinden işlem kodu değeri ve yazmaçların değerleri çekilerek yazılmış olan program 16 bitlik buyruklara çevrilir. Şekil 14 Tulpar Seri port iletişim mesajı Seri port ayarları ayarlar menüsünden yapıldıktan sonra işlemciye sağ pencerede makine kodunda olan buyruklar tuşuna basılarak işlemciye gönderilir. 3.1 Rs 232 Modülü Bu modül Kasırga Çeviricisi olarak kullanılan Tulpar aracılığıyla Kasırga2 işlemcisini programlamak için tasarlanmıştır. Projenin başlangıcında işlemci hafızası Xilinx in yazılımı olan IP Core Generator ile oluşturuluyordu. Bu şekilde yapılan hafıza oluşturma işleminin çok zaman alması ve buyrukları test etmek için esnek bir yöntem olmamasından dolayı seri port iletişimi kullanılmaktadır. Kasırga2 deki seri port modülünün devreye alınabilmesi için kart üzerinde bulunan mod seçim anahtarı belleğe yaz konumuna getirilir. Mod seçim anahtarı 1 yapıldığı anda, Tulpar editöründe oluşturulan veriler Kasırga işlemcisinin belleğine yazılır. Program işlemciye yüklendikten sonra anahtar 0 konumuna getirilir ve işlemci buyrukları çekmeye başlar. İşlemcinin normal halinde, program sayacı 0 dan başlar. SPARTAN 3E kartıyla seri iletişim Bilgisayardan SPARTAN 3E kartına seri bağlantı aşağıdaki şekilde gösterilmiştir. 29
30 Şekil 15 Seri port pin bağlantıları Hazır oluşturulmuş IP core hafızası seri porttan 8 bitlik veriyi okumak için kullanılır. Fakat Kasırga nın belleği 16 bitlik veri uzunluğuna sahiptir. 8 bitlik paketler 16 bitlik olacak şekilde organize edilir ve veri hafızanın doğru adresine yazılır. Bu işlemleri yapan Verilog modülü paketleri senkronize etmek ve iletişim protokolü için basit bir sayaç kullanmaktadır. Çünkü belleğe yazma veya okuma işlemi bir saat vuruşunda gerçekleşmektedir. Ayrıca bir etkinleştirme biti yine seri port ve TULPAR üzerinden işlemciyi durdurmak üzere gönderilir. 3.2 Vga Modülü VGA modülü yazmaçların anlık durumunu görebilmek ve Kasırga Assembly Dili ile yazılmış programların hatasını ayıklamak amacıyla geliştirilen bir birimdir. SPARTAN 3E Starter Kit platformundaki VGA girişi ile standard PC monitörü veya flat panel LCD lere DB15 könnektörü ile bağlanabilmektedir. Şekilde görüldüğü gibi renkler VGA_RED, VGA_GREEN ve VGA_BLUE pinleri ile üretilmektedir. Senkronlama ise VGA_VSYNC ve VGA_HSYNC pinleri ile yapılmaktadır 30
31 Şekil 16 VGA modülü pin bağlantıları Kasırga VGA modülü 72 Hz tazeleme oranında 800x600 çözünürlüğe sahiptir. Vga sinyal zamanlaması Video Electronics Standards Association (VESA) tarafından belirlenmiştir. Bahsi geçen çözünürlük ve tazeleme oranlarına göre zamanlama terimleri aşağıda açıklanmıştır. 31
32 Dikey Zamanlama Toplam Çizgi Sync Pulse (çizgi) Back Porch (çizgi) Aktif Zaman (çizgi) Front Porch (çizgi) Tüm çerçeve Periyodu (çizgi) Yatay Zamanlama Piksel Saati Sync pulse Back Porch Aktif Zaman Front porch Tüm Çerçeve Periyodu 50 MHz 120 piksel 61 piksel 806 piksel 53 piksel 1040 piksel Bu darbeler Verilog HDL de ayrı ayrı sayaçlar ile üretilmektedir. Sistem Spartan 3E kartı ile uyumlu olarak 50 MHz de çalışmaktadır. Kasırga işlemcisinin çıkış portları hem LED ler hem de VGA dır. Kasırga Çevirici dilindeki OUT buyruğu birikecin ilk 8 bitini dışarı vermektedir. Bu yazmaç aynı zamanda akümülatör yazmacı olarak da adlandırılır. 8 tane LED den ikilik tabanda çıkış alınırken VGA modülünden 7 bit ASCII ye karşılık gelen figür ekrana bastırılır. Bu modülün satır başına geçme, boşluk bırakma gibi fonksiyonlara sahip olmasına rağmen ekran temizleme, renk ayarı vs. gibi geliştirilecek yönleri bulunmaktadır. 32
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ı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ıİ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ı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ı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ı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ı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ı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ı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ıŞ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ı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ıİŞ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ıKASIRGA CPU TURKEY 1. Ve 2. Aşama Raporu
KASIRGA CPU TURKEY 1. Ve 2. Aşama Raporu 31.07.2008 Ankara İçindekiler 1. Kasırga İşlemcisi... 3 1.1. Mimari Tasarımı... 3 1.1.1. Boru Hattı... 3 1.1.2. Yönlendirme... 3 1.1.3. Dallanma Tahmini... 4 1.1.4.
DetaylıFPGA Kullanarak 16 Bitlik Mikroişlemci Tasarımı Designing of a 16 bit Microprocessor by Using FPGA
FPGA Kullanarak 16 Bitlik Mikroişlemci Tasarımı Designing of a 16 bit Microprocessor by Using FPGA Emre ÖZTÜRK, Herman SEDEF Elektronik ve Haberleşme Mühendisliği Yıldız Teknik Üniversitesi emre.ytu@gmail.com
DetaylıBM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009
1-) Instruction Cycle State Diagram ı çizip herbir state için gerçekleştirilen işlemleri detaylı bir şekilde açıklayınız. Instruction state cycle da üstteki kısımlar CPU dışında alttaki kısımlar CPU içinde
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ı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ıDOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #6
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 #6 16 Bitlik R Tipi İçin ALTERA MAX-PLUS-II VHDL de Tam Tek Saat Veri Yolu Birimi Amaç: Tek-Saat
DetaylıAnakart ve Bileşenleri CPU, bellek ve diğer bileşenlerinin bir baskı devre (pcb) üzerine yerleştirildiği platforma Anakart adı
S a y f a 1 Anakart ve Bileşenleri CPU, bellek ve diğer bileşenlerinin bir baskı devre (pcb) üzerine yerleştirildiği platforma Anakart adı verilmektedir. Anakart üzerinde CPU, bellek, genişleme yuvaları,
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ıMİKROİŞLEMCİ MİMARİLERİ
MİKROİŞLEMCİ MİMARİLERİ Mikroişlemcilerin yapısı tipik olarak 2 alt sınıfta incelenebilir: Mikroişlemci mimarisi (Komut seti mimarisi), Mikroişlemci organizasyonu (İşlemci mikromimarisi). CISC 1980 lerden
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ıTEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma
TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya
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ı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ıA.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA
A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA 1 İçindekiler Bilgisayarların Çalışma Prensibi Sayı Sistemleri Programlama Dilleri 2 BİLGİSAYARLARIN ÇALIŞMA PRENSİBİ Bilgisayar
DetaylıOperatör panelleri FED
Operatör panelleri FED 120x32 to 1024x768 piksel çözünürlük Text bazlı monokrom ve renkli dokunmatik ekranlı tipler Entegre web tarayıcılı tipler Kullanıșlı WYSIWYG editörleriyle kolay tasarım Sistemden
DetaylıHaftalık Ders Saati Okul Eğitimi Süresi
DERSİN ADI BÖLÜM PROGRAM DÖNEMİ DERSİN DİLİ DERS KATEGORİSİ ÖN ŞARTLAR SÜRE VE DAĞILIMI KREDİ DERSİN AMACI ÖĞRENME ÇIKTILARI VE YETERLİKLER DERSİN İÇERİĞİ VE DAĞILIMI (MODÜLLER VE HAFTALARA GÖRE DAĞILIMI)
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ı1. PROGRAMLAMA. PDF created with pdffactory Pro trial version www.pdffactory.com
. PROGRAMLAMA UTR-VC Windows altında çalışan konfigürasyon yazılımı aracılığıyla programlanır. Programlama temel olarak kalibrasyon, test ve giriş/çıkış aralıklarının seçilmesi amacıyla kullanılır. Ancak
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ıİç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ıEEM 419-Mikroişlemciler Güz 2017
EEM 419-Mikroişlemciler Güz 2017 Katalog Bilgisi : EEM 419 Mikroişlemciler (3+2) 4 Bir mikroişlemci kullanarak mikrobilgisayar tasarımı. Giriş/Çıkış ve direk hafıza erişimi. Paralel ve seri iletişim ve
Detaylıİşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,
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ı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ıANALOG ADRESLİ YANGIN ALARM SİSTEMİ YAZILIM KULLANMA KILAVUZU
ANALOG ADRESLİ YANGIN ALARM SİSTEMİ YAZILIM KULLANMA KILAVUZU Bilgisayar üzerinden analog adresli yangın algılama sisteminde bulunan detektörlere yer atama, kontak izleme modülünün senaryo belirtilmesi
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ı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ı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ı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ıFPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber
FPGA ile Kablosuz Görüntü Aktarımı Yusuf Onur Koçberber Seminer 2009 Yaz Plan FPGA Genel bilgiler FPGA nın İç Yapısı, Nasıl Programlanabiliyor?, Nasıl Çalışıyor? Neden bu kadar popüler oldu? MPW Her şeyin
DetaylıAlgoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar
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ı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ı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ıİşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş Girdi/Çıktı (I/O) İşletim Sistemlerine Giriş - Ders11 1 Girdi/Çıktı (I/O) İşletim sisteminin temel fonksiyonlarından biride bilgisayardaki tüm I/O aygıtlarını kontrol etmesidir.
DetaylıMikroişlemcili Sistemler ve Laboratuvarı 6.Hafta
SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ Yrd.Doç.Dr.
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ıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 2. BÖLÜM 2 PROGRAMLAMAYA GİRİŞ Programlama Terimleri ve Programlama Ortamı 3 Program Programlama IDE
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ıMikroişlemci ile Analog-Sayısal Dönüştürücü (ADC)
KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİ LABORATUARI Mikroişlemci ile Analog-Sayısal Dönüştürücü (ADC) 1. Giriş Analog işaretler analog donanım kullanılarak işlenebilir.
DetaylıAlgoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip
DetaylıBilgisayar Programlama. Giriş
Bilgisayar Programlama Giriş Bilgisayar, verileri saklayan, bunlar üzerinde çok hızlı işlem yapan ve istenen verileri sunan bir aygıttır. Donanım (hardware) ve yazılım(software) diye iki bölüme ayrlır.
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ı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ıDeney 4. Gerçek Zamanlı Kesme Uygulamaları
Deney 4 Gerçek Zamanlı Kesme Uygulamaları Deneyin Amacı Gerçek zamanlı kesmenin amacının anlaşılması Gerçek zamanlı kesmenin ayarlarının ve ne şekilde kullanılacağının anlaşılması Gerçek zamanlı kesme
DetaylıProgram Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.
PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki
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ıBölüm 4 Ardışıl Lojik Devre Deneyleri
Bölüm 4 Ardışıl Lojik Devre Deneyleri DENEY 4-1 Flip-Floplar DENEYİN AMACI 1. Kombinasyonel ve ardışıl lojik devreler arasındaki farkları ve çeşitli bellek birimi uygulamalarını anlamak. 2. Çeşitli flip-flop
DetaylıANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ
ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ TDİ111 TÜRKDİLİ 1 1. Dil, diller ve Türk dili 2. Dil bilgisi, sözcük, cümle 3. Kelime Türleri 4. Anlatımın
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ıEDI MIGROS (Sipariş) LOGO ENTEGRASYONU
EDI MIGROS (Sipariş) LOGO ENTEGRASYONU İçindekiler Tablosu EDI AKTARIM UYGULAMASI... 2 1. EDI B2B Aktarımı... 2 2. Migros B2B Aktarım... 7 3. Metro E-İrsaliye Oluşturma... 9 1 EDI AKTARIM UYGULAMASI EDI
DetaylıDERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler
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ı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ıWiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman
WiFi RS232 Converter Sayfa 1 / 12 WiFi RS232 Converter Teknik Döküman WiFi RS232 Converter Sayfa 2 / 12 1. ÖZELLĐKLER 60.20mm x 40.0mm devre boyutları (5-15)VDC giriş gerilimi Giriş ve çalışma gerilimini
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ıBİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları
BİLGİSAYAR PROGRAMLAMA Algoritma ve Akış Şemaları Algoritma tanımı Algoritma özellikleri Algoritma tasarımı Akış şemaları Dallanma simgeleri Döngü simgeleri Akış şeması tasarımı Akış şeması örnekleri Konu
DetaylıNB Macro Kullanımı Hakkında Genel Bilgiler
NB Macro Kullanımı Hakkında Genel Bilgiler Genel Bilgi Makro Nasıl Eklenir? NB Ekranlarda Genel Makro Mantığı Makro Nasıl Çağrılır? Örnek Makro Projesi Genel Bilgi Makro, gelişmiş bir HMI kontrol metodudur.
DetaylıWilliam Stallings Computer Organization and Architecture 9 th Edition
William Stallings Computer Organization and Architecture 9 th Edition Bölüm 5 İç Hafıza Bir Hafıza Hücresinin Çalışması Bütün hafıza hücrelerinin ortak özellikleri vardır: 0 ve 1 durumundan birini gösterirler
DetaylıİSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA
İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA Aritmetik işlemler onlu sayı sisteminde yapılabileceği gibi diğer sayı sistemleri
DetaylıCP1E KM-N2-FLK MODBUS HABERLEŞMESİ
CP1E KM-N2-FLK MODBUS HABERLEŞMESİ Kablo Bağlantıları ve Slave Node Adresinin Belirlenmesi KM-N2-FLK Modbus Ayarlarının Yapılması PLC Modbus Ayarlarının Yapılması KM-N2-FLK dan 1 Word Okuma İşlemi KM-N2-FLK
DetaylıBİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU Güz Dönemi ÖDEV 1
BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU 2015-2016 Güz Dönemi ÖDEV 1 Son Teslim Tarihi/Saati : 07.10.2015/18:00 Teslim Yeri : Teknoloji Merkezi, 217 Uyarı: Bu ödevdeki soruları öğrenciler kişisel çabalarıyla
DetaylıTT - SC6V Video Modülü
Kullanım Kılavuzu TT - SC6V Video Modülü Ortak Video Hafızası Merdiven Işık Kontrolü Yükseltilebilir Kamera Sayısı SC6V modülü DT sistemler için tasarlanmış video paylaşım, ışık kontrolü ve ekstra kamera
DetaylıANAKARTLAR. Anakartın Bileşenleri
ANAKARTLAR Anakartlar, bilgisayarların temel donanım elemanıdır. Bir bilgisayarın tüm parçalarını üzerinde barındıran ve bu parçaların iletişimini sağlayan elektronik devredir. Anakartın Bileşenleri 1-Yonga
DetaylıEge MYO Bilgisayar Donanım Ders Notları
EKRAN KARTI Ekran kartı, mikroişlemcide (CPU) işlenen verileri monitörde görüntülenmesini sağlayan arabirimdir. Ekran modülü anakart üzerine yerleşik olabileceği gibi genişleme yuvalarına bağlanabilmektedir.
DetaylıDY-45 OSİLOSKOP V2.0 KİTİ
DY-45 OSİLOSKOP V2.0 KİTİ Kullanma Kılavuzu 12 Ocak 2012 Amatör elektronikle uğraşanlar için osiloskop pahalı bir test cihazıdır. Bu kitte amatör elektronikçilere hitap edecek basit ama kullanışlı bir
DetaylıPIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI
PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Bilgisayar Mühendisliği Bölümü, Lefkoşa, KKTC E-mail: dogan@neu.edu.tr, Tel: (90) 392 2236464 ÖZET Bilgisayarlara
DetaylıDOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ
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 #5 16 Bitlik R Tipi İçin ALTERA MAX-PLUS-II VHDL de Tek Saat Veri Yolu Birimi 1.Giriş Bu deneyde
DetaylıC# ile NJ Simulatöre Bağlanmak
C# ile NJ Simulatöre Bağlanmak Genel Bilgi Sysmac Studio da Değişkenlerin Oluşturulması Windows Form Oluşturulması Gerekli Dosyaların Referanslara Eklenmesi Form1.cs Dosya Yapısı Genel Bilgi Bu dökümanda
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ı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ıYazılım Mühendisliği 1
Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar
DetaylıBölüm 4 Aritmetik Devreler
Bölüm 4 Aritmetik Devreler DENEY 4- Aritmetik Lojik Ünite Devresi DENEYİN AMACI. Aritmetik lojik birimin (ALU) işlevlerini ve uygulamalarını anlamak. 2. 748 ALU tümdevresi ile aritmetik ve lojik işlemler
DetaylıBİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi
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ı8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:
8051 Ailesi 8051 MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur. 8051 çekirdeğinin temel özellikkleri aşağıda verilmiştir: 1. Kontrol uygulamaları için en uygun hale getirilmiş
DetaylıBölüm 7 Ardışıl Lojik Devreler
Bölüm 7 Ardışıl Lojik Devreler DENEY 7- Flip-Floplar DENEYİN AMACI. Kombinasyonel ve ardışıl lojik devreler arasındaki farkları ve çeşitli bellek birimi uygulamalarını anlamak. 2. Çeşitli flip-flop türlerinin
DetaylıMikroişlemcili Sistemler ve Laboratuvarı
SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı Hafta04 : 8255 ve Bellek Organizasyonu Doç.Dr. Ahmet Turan ÖZCERİT
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ı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ıDERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar
DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar Ders 5, Slayt 2 1 BACAK BAĞLANTILARI Ders 5, Slayt 3 PIC
Detaylı5.41. UYDU ANTENİ YÖNLENDİRME OTOMASYON PROJESİ
5.41. UYDU ANTENİ YÖNLİRME OTOMASYON PROJESİ Prof. Dr. Asaf VAROL avarol@firat.edu.tr GİRİŞ 1960 lı yıllardan sonra ABD ve Rusya arasında yaşanan aya adım atma yarışı uzay teknolojisinin süratle gelişmesine
DetaylıKullanım Kılavuzu Milli Eğitim Bakanlığı 2010
Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Bu belge BT Sınıfı Etkinliklerinde Kullanılmak Üzere Hazırlanmıştır İÇİNDEKİLER GİRİŞ... 3 ÜYE (KAYIT) OLMA... 3 YÖNETİM PANELİ İŞLEMLERİ... 5 ŞABLON AYARLARI...
DetaylıMIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı
MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 3 Assembler Programlama ve Program Geliştirme Program Geliştirme Problem Tanımlama Bağlantı Şekli Algoritma Akış Diyagramı Kaynak
DetaylıGeleneksel ekran kartları, bilgileri, sistem belleğinden kendi belleğine alıp monitöre göndermekteydi. Günümüzdeki ekran kartları ise görüntülenecek
EKRAN KARTI Ekran kartı, işlemcide (CPU) işlenen verileri monitörde görüntülenmesini sağlayan, sinyallere dönüştüren bir genişleme kartıdır. Ekran kartları bilgisayar sistemine anakart üzerinde bulunan
DetaylıPİLSAY KULLANMA KILAVUZU
PİLSAY KULLANMA KILAVUZU V:1.0 1 İÇİNDEKİLER SAYFA Cihazın Genel Özellikleri... 3 Çağrıların Ücretlendirilmesi... 4 Sayaçların Takibi ve Silinmesi... 5 Aranan Numaraların Takibi... 6 Program Moduna Girme...
DetaylıParalel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları
Paralel ve Seri İletişim Şekil1a: Paralel İletişim Şekil1b. Seri iletişim Şekil 2: İletişim Modları Asenkron/Senkron İletişim PROTEUS/ISIS SANAL SERİ PORT ile C# USART HABERLEŞMESİ Seri iletişimde, saniyedeki
Detaylı