YENİ OYUNLAR, YENİ UFUKLAR
- Eylül ayında piyasaya sürülecek yeni oyunlardan “The Spy Who Loved Me”, daha önce başka 007 oyunları da üreten DOMARK tarafından hazırlanmış. 70'li yılların filminin oyununda Lotus Esprit Turbo'nuzla casus kovalayacaksınız. Oyun hem Commodore 64, hem de AMIGA için yazılmış. Life and Death 2: Brain adlı oyunda beyin ameliyatlarına gireceksiniz. Beyin cerrahlığı eğlenceli olabilir ama iş, sonunda cellatlığa dönmesin.
Alın size bir de tank simülasyonu. Team Tankee. AMIGA'nızla M1 tanklarını kullanın. Oyunun shoot'em-up versiyonu yaklaşık altı ay sonra çıkacak.
Maymun Adası'nın Sırrı adlı oyunda kahramanımız karmaşık, sürükleyici ve ilginç bir macerada bu adanın sırrını araştıracak. Lucasfilm Games tarafından hazırlanan ve Zak Mac Kraken gibi grafik macera tipinde olan oyun 1990'ın son çeyreğinde piyasaya sürülecek.
Sinirsel Ağ Sistemleri 2
Çev.: Sinan VURAL
Geçen ay sinirsel ağ sistemlerine bir giriş yapmış ve bunların bir örneği olan linear associator (LA) - çizgisel ortaklık sistemini incelemiştik. LA farklı giriş çıkış modellerini biliyordu ancak onun da sınırları vardı. Sadece bazı giriş modellerini öğrenebiliyordu. LA'nın öğrenebileceği modellerin sayısı, ağ sisteminin ilk katmanındaki işlem elemanlarının (PE) sayısına eşittir. Örneğin ilk katmanında 10 tane PE içeren bir ağ sistemini ele alalım. Bu sistemin birinci katmanına 1024 (2^10) tane değişik giriş modeli verebilirsiniz, ancak sistem bunlardan ancak 10 tanesini tam olarak öğrenebilecektir. Eğer daha fazla model öğrenmesi için sistemi zorlarsanız, daha önce öğrenilen modeller unutulacaktır. Bu sınırlama back propagation (BP) - geri yayılma sinirsel ağını pratik uygulamalar için daha iyi bir sistem haline getirir. Zaten BP bugün dünyada en yaygın olarak kullanılan sinirsel ağ sistemidir. Bu konunun daha iyi anlaşılması için program döküm ekinde, BASIC'ten de kullanılabilen makine dili bir program verilmiştir. BP adlı program geri yayılma algoritmasına dayanır. Aynı zamanda programın işlevini göstermek için iki de BASIC program verilmiştir. Çizgisel ortaklık sisteminin sınırlamalarını yenebilmek için BP, ortaya üçüncü bir katman daha ekler (şekil-1). Orta katman, sistemin kendi içinde, problemin bir örneğinin yaratılmasını sağlar. Bu örnek problem tamamen sistemin içinde gelişir. Şekil-1'de görüldüğü gibi, ikinci katman girişlerini birinci katmandan alır ve çıkışlarını da üçüncü katmana verir. Bu, ikinci katmanın dış ortamla direkt olarak bağlantısı olmadığını gösterir ve bu yüzden de bu dahili örneği oluşturacak bir öğrenme algoritmasına ihtiyaç vardır. Dahili olarak oluşturulan örnek girişleri bir çok değişik biçimde kodlar. Bu özellikler daha sonra verilecek olan exclusive-OR (XOR) adlı örnek programda ele alınacaktır. XOR işlemi ise mantıksal işlemlerden olup, ancak ve ancak olarak Türkçe'ye çevrilebilir. Bundan sonra, bu işlemden XOR olarak bahsedeceğiz. Örnek programlar üç katmanlı BP ağı kullanarak yapılmışlardır, böyle isimlendirilmesinin nedeni ise sistemde üç katman PE bulunmasıdır. BP işlem ağı en az üç katman PE gerektirir, ancak karmaşık problemlerin çözümü için çok daha fazla sayıda katman gerekebilir. LA, geçen ayki sayıda sinirsel ağ sistemlerinin önemli bazı özelliklerini anlatmak amacıyla açıklanmıştı. BP sinirsel ağ sistemleri de LA'ya benzer ancak bazı farklar vardır: katman sayısı, çıkış fonksiyonu ve öğretici algoritma. Katmanların sayısı, matris düzenini çok az bir düzeyde etkiler. LA'da, birinci ve ikinci katmanlardaki PE'ler arasındaki bağlantıları kapsayan bir tane matris vardı. BP'de ise üç katman PE ve iki katman bağlantı mevcut. Bu iki katman bağlantılarla uğraşabilmek için bizim de iki tane bağlantı matrisine ihtiyacımız var, 1. ve 2. katman PE'ler arasındaki bağlantılar için ve 2. ve 3. katman PE'ler arasındaki bağlantılar için bağlantı matrisi. Birinci katman dış ortamdan girdilerini alır, üçüncü katman ise çıktılarını dış ortama verir. BP sistemine, üstüste oturtulmuş iki LA sistemi gibi bakabilirsiniz, ancak BP'de her katman için ayrı bir çıkış fonksiyonu vardır. LA'da her PE'nin çıkışı, o PE'nin etkinlik düzeyiydi, bu da bir önceki katmandaki girdileri alıp, bunları bağlantı matrisinin yardımıyla çarptıktan sonra toplayarak bulunuyordu. BP'de de etkinleşme düzeyi benzer şekilde hesaplanır, ama burada etkinleşme düzeyi çıkış değeri olarak aynen kullanılmaz ancak o PE'nin gerçek çıkışını yaratacak olan çıkış fonksiyonunun bir parametresi olarak kullanılır. Pratik yapmanın, sonucu mükemmelleştirdiğini bilirsiniz. Bu, BP sistemi için de geçerlidir. Bu sistemlerde öğrenmenin hatasız olması için giriş modellerini ve öğretici maddeleri bir çok defa girmelisiniz. Giriş ve öğretici modelleri ne kadar çok sayıda girerseniz sistem de bunları eşlemeyi o kadar iyi öğrenir. Toplam hata miktarı size programın öğrenmede katettiği mesafeleri gösterir. Siz bilgiyi vermeye devam ettikçe sistemin yaptığı toplam hata sayısı giderek azalır ve sonunda minimum bir değere ulaşır. Eğer toplam hatanın deneme sayısına karşı grafiğini çizecek olursanız, hatanın yüksek bir düzeyden başlayıp yavaş yavaş azaldığını ve sonuçta minimuma ulaştığını görürsünüz (şekil-2).
Hata Çıkış O O 3 Katman 2 katman ağ De Katman
Şekil 1. Geri besleme sisteminin şeması.
Toplam Hata
Deneme Sayısı
Şekil 2. Hata yüksekten başlar, giderek azalır ve sonuçta bir eşiği geçer.
Bunu canlandırabilmenizin en iyi yöntemi tepeden aşağı yuvarlanan top örneğini kullanmaktır. Tepeler genelde düzgün olarak alçalır ama aralarda vadiler de vardır, işte top bu vadilere geldikçe yavaşlar ama vadiyi geçecek kadar hızı vardır. Böylece aşağıya kadar devam eder ve dibe ulaşır (şekil-1).
BİLGİSAYAR BAŞINA
BP.ML adlı program kendi sistemlerinizi yaratmanıza yardımcı olacak bir geri yayılma simülatörüdür. Program, ağ sisteminin tüm işlerini yapar; sizin tek yapmanız gereken sistemin karakteristiğini belirlemek, öğrenmesi gereken modelleri girmek ve sistemi kaydetmektir. Sistemin bu modelleri tekrar hatırlamasını istediğinizde tek yapmanız gereken sistemi yüklemek ve giriş modellerini girmektir; bu sefer sistem size doğru çıkış modelleri ile cevap verir. Başlamanız için geri yayılma prensibine dayanan iki tane örnek BASIC program verilmiştir. BP, bu programlardaki problemleri çözebilir ama LA sistemi çözemez.
Hata .5
Deneme Sayısı
Şekil 3. Sinirsel Ağ Sistemi'ndeki hatalar tepeden yuvarlanan top hareketine uyar.
BP adlı program tamamen makine diliyle yazılmıştır, bu yüzden hata yapmamak için MDE'yi kullanın. Aynı şekilde BASIC programlar, XOR ve ENCODE için de BDE'yi kullanın. Programları yazdıktan sonra, çalıştırmadan önce birer kopyalarını kaydedin. Programların nasıl çalıştığını görmek için XOR adlı programı çalıştırın. Program BP.ML adlı programı diskten yükleyecektir, bu yüzden makine dilindeki programı bu adla kaydetmeniz gerekir. Programı çalıştırınca ağ sistemi kurulur ve sistem modelleri öğrenmeye koyulur. Öğrendikten sonra ise, program bildiği her model girişi sisteme sunar ve uygun çıktıyı yazar.
ARAÇ GEREÇLER
BP programının, basit geri yayılma işlemini yürütebilmek ve çalıştırabilmek için altı tane komutu vardır. Bunu takip eden paragraflarda bu komutların ne işe yaradıkları ve nasıl kullanılacakları açıklanmıştır. Komutları en başta anlamazsanız üzülmeyin, XOR örneğini inceledikçe anlayacaksınız. — SYS 49152, bpe, ipe, üpe, ms, öh, mom, hata: BP ağ sistemini çalıştır. Bu komutla basit bir geri yayılma ağı kurulur. Komut 8 tane BA-SIC değişken ve 11 tane de dizi oluşturur (tablo-1). Bu değişkenler ve diziler sisteminin verdiği çıkışları saklayacaktır. Bunlar BASIC değişkenleri olduğu için NEW veya CLR komutu kullanıldığında, başka bir program yüklendiğinde veya hafızadaki program değiştirildiğinde silinirler; bu yüzden dikkatli olmalısınız. Komuttaki *bpe', “ipe” ve “üpe', birinci, ikinci ve üçüncü katmanlarda ka-
Tablo-1. BP Tarafından Yaratılan Değişken ve Diziler Değişken Anlamı pl 1. katmandaki PE sayısı p2 2. katmandaki PE sayısı p3 3. katmandaki PE sayısı np sistemin öğreneceği model sayısı rate öğrenme hızı momentum — öğrenmenin momentumu epsilon izin verilen en yüksek hata oranı te öğrenmeden sonraki toplam hata Dizi (Boyut) Anlamı 02 (p2) 2. katmanın çıktısı 03 (p3) 3. katmanın çıktısı e2 (p2) 2. katmandaki hata €3 (p2) 3. katmandaki hata wi (p2, pl) 1. ve 2. katmanlar arasındaki bağlantıların ağırlıkları w2 (p3, p2) 2. ve 3. katmanlar arasındaki bağlantıların ağırlıkları mi (p2, pl) 1. ve 2. katmanlar arasındaki bağlantıların momentumu m2 (p3, p2) 2. ve 3. katmanlar arasındaki bağlantıların momentumu t (p2, np) öğretici modeller in (pl, np) — giriş modelleri e (np) her modeldeki hata miktarı çar tane PE olduğunu belirler. Teorik olarak bu sayılar 1'den, hafızanın izin verdiği maksimum sayıya kadar çıkabilir. Ama pratikte, büyük sistemler için öğrenme süresi çok fazla olur. Dördüncü eleman olan 'ms', ağ sisteminin öğrenmesi gereken model sayısını belirler. Bu değer ve ikinci katmandaki PE'lerin sayısı birbirine bağlıdır. Eğer ağ sisteminin ikinci katmanında, daha önce bahsettiğimiz dahili örneği oluşturacak sayıda PE yoksa, program kısır döngüye girer. *Lr”' elemanı, sistemin öğrenme hızını, *mom' elemanı da sistemin, bir modeli öğrenirken sahip olduğu momentumu belirler. Bu iki eleman daha sonra açıklanacaktır. Son elaman olan “hata' ise, izin verilecek maksimum hata miktarını belirler. Program bu değeri kullanarak modelleri ne zaman öğrendiğine karar verir.
— SYS 49155, mod: modeli tanı. Bu komutu, sistem girdiğiniz modelleri öğrendikten sonra, sistemin hatırlamasını istediğiniz bir modeli girmek için kullanın. “Mod' elemanı, bir dizi O ve 1'lerden oluşur. Bu O ve sayısı, ilk katmandaki PE'lerin sayısına eşit olmalıdır. — SYS 49164, hg: Modelleri öğrenmeye başlar. Bu komutu BP'nin model öğrenmeye başlaması için kullanın. Bu komutu kullanmadan önce, ağ sistemini SYS 49152 komutuyla çalıştırmanız ve SYS 49167 komutuyla eğitim çiftlerini vermeniz gerekir. Hatta gösterme elemanı “hg', her öğrenme bittikten sonra toplam hatanın gösterilip gösterilmeyeceğini ayarlar. Eğer değeri | verilirse hatalar gösterilir, O verilirse hatalar gösterilmez. — SYS 49167, mn, gm, em: Eğitim çiftlerini ayarla. Ağ sistemini çalıştırdıktan sonra bu komutu sistemin öğreneceği modelleri ayarlamak için kullanın. Bu modeller, çiftle- Ti” denen çiftler halinde verilir. Bu çiftler giriş ve eğitim modellerini içerirler. Komuttaki *mn' model numa- Tasını temsil eder. Modelleri istediğiniz sıra ile girebilirsiniz ancak sayıları BP'nin çalıştırma komutundaki model sayısını (ms) geçmemelidir.
Sisteme verilecek olan eğitim çiftlerinin tümüne 'eğitim seti' denir. “Gm' giriş modelini temsil eder ve sistemin öğreneceği giriş tipidir. Eğitim modeli *em', giriş modellerine karşılık gelecek olan çıkış modelllerini hesaplamada kullanılacaktır. İki model de tırnak içine alınmış O ve 1'lerden oluşmalıdır. Giriş modelindeki toplam karakter sayısı, sistemin birinci katmanındaki PE'lerin sayısına eşit olmalıdır. Öğretici modeldeki toplam karakter sayısı ise, sistemin ü katmanındaki PE'lerin sayısına eşit olmalıdır. — SYS 49172, “dosya ismi”': Sistemi kaydet. Bu komutla BP'nin yarattığı değişkenler ve diziler kaydedilir. Sistemi kaydetmek için komutu, tırnak içine de dosyanın ismini yazın. — SYS 49173, “dosya ismi”': Sistemi yükle. Bu komutla daha önce kaydedilen sistemlerin tekrar çalıştırılmadan geri çağrılması sağlanır.
XOR
XOR (mantıksal komut olarak ve ancak” diye Türkçe'ye çevrilebilir) fonksiyonu, geri yayılma tü- Tü ağ sistemlerinin çözmeyi öğrenebileceği klasik bir tür problemdir. XOR programını BP'nin fonksiyonunu anlatabilmek için size kendi sistemlerinizi yapmada yardımcı olabilmek için biraz inceleyeceğiz.
Tablo-2. XOR Fonksiyonu
0 XOR 0-0 1 XOR 0-1 0 XOR 1-1 1 XOR 1-0
XOR fonksiyonu iki giriş değeri alır ve bunları kullanarak bir çıkış değeri verir (tablo-2). En alt seviyede, fonksiyon iki giriş bitinden bir çıkış biti üretir. Sistem XOR'u, birinci katmanında iki ve üçüncü katmanında bir tane PE yaratarak taklit eder (şekil-4). Orta katmandaki PE sayısı sistemin kaç tane model öğrenmesini istediğimize bağlıdır. Bu örnekte bu sayı ikidir, çünkü iki, dört model öğrenmek için gereken en düşük sayıdır.
3. Katman
2. Katman
1. Katman
Şekil 4.XD2 problemini çözen sistemin ana şeması.
50. satırda SYS 49152 komutuyla sistemi çalıştırıyoruz. Bu komutu takip eden ilk üç sayı birinci, ikinci ve üçüncü katmanlarda kaçar tane PE olacağını belirler (söz konusu durumda bu sayılar 2, 2 ve 1'dir). Dördüncü değer sisteme dört tane model öğretmek istediğimizi gösterir. Sistem, modelleri, öğrenme denemeleri yaparak öğrenir. Her denemede, dahili örnek üzerinde yapılan işlemlerle doğru sonuca biraz daha yaklaşılır. Her deneme sonunda sistemin bulduğu sonuç ve gerçek sonuç
13 arasındaki fark yazılır. SYS komutunu takip eden beşince sayı öğrenme hızını belirler, bu her denemede hatadan azalacak olan miktardır. Altıncı değer yani sistemin momentumu da sistemin bir modeli ne kadar hızlı öğreneceğini ayarlar. Pratikte öğrenme hızı maksimum tutulurken, momentum da en aza indirilmeli; Eğer öğrenme hızı çok büyükse, sistem her modeli çok hızlı öğrenir ancak, daha önce öğrenmiş olduğu modelleri unutur. Öte yandan momentum çok yüksek bir değer alırsa, sistem her modeli çok hızlı öğrenir ama başka bir model öğrenmeye kalktığında hemen unutur. Amacımız sisteme tek bir model değil, bir grup model öğretmektir. en iyi sonucu almak için de öğrenme hızı en yüksek, momentum da en düşük değerini almalıdır. SYS komutundan sonraki son değer ise, sistemin yapmasına izin verilen toplam hata miktarıdır. Toplam hata, her öğrenme denemesinden sonra eğitim çiftlerindeki hataların toplamıdır. Toplam hata, izin verilen sınırın altına düşünce, sistem modelleri öğrendiğine karar verir. Eğer bu değer 0'a çok yakın bir değer verilirse BP, sonsuza kadar öğrenmeye devam eder, çünkü yaptığı hata hiç bir zaman sıfır olmayacaktır.
MODELLERİ ÖĞRENME
Ağ sistemi kurulduktan sonra, program eğitim çiftlerini hazırlar. 60- 90. satırlarda program giriş ve eğitim modellerini BP'ye sunar.
Artık BP çalışmaya hazırdır. 140. satırdaki SYS 49164 komutu modelleri öğrenmeye başlaması için BP'yi uyarır. Komuttan sonraki | sayısı, her öğrenme denemesinden sonra toplam hatanın yazılacağını belirtir. Tüm modelleri öğrenmek oldukça uzun bir zaman alabilir. Program sürdürmekte olduğunu öğrenme denemesini bitirene kadar RUN/STOP tuşuna basarak programdan çıkabilir. Sistem bir grup modeli öğrendikten sonra, 170-200. satırlarda çıkışı yazılır. 170. satır sisteme SYS 49155, *00” komutuyla ilk giriş modelini tanıtır. Model tırnak içinde olmalıdır ve tırnak içindeki rakam sayısı birinci katmandaki PE sayısına eşit olmalıdır. SYS komutundan sonra ikinci ve ü ü katmanların çıkış değerleri 02 ve 03 dizilerinde saklanır.
BAŞKA BİR ÖRNEK
Kodlama (encoding) problemi BP'nin çözebileceği başka bir klasik örnektir. Problem basit olarak şudur: Dört değişik giriş modeli, dört tane çıkış modeli ile eşlenecektir. BP'nin bu modelleri doğru olarak öğrenmesi için orta katmanında problemin bir. örneğini oluşturması lazımdır. Dört modelin temsil edilebilmesi için gereken minimum PE sayısı ikidir. EN-CODE adlı program işte bu dört modeli orta katmanında kodlamayı ve eşlemeyi öğrenir. Geri yayılma yöntemi çizgisel ortaklığın çözebildiği her sorunu çözebildiği gibi bir çok yeni tip problemi de çözebilir. BP sinirsel ağ sisteminin en büyük dezavantajı ise öğrenmek için geçen uzun süredir. Bu süre XOR örneği için bir dakika 20 saniyedir. Ne yazık ki öğrenme süresi doğrusal olarak değil ama her katmandaki PE'lerin sayısına bağlı olarak üssel olarak artar. Kodlama problemi için öğrenme süresi 27 dakika 49 saniyedir - neredeyse yarım saat. Gelecek ayki yazımızda da daha biyolojik bir grup olan “rekabet ederek öğrenen sinirsel ağ sistemleri'nden bahsedeceğiz.
Motorola 68332:
32-Bit Microcontroller'larda gelecek
şimdiden başlamış bulunuyor: Motorola'nın yeni 68332 entegre devresi türleri arasında şu anda en hızlısı. Bu Chip soluk kesici hızıyla bilgisayar dünyasında gelecek için yepyeni ufuklar açıyor.
Motorola firmasının üretmiş olduğu Microcontroller'lar genellikle çok yönlü ve karmaşık devrelerden oluşmaktadır: örneğin sadece birkaç milimetrekare silisyum üzerinde eksiksiz bir 32-Bit bilgisayar yer almaktadır. Microcontroller'lar bildiğimiz mikroişlemcilerden tamamen farklı olarak kendi içlerinde bir bilgisayar sistemi bulundururlar. Aslında bu yeni Super-Chip ile çok güçlü bir kişisel bilgisayar yapılabilirdi, fakat bu durumda 68332'ye gerçekten yazık olurdu. Onun gerçek kullanım alanı endüstriyel robotların yönlendirilmesi gibi gerçek zamanda gerçekleşmesi gereken işlemlerdir. 68332, bu yüksek hızlı işlem kapasitesi nedeniyle gelecekte uydu aracılığıyla gerçekleşen iletişimde bile kullanılmaya adaydır. Bu alandaki söylentilere göre uydu alıcı-verici cihazı üreten hemen hemen tüm firmalar Motorola'ya sipariş vermişler. Şu ana kadar Intel'den vazgeçmeyen Siemens bile Motorola'nın 32-Bit Microcontroller'ını kullanma aşamasındaymış. Bu Chip'e entegre edilmiş modüllere şöyle bir bakıldığında şu ana dek hiç kullanılmamış yepyeni bir teknik göze çarpmaktadır: Controller'ın merkezinde 68000 serisinden bir mikroişlemci yer almakta. Bu işlemcinin özellikleri 68020'ye çok yakındır. Bildiğiniz gibi 68020 şu anda birçok 16-
Workstation'da kullanılmaktadır ve hiç de küçümsenemeyecek bir sürate sahiptir. Mikroprosesörün hemen yanında ise yine bağımsız bir bilgisayar sistemi olarak çalışabilecek özelliklere sahip bir zaman prosesörü yer almaktadır. Bu zaman prosesörü dış dünya ile bağlantı sırasında mikroişlemcinin yükünü hafifletmektedir. Bu nedenle entegre devre üzerinde işlem belleği olarak tasarlanmış bir 2 Kbyte'lık RAM bulunmaktadır ve ihtiyaca göre bu RAM bir pil ile sürekli olarak beslenebilir. Chip üzerindeki System Integration Module olarak adlandırılan birim programlanabilir Chip-Select sinyali ile periyodik Interrupt kumanda sinyalini üretmekte ve sistemin herhangi bir nedenden dolayı kilitlenmesini önleyecek düzenlemeleri yapmaktadır. 68332 entegre devresi birçok Bus sistemini kapsamaktadır. Bunlar 24-Bit adres Bus'ı, 16-Bit adres Bus'ı, on iki adet programlanabilir Chip-Select hattı ve 7 Interrupt düzleminden oluşan Interrupt-Bus'dır. Ayrıca DMA-Controller gibi harici cihazların doğrudan 68332'nin Bus sistemine bağlanabilmesi için özel kumanda hatları mevcuttur. Aslında 68332 Controller'ın üzerindeki Bus sisteminin 68020 mikroişlemcininki ile büyük benzerliği vardır. Tüm bunların yanında 68332
Çev.: Anıl
68332 Chip'inin büyütülmüş resminden devrenin karmaşık iç yapısı tanınabilmektedir. Silisyum tabaka üzerinde 32-Bit Mikroişlemci (CPU32), zaman prosesörü (TPU), 2 Kbyte çalışma belleği, Serial Interface (SPI, SCI) ve diğer lojik devreler yer almaktadır.
Controller'ı Motorola 68000 mikroişlemcisinin tüm komutlarını kullanmaktadır. Bunlara ilave olarak 32-Bit sayılar ile çarpma ve 64-Bit sayılarla bölme gibi işlemlerde yer almaktadır. Ayrıca atlama komutlarında ulaşılabilecek uzaklık 16-Bit'lik değerlerden 32-Bit'lik değerlere yükseltilmiştir. Yani geliştirilen “TABLE” emri 68332'nin komut hazinesinin kolayca arttırılmasına olanak sağlamaktadır. Diğer bir deyiş ile bu emir kullanılarak yepyeni fonksiyonlara sahip bir komut zinciri oluşturulabilir. Örneğin karmaşık matematiksel işlemler bu sayede inanılmaz bir hızla gerçekleştirilmektedir. TABLE komutu çağrılırken kullanıcıdan iki veri istenmektedir. Bunlar komut tablosunda kullanılacak olan fonksiyonun hafızada başladığı adres ve sonucun kaydedileceği veri registeridir. Chip'in sistem birimi toplam beş
Gül
TİME
PROCESSOR STANDBY UNIT Bk
INTERMODULE BUS et
FACE
CPua2
SYSTEM
scı
Statü registeri de alışılmadık biçimde birçok Flag kapsamaktadır. Bu register System ve User Byte olarak ikiye ayrılır.
31 0 ya DATA, 10's 1— 15 m In A0 E 5 ADDRESS ka — —las vr STACK di I COUNTER.
Yandaki program modeli Microcontroller'ın çok sayıda adres ve data registerini göstermektedir. Ayrıca Vector-Base registeri de bulunmaktadır.
Yanda 68332'nin bellek haritası yer almaktadır. Intel'in aksine Motorola linear bellek kullanmaktadır.
bloktan oluşmaktadır: Takt Synthesizer, harici Bus-Interface, programlanabilir Chip-Select hataları, kilitlenmelere karşı korunma ünitesi ve sistem test modülü. Bunlardan ilki olan Takt Synthesizer prensip olarak klavyeden programlanabilen bir ünite olan PLL (Phase Locked Loop) dan oluşmaktadır. Bir saat kristali tarafından sabitleştirilmiş bir ritim (takt) üretici 32768 Hz'lik bir sinyal gönderilmektedir ve bu sinyal daha sonra PLL tarafından entegrenin gerçek takt frekansı olan 16,77 MHz'e dönüştürülmektedir. Kısaca bu yöntemle bir taşla iki kuş vurulmuş olur: Bir yandan sistemin takt frekansı 100 Hz'lik adımlar şeklinde yazılım ile kontrol edilebilirken diğer yandan da devrede kullanılan kristalin normal kol saatlerinde de kullanıldığı için dayanıklı ve fiyatının çok düşük olmasıdır. 68332 üzerindeki 12 Chip-Select hattı sadece belli hafıza birimlerinin düzenlenmesi görevinde olmayıp adres ve veri yazma-okuma işlemlerini de yönlendirmektedirler. Bir Select hattı ise özellikle Microcontroller'ın Boot edilmesinde kullanılmaktadır. Kısaca TPU (Time Processor Unit) olarak adlandırılan zaman prosesörüne gerçek zamanda gerçekleşmesi gereken işlemlerde önemli görevler düşmektedir. İlk planda 68332-Chip'i üzerindeki mikroişlemci ile dış dünya arasındaki veri aktarımı yüksek hızda gerçekleşmesi zaman prosesörü tarafından sağlanmaktadır. 68332 Microcontroller'ı 16 adet veri giriş-çıkış hattına sahiptir ve bunların hepsi birer Timer kanalı ile donatılmıştır. Bu timer kanalları da ayrıca kendi içlerinde 16-Bit'lik üç register ihtiva etmektedirler. Biraz karmaşık görünen bu yöntemin avantajı ise her veri giriş-çıkış kanalının controller tarafından 16-Bit Timer ile senkronize edilebilmesidir. 16,67 MHz'lik takt frekansı ile zaman prosesörü 68332 Chip'i üzerinde 240 nanosaniyelik bir çözünürlük oluşturmaktadır. Öyle ki bu değer ne kadar karmaşık olursa olsun tüm gerçek zaman işlemlerini gerçekleştirebilecek niteliktedir. Tüm bunların yanında zaman prosesörü 16 Interrupt kanalına ayrı ayrı görevler verilmesini sağlayan “Real Time Task Scheduler” adında bir birime sahiptir. Karmaşık Timer kanallarının amacı zaman alıcı işlemlerin aynı anda
| 68332
68332 68332 68332 68HC000 | 68HC000 68HC000 68HC000 | 68HC11 68HC11, 68HC | 1 Engine Control Lag Filter 2D Table 3D Table Benchmark paralel olarak yürütülmesidir. Motorola firması zaman prosesörünün ROM'unu öyle programlamıştır ki aşağıda sayılan proseslerin tümü aynı anda gerçekleşebilir: Stepper motoru kumandası, açıya bağlı makine kumandaları, periyot düzenlemesi, sayaç kumandası sayılabilecek örneklerden sadece birkaçıdır. Özellikle stepper motorlarının kumandası için zaman prosesörünün ROM'unda özel olarak programlanmış bir fonksiyon mevcuttur ve bu şekilde kullanıcı oldukça kolay bir şekilde bağlanan motorların hızlandırılması veya yavaşlatılmasını sağlayabilir. Bu özellik örneğin seri üretimlerde kullanılan robotların kumanda edilmesinde büyük kolaylık ve sürat sağlamaktadır. İstatistiklere göre son on yıl içinde Motorola hemen hemen 500 milyon 8-Bit Microcontroller üretmiş. Şimdi 90'lı yıllarda 32-Bit Microcontroller'lar kendilerine yeni kullanım sahaları aramaktalar ve birçok alanda şimdiden 8-Bit Controller'ların yerini almış durumdalar.
Benchmark'lar 68332 ile 8-bit Controller'lar arasındaki hız farkını gözler önüne sermektedir.