Bu Blogda Ara

intel etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
intel etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

30 Ekim 2010 Cumartesi

Game Engine Programming



3 Boyutlu Oyun Motoru geliştirme seminerim önümüzdeki Salı günü (2 Kasım 2010) başlayacağını büyük bir mutlulukla duyurmak isterim :) Sau Bilgisayar Topluluğu bünyesinde gerçekleştilecek olan organizasyon için zaman 13:00~15:00 saatleri arası (D8 binası - sınıf henüz bana bildirilmedi) şeklinde düşünüldü. Ders yoğunluğuna bakarak en uygun zaman seçilmeye çalışıldı. Bu aralıkta dersi olan arkadaşlardan özür diliyorum. Eğer bir aksilik çıkmaz ise her salı bu seminerler düzenlenecek. Seminerlerle ilgili her türlü görüş ve eleştirilerinizi yorum olarak bu girdinin peşine bekliyorum.

Salı günü görüşmek üzere efendim. :)




-------02.11.2010------------------------------
İlk eğitimin başarılı geçtiğine inanıyorum. Katılan tüm arkadaşlara teşekkür ederim.
1. hafta sunum dosyasını buraya tıklayarak indirebilirsiniz.

Eğitimin bundan sonraki haftalarında tüm etkinliğin kameraya çekilmesi düşünülüyor. Ben de faydalı olacağına inanıyorum.

Haftaya aynı saatte görüşmek üzere.
-----------------------------------------------

-------09.11.2010------------------------------
İkinci hafta eğitim sunumları için:
sunum2
sunum3

sunumda kullanılan videolar:
Blender
Cry Engine 3
UDK

ayrıca sunumun bir kısmı video kameraya çekilmiştir. Görüntüler henüz elime ulaşmadı. Çekim yapan arkadaştan elde ettiğim zaman paylaşacağım.

Katılan herkese teşekkür ederim. Bayramdan sonraki hafta görüşmek üzere.

-------23.11.2010---------------------------------------
sunum4

Eğitim Videoları (YouTube)


Makine dilinde derleyicisiz yazdığımız uygulama.


--------------------------------------------------------



About this playlist

9 videos
Total length: 1 hour, 26 minutes

Description: Sakarya Üniversitesi Bilgisayar Mühendisliği 3 Boyutlu Oyun Motoru Programlama Seminerleri 5. Oturumu
Oturum Konusu: OpenGL
Toplam Uzunluk: 01:30:30

15 Mayıs 2010 Cumartesi

Intel 8085 Mikroişlemci / Başlangıç

Herkese merhaba,
Bu yazımda Intel firması tarafından geliştirilmiş olan 8085 mikroişlemcisi yapısı, çalışma prensibi ve programlanması ile ilgili genel bilgi vereceğim. Başlıkta da belirttiğim gibi bu mikroişlemciler ve micro programlama konusuna girişimin imgesidir. Öncelikle bu basit mikroişlemciyi inceleyip programlamasına değineceğim. Daha sonra yine Intel firmasının 8051 mikrodenetleyicisinden bahsedeceğim. Daha sonraki yazılarımda sayısal sistemleri en başından alıp bir mikroişlemci nasıl çalıştığını anlatacağım. Daha sonra kendi mikroişlemcimi tasarlayacağım. Umarım atlamadan anlaşır bir biçimde anlatabilirim. Siz de üzerinde çalışıp kendi mikroişlemcinizi geliştirebilirsiniz.

Intel 8085 8-bit Microprocessor


Her konuda olduğu gibi bu konuda da tarihsel bilgilerle vaktinizi çalmak gibi bir niyetim yok. Merak edenler varsa http://en.wikipedia.org/wiki/8085 adresinden gerekli bilgileri alabilir. Programlama kısmına geçmeden önce işlemcinin yapısı hakkında bilgi vermek doğru olacaktır. Başlamadan önce belirtmeliyim. Bu yazımda sadece mikroişlemcinin yapısı ve programlamasından bahsedeceğim. Elektronik bir devrede nasıl kullanıldığından vb. diğer işlemlerden bahsetmeyeceğim. Genel olarak soyut sorunlar üzerinden yola çıkacağız.


Yukarıdaki şema mikroişlemcinin iç yapısını göstermektedir. Sırayla açıklayalım...
  • 8 bit veri yolu
İşlemci birimleri arası haberleşmeyi sağlayan ortak kanal olarak tanımlanabilir. Bir seferde 8-bit veri taşıyabilir ve yalnızca tek bir birim kullanabilir. Bu birim kanala veriyi bırakır, veri yolunun bağlı olduğu tüm birimlere veri iletiri fakat yalnızca o anda ona ihtiyacı olan birim o veriyi kullanır. Tıpkı Ethernet (IEEE 802.3) protokolünde olduğu gibi. Burada farklı bir durum olarak veriyi kullanacak birimin aktif diğerlerinin pasif olamasını işlemci ayarlamaktadır. Toparlamak gerekirse, bir broadcast (yayın) tipi iletişim var fakat bu yayına yalnızca ilgili birim aldırış ediyor.
  • ALU (Arithmetic Logic Unit)
Diğer bir değişle Ardışıl Mantık Birimi. Bu birimde tüm mantıksak ve aritmetik işlemler yapılmaktadır. Toplama, çıkarma, karşılaştırma vb.
  • Accumulator (Akümülatör)
Temel kaydedici olarak tanımlasam çok yanlış olmaz sanırım. Tüm aritmetik işlem sonuçları bu kaydedicide saklanmaktadır. 8-bit veri saklayabilmektedir. Bir çok işlemde bu kaydedici kullanılmaktadır. Yeri geldikçe detaylandıracağım.
  • Instruction Register
Bu saklayıcı mikroişlemcinin işleyeceği komutu tutar. 8 bitliktir. Bu mikroişlemcinin 8 bit kelime işlemci olduğunu belirtmiştik. Bir seferde bir tek komutu işleyebilmektedir ve bu komut 8 bit (1 byte) olmak zorundadır. Zaten hafıza birimimizin (RAM / ROM) her bir gözü 1 byte boyutundadır.
  • Program Counter
İşlemcinin bir sonraki işleyeceği komutun adresini saklayan kaydedicidir. Boyutu 16 bittir. Buradan şu sonucu çıkartabiliriz, 8085 mikroişlemcisi 16 bit ile adreslenebilecek kadar hafıza alanında kod koşturabilmektedir. 2^16 ~= 64 kb hafıza alanı.
  • Stack Pointer
Yığın hafıza bölgesinin adresini tutar. Buraya FILO (First In Last Out - İlk Giren Son Çıkar) mantığıyla veri ekleyip çıkartabiliyoruz. Boyut 16 bit.
  • Flag Register
Bazı komutlar sonrasında durum kontrolü yapılması gerekmektedir. Örneğin bir toplama işleminde sonuç saklayıcının boyutunu aşabilir. Bu durumda işlemci kilitlenmez işleme devam eder, fakat programcı bu durumdan haberdar olması gerekmektedir. Programcı böyle bir durumun gerçekleşip gerçekleşmediğini Bayrak Saklayıcısındaki taşma bayrağının 1 - 0 durumunu inceleyerek anlayabilir. Bayraklardan kısaca bahsetmek gerekirse;
Sıfır Bayrağı = çıkarma işleminin sonucu 0 ise,
Taşma Bayrağı = toplama işlemi saklayıcıya sığmıyorsa, ya da çıkarılan çıkandan küçükse,
İşaret Bayrağı = Akümülatördeki sayı negatif ise (yani 8. bit 1 ise)
bu bayraklar 1 değerini alır. Aksi durumda 0 değerindelerdir.

Yazıma burada ara veriyorum. Bir sonraki yazımda kaldığım yerden tanıtmaya devam edeceğim. Daha sonra programlama kısmına geçeceğiz. Vaktim olursa bellek organizasyonu konusuna da değineceğim.
Görüşmek üzere...