MİKROİŞLEMCİ EĞİTİMİ İÇİN TASARLANAN BİR GÖRSEL ANİMASYON A VISUAL ANIMATION DESIGNED FOR MICROPROCESSOR COURSE Yrd. Doç.Dr. H. Hüseyin Çelik Marmara Universitesi, Teknik Eğitim Fakültesi, Elektronik ve Bilgisayar Bölümü, Istanbul/Turkey hcelik@marmara.edu.tr ABSTRACT The main problem in the learning microprocessors is found in the relationship between theory and practice. The comprehensive and complex themes require students to pay intensive attention in the course. Visual animations provide more efficient tool than static visual components to understand technical details of the course topics easily by students. In the learning period, they supply a background to observe sequential items of a certain theme. This paper presents a visual animation approach for teaching microprocessors in electrical and electronics education. The visual animations were constructed by meaning of the difficulty level of the topic content. The animation program make possible to replay any desired step or steps to get repeatedly observations. This facilities provide a cognitive support for students in learning microprocessors. Keywords: Microprocessors course, visual animation, technical education. ÖZET Mikroişlemci eğitiminde temel problem teori ve uygulama arasındaki ilişkidir. Ayrıntılı ve karmaşık konular öğrencilerin ders sırasında yoğun dikkat harcamalarını gerektirir. Ders konularına ait teknik ayrıntıların öğrenciler tarafından kolay anlaşılmasında, görsel animasyonlar durağan görsellerden daha etkili araçlardır. Öğrenme sürecinde bu araçlar, belirli bir konunun ardışıl adımlarının gözlenmesini sağlayan bir alt yapı oluştururlar. Bu yazıda, elektrik ve elektronik eğitimindeki mikroişlemci dersinin öğretiminde görsel animasyon yaklaşımı tanıtılmaktadır. Animasyon programı herhangi bir işlem adım ya da adımları tekrarlı gözlenmesine imkan sağlamaktadır. Bu özellik mikroişlemci konularının öğrenilmesinde öğrencilere algılama desteği sağlamaktadır. Anahtar Kelimeler: Mikroişlemciler dersi, görsel animasyon, teknik eğitim. GİRİŞ işlemin sıralı olarak oluşması temeline dayanmaktadır. Ayrıca, birçok durumda yapılan ana işlem, bir önceki duruma/işleme bağımlı sonuçlar üretebilmektedir. Sözü edilen temel özellikler, mikroişlemci konularının sözlü anlatımında görsel animasyonlar kullanmanın daha verimli öğrenme ortamı sağlayacağını göstermektedir. Bu bağlamda simülasyon programlarının da uygulama alanında etkin faydalar sağladığı görülür. Ancak standart simülasyon ortamları genellikle eğitimcinin tercih ettiği özel vurguların oluşturulmasına imkan sağlamaz. Ayrıca bu programlar, farklı uygulama parçalarının işletiminde ya da değişiklik ekleme yolu ile yapılan her bir deneme için, doğrudan işletme yerine daima zaman alıcı derleme işlemlerine ihtiyaç duyarlar. Karmaşık konuların sözlü anlatımında ortak problem, yüksek konsantrasyon gerektirmesidir. Özellikle, birçok alt konunun bileşiminden oluşan bir ana konunun öğrenilmesinde, yeni konunun öncekiler ile doğrudan ilişkili olması algılama alanının genişlemesine yol açmaktadır. Bu tür konuların algılama sürecinde, öğrencinin alt konuları kavramış olmasının yanında, yeni konuya yoğunlaşması da gerekmektedir. Görsel anlatım araçları ile etkin bir anlatım ve algılamanın sağlandığı açıkça bilinmektedir. Bu anlamda slayt, resim, şema ve benzeri görseller algılamayı geliştiren önemli araçlardır. Bunların yanında, ardışıl bir dizi yapısını yansıtan ve birbiri ile oluşturduğu ilişkiler ile bir bütünlük kazanan olayların anlatımında, durağan görseller sınırlı kalmaktadır. Bu durumda animasyon yaklaşımları ön plana çıkar. İyi kurgulanmış animasyon destekli görsel sunumlar durağan görsellere göre daha yüksek bir algılama seviyesinin yakalanmasını sağlamaktadır. MİKROİŞLEMCİLER VE KONU ÖZELLİKLERİ Komut işletim birimi olan mikroişlemciler, başta bilgisayar olmak üzere algoritma denetimli olarak çalışan bütün yapılarda elektronik donanımın vazgeçilmez temel ögesidir. Bu bağlamda, mikrodenetleyiciler temelde aynı fonksiyona sahip olmakla birlikte iç yapıda ilave birimler içermesi ile kolay donanım çözümlerini üreten birimlerdir. Günümüz teknolojisinde bir yandan farklı mikroişlemciler üretilmekte, diğer yandan bu alanda nitelikli eleman ihtiyacı artmaktadır. Bu çalışmada, teknik eğitimde mikroişlemci eğitimi için Flash animasyon programı kullanılarak hazırlanmış görsel animasyon sunumları tanıtılmaktadır. Komut işletim birimi olan mikroişlemcilerde, dolaylı bellek erişimleri gibi karmaşık komutların yanında, yığın bellek kullanımı ve kesme işleyişi gibi karmaşık iç fonksiyonlar da yer almaktadır. Bu yapıların işleyişinde görünen ana fonksiyon, gerçekte bir dizi alt Mikroişlemci eğitimi elektrik, elektronik, bilgisayar ve kontrol alanlarındaki eğitim programlarında temel olarak yer 444 almaktadır. Mikroişlemci konularının öğreniminde ana zorluk teori ve uygulama arasındaki sıkı ilişkidir [1]. Bu çevrimde, konuların kavranması teorik anlatıma, teorik anlatım da laboratuvar uygulamalarına ihtiyaç duyan bir bütünlük oluşturmaktadır. Öğrencilerin uygulama aşamasındaki verimlilik seviyesi, teorik anlatım aşamasında yeterli bilgi ve kavrama seviyesini kazanmaları ile doğru orantılı olarak gerçekleşmektedir. de kontrol edilebilmektedir. Böylelikle herhangi bir işlem adımı ya da adımları tekrarlı olarak ileri ve geri yönde işletilebilir. Animasyonların bilgisayar ortamında oluşturulmasında, Macromedia Flash programından yararlanılmıştır. Flash vektörel bir grafik tasarım dili ve yazılımıdır. Programın tasarım ara yüzü, hazır nesneler ve hareket sağlayıcı araçlara sahiptir. Animasyonlarda hareket sağlayıcı iki ayrı komut yapısı (motion tween, actionscript) kullanılmıştır. Görsel temsili oluşturacak grafiklerin hazırlanmasında ise programa ait hazır görsel nesneler ve bunlara ilişkin biçimlendirmeler kullanılmıştır. Hazırlanan kontrol butonları animasyon ortamında listeden ana konu seçme veya seçilen konu içerisinden ilgili herhangi bir uygulama seçme imkanı sağlayacak şekilde tasarlanmıştır. Ayrıca seçilen uygulamaya ait animasyonların oynatılması, durdurulması ve tekrarlanması fonksiyonları için kontrol butonları düzenlenmiştir. Mikroişlemci konularında, sıralı alt adımlardan oluşan ve biribirini etkileyen işlemler yer almaktadır. Karmaşık görünen ve ayrıntıları ile kavranması gereken bu içerikler, yüksek dikkat yoğunluğu ile birlikte anlamaya esas olan önceki temel bilgilerin kaybedilmemiş olmasını gerektirir. Mikroişlemci konuları içerisinde, komut işleyişi ve zamanlama, dolaylı bellek erişimi, interrupt işleyişi ve çevre donanım birimleri ile iletişim buna örnek olarak gösterilebilir. Ayrıca birçok işlem senkron sıralı adımlara sahip olmakla birlikte, önceki durum ya da işlemin bir fonksiyonu olarak gelişmektedir. Böylelikle aynı başlık altındaki bir işlem, şartlara bağlı olarak değişen birçok fonksiyonlar ile alternatif kombinasyonların oluşmasına yol açan bir yapı sergiler. Teorik eğitim aşamasında sözü edilen zorlukların azaltılması, etkin anlatım teknikleri ile sağlanabilmektedir. Bu alanda görsel sunum araçları ve görsel animasyonlar var olan algı ve kavrama seviyesini pekiştirici bir rol oynar. OLUŞTURULAN ANİMASYON ÖRNEKLERİ Mikroişlemci konuları içerisinde algılamayı zorlaştıran bölümler için birçok animasyonlar üretilmiştir. Bu bölümde, oluşturulan animasyonlara ilişkin tanımlar doğrultusunda birkaç örnek incelenmektedir. Komut işleyişi KONU İÇERİKLERİ VE ANİMASYON BELİRLEME Herhangi bir komutun mikroişlemci tarafından işletilmesi, eğitimin başlangıç aşamasında önemli bir aşamadır. Çünkü tüm komutlar aynı yöntem ile bellekten okunarak işleme girer. Bir komutun işletilmesi özet olarak şu aşamalar ile gerçekleşir: a) komutun bellekten okunması, b) komutun tanınması/kod çözme, c)komut eklenti bilgilerinin okunması, d) komutun işletilmesi e) sonuçların komut ile tanımlı alanlara yazılması. Sözü edilen aşamalar kendi içerisinde farklı komutlara göre değişen ayrıntıları da içermektedir. Örneğin komut okuma aşaması, bellek adreslemeye ilişkin donanımsal detaylara sahiptir. Şekil 1.’de komut işletimi için oluşturulan animasyona ait bir kesit görülmektedir. Mikroişlemci öğretiminde gerekli temel konular aşağıdaki ana başlıklarla tanımlanabilir: Yazılım modeli, Donanım yapısı, Komut işletimi, Komutlar ve fonksiyonları, Adresleme modları, Bellek organizasyonu, Yığın bellek erişimleri, Interrupt işleyişi, Mikroişlemci çevre birimleri. Başlıklarda yer alan konuların bazı bölümleri ileri başlıklı konularla birlikte anlam kazanır. Örneğin komutların bir bölümü yığın bellek erişimi veya interrupt işleyişine ilişkindir. Dolayısıyla bu temalar öğrenilmeden ilgili komutlara ait ayrıntılar tanımlanamamaktadır. Benzer şekilde çevre birimleri ile ilgili içerikler, donanım yapısı, komutlar ve bellek organizasyonu başlıkları ile yakın ilişki taşımaktadır. Burada tercih edilen sunum yöntemi, ana temaya esas alan bir yaklaşım doğrultusunda belirlenmiştir. Örneğin yığın bellek ile ilgili komutlar, yığın bellek işleyişinin irdelenmesi aşamasında ele alınmaktadır. Bu yaklaşım, hatırlama aşamasında bilgi kopukluklarını önleyen bir çağrışım bütünlüğünü sağlayacaktır. Görsel animasyonların belirlenmesinde, konunun ayrıntı seviyesi, diğer konular ile oluşturduğu girişim ve sıralı alt adımların çokluğu temel kriterler olarak ele alınmıştır. Bu kriterlerleri taşıyan konular, soyut düşünme yeteneği ve dikkat yoğunluğu gerektiren özellikler taşımaktadır. GÖRSEL ANİMASYON TASARIMI Şekil 1. Komut işletimini taklit eden animasyona ait grafik arayüz. Görsel animasyonların oluşturulmasında, konuya ait tüm ayrıntıların ve işlem adımlarının simülasyonları üretilmiştir. Bellek içeriklerinin, değişen adres değerlerinin, etkilenen durum değişkenlerinin ve mikroişlemci yazmaçlarının durumlarını yansıtan penceler kullanılarak, aktif bir izleme tabanı oluşturulmuştur. Ayrıca animasyon adımları doğal akıcılığı ile izlenebileceği gibi, kontrol butonları aracılığı ile Yığın bellek erişimi Ana belleğin belirli bir bölümü mikroişlemciler tarafından sıralı erişim kuralına göre kullanılır. Yığın bellek adı verilen bölgenin tanımlanması, bu amaçla düzenlenen adresleme 445 yazmacı ile belirlenir. Tüm programlama ortamlarında olduğu gibi, mikroişlemci programlarında da alt program işletimine ihtiyaç duyulur. Alt program, ana program işletimi sırasında komut yolu ile çağrılarak işletilen diğer bir programdır. Bu sırada ana program bir süre bekletilir. Alt programlar geri dönüş işlemlerini başlatan bir komut ile sonlandırılırlar. Alt program işletildikten sonra mikroişlemci ana programa geri döner. Ana programa geri dönüş işlemi, ayrılma noktası adreslerinin kaydedilmesini gerektirmektedir. Bu yapıda, alt program içerisinde tekrar başka bir alt program çağrılarak işletilebilir. Bir alt programın ya da iç içe alt programların işletiminde ve geri dönüşlerde, kaybolmaması gereken adres bilgileri yığın belleğe sıralı bir biçimde yazılarak korunur. Şekil 2.’de yığın bellek kullanımına ilişkin animasyon ortamı görülmektedir. Şekil 3. Interrupt işleyişine ilişkin animasyon görseli. Uygulamada eş zamanlı herbir görev için ayrı bir interrupt sinyali kullanılır. Interrupt sinyali ile yapılmak istenen görevleri tanımlayan öge ise yine bu amaçla düzenlenmiş olan alt programlardır. Alt program işletimi, daima ana programa geri dönüş için ayrılma noktası adreslerinin korunmasını gerektirir. Interrupt yolu ile alt program erişiminde ayrıca ana programda kalınan son noktaya ait durum (status) bilgisinin de saklanması gerekir. Mikroişlemcide yer alan bayrak yazmacında tutulan bu bilgi, alt programda işletilen komutların bir sonucu olarak değişmektedir. Alt programdan ana programa geri dönüş sonrasında, ana programın hatasız olarak sürdürülmesi bu verinin korunmasına bağlıdır. Mikroişlemci bir interrupt sinyali algıladığında, öncelikle kaybedilmemesi gereken adres ve durum bilgilerini yığın belleğe kaydeder. Daha sonra interrupt vektörü denilen özel adreslere ulaşarak alt programa ait bellek erişim adresini öğrenir. Alt programa erişim sağlanarak buradaki komutların işletilmesi, sonlandırma komutuna kadar devam eder. Sonlandırma komutu ile ana programa dönüş süreci başlar ve geri dönüşe kılavuzluk edecek olan bilgiler yığın bellekten sırası ile geri alınarak interrupt işlemi tamamlanır. Bu şekilde mikroişlemci ana programa geri dönmüş olarak ayrıldığı noktadan itibaren komut işletimine devam eder. Interrupt yapısına ilişkin sözü edilen bir dizi işlem mikroişlemci tarafından otomatik olarak gerçekleştirilen temel bir fonksiyondur. Şekil 2. Yığın Bellek erişimi için animasyon ortamı. Bu sistem işleyişi sırasında yığın belleği adresleyen yazmaç, ileri ve geri yönde sayan otomatik bir sayaç davranışı göstererek kaydedilen verinin üstüne yeni gelen bir adres verisinin yazılmasını ya da hatalı adres verilerinin okunmasını önler. Interrupt işleyişi Interrupt bir kesme fonksiyonudur. Interrupt olayında temel yaklaşım, mikroişlemcinin donanım kaynaklı bir sinyal ile uyarılarak ana program işleyişinin kesintiye uğratılması ve bu şekilde daha acil/önemli bir işlemin yerine getirilmesidir. Bu fonksiyon, oluşma anına göre eş zamanlı olarak yapılması istenen görevlerin yerine getirilmesinie imkan sağlar. Böylelikle, oluşumu gözlenen bir olayın algılanması ya da mikroişlemci çevre birimlerinin servis ihtiyaçları, zaman alıcı sürekli denetim yerine bir sinyal ile uyarma esasına göre otomatik olarak gerçekleştirilir. Şekil 3. ‘de interrupt işleyişinin tüm adımlarını göstermek amacıyla hazırlanan animasyona ait grafik ortamı görülmektedir. SONUÇ Bu çalışmada, mikroişlemci eğitimi için hazırlanmış olan animasyonlar örnekleri tanıltılarak, öğrenmede hareketli görsellerin algılama yeteneğini arttırması konu edilmektedir. Mikroişlemci konularında, ardışıl alt adımlardan oluşan ve biribirini etkileyen işlemler yer almaktadır. Herhangi bir ana işlem fonksiyonu ya da buna ait alt adımların işleyişi ve ürettikleri sonuç, birbiri ile ve/veya önceki fonksiyonun oluşturduğu duruma göre gerçekleşmektedir. Ayrıca fonksiyon ve komutlardan oluşturulan bir program parçası aynı oranda karmaşık görünen bir yapı sergilemektedir. Bu tür anlatım özelliklerini taşıyan konularda, görsel materyaller ve özellikle animasyon tabanlı sunumlar öğrenmede etkin faydalar sağlamaktadır. Oluşturulan animasyon ortamı, sözü edilen sıralı işlemler ve ayrıntıların tekrarlı gözlemlenmesine imkan verecek şekilde tasarlanmıştır. Bu amaçla ileri ve geri adımlara erişimi sağlayan kontrol butonları üretilmiştir. Olayların tekrarlı olarak gözlenmesi algılama yeteneğini ve sonrasındaki kalıcılığı pekiştirici bir rol oynar. Simülasyon programları da benzer bir ihtiyacı karşılamakla birlikte, laboratuvar 446 uygulamalarına için tasarlanmış olması nedeniyle standart sunum özellikleri gösterir. Anlatımda eğitimcinin tercih edeceği görsel vurgular oluşturulamaz ve anlatıma yönelik ana mesajlar eklenemez. REFERANSLAR E. P. Ferlin, V. P. Júnior (2004). Microprocessors: From Theory to Practice, a Didactic Experience. 34th ASEE/IEEE Frontiers in Education Conference, (S1D4-S1D7). Mikroişlemci konularının oluşturulan animasyonları ile anlatımına ilişkin çalışmalarda, öğrencilerin üzerinde algılama kolaylığının sağlandığı gözlemlenmektedir. Öğrenciler üzerinde, anlatım sonrası edindikleri bilgi seviyesinin değerlendirilmesi ve sözlü anlatım sonuçları ile kıyaslanması bu gözlemi doğrulamaktadır. Ancak burada verimlilik oranının net bir şekilde belirlenmesinde temel zorluklar ortaya çıkmaktadır. Başlıca zorluklar, konuların farklılığı, anlatım tarzı, hedef öğrenci kitlesindeki değişimler, öğrencileri etkileyen dış faktörler, ders için gerekli temel alt yapı seviyesindeki farklılıklar şeklinde tanımlanabilir. Barry B. Brey. (2005). The Intel Microprocessors, (hardcover), Prentice Hall. Jae Wook Jeon. (2000). A Microprocessor Course: Designing and Implementing Personal Microcomputers, IEEE Transaction on education, Vol. 43, No. 4. Manuel A. Perez. (1999). Integrated Development Environment for a Microcontroller Systems Laboratory, 29th ASEE/IEEE Frontiers in Education Conference, 12c6 (11-16). M. R. Smith and M. Cheng. (1996).Use of “virtual” (simulated) hardware devices in microprocessor laboratories and tutorials. IEEE FIE ‘96 Proceedings (1181-1185). Haluk Gümüşkaya. (1999).Mikroişlemciler ve Bilgisayarlar, Alfa Yayınları, Istanbul. 447