Grafik bilgilerinin özümlenmesi
HANSJOACHİM HİNKELMANN Çeviren: Mehmet Budak tıkış bir bilgidir. Bu durumu, pratik deneylerimizden, bir resmin tüm görünür detaylarını, ışık derecelerini ve renk nüanslarını betimlemek yönündeki girişimlerimizden biliyoruz. Günümüzdeki otomatik uygulamaların çoğunda herhangi bir resim hakkındaki bütün bu bilgiler 512 x 512 noktayla tasvir ediliyor. Ancak CSM 950 gibi yüksek performans sistemleri, şimdiden 2048 x 2048 noktaya geçmiş bulunuyor. Ama daha düşük bir çözümleme ve 256 haneli bir dijital raster ile bile bir resmin bilgi içeriği 250 KByte'ı aşmaktadır.
RESİM BİLGİSİNİN HAZIRLANMASI
Reel dünyada, son derecede farklı duyargalar tarafından ve çoğu kez güç koşullar altında alınan resimler, seyrek olarak idealdir. Bu resimlerin insan tarafından yapılan çözümlemelerinde böylesi mükemmelden sapmalar fazla dramatik sonuçlar yaratmaz. Zira, sözkonusu olanın ne olduğunu bilen uzman, şaşırtıcı derecede kötü resimlerden bile kendisine gereken bilgiyi çıkartabilir. Önüne çözümlenecek bir resim konulan bilgisayarın da kastedilenin ne olduğunu bilmesi gerekir. Bu durumda, bilgisayar, bu bilgi için önemli olan yapılara daha fazla ağırlık verip diğerlerini bastırabilir. Resim-işlem -bu operasyonların genel adı- konusunda basit bir örnek, zarflar üstündeki posta kod sayılarının otomatik deşifrasyonudur. Bunun için en kolay yol, bilgisayarın, reel resmi, arka-planın bütünüyle beyaz ve sayının da optimal siyah olduğu, basitleştirilmiş bir ikili sayı sistemi görüntüsüne çevirmesidir. Eğer bir resimde çok sayıda gri ton da önemliyse, bu sefer psedo-renkli bir tasvir uygun düşebilir. İnsan gözü küçük gri değer farklarını yeterince çözümleyemez. Ancak bu farklar, keyfi bir biçimde gri tonların yerine geçirilmiş renklerle tasvir edilecek olursa, hızlı ve etkileyici bir çözümleme mümkün hale gelir. Bu türden sahte-renkli tasvirler, basit resim-işlem operasyonlarıdır. Tıpkı ölçüm değerlerinin istatiksel ortalamasının alınmasında olduğu gibi resimler de, raslansal sapmaları elemek için, bir ortalama sürecine sokulabilir. Bu amaçla, basitçe, aynı resim birkaç kez kaydedilir ve aynı bellek alanlarında toplama işlemine tabi tutulur. Ortalanmamış resim, örneğin çizgi kalınlıklarının ölçülmesini pratikte imkansız kılacak denli bulanıkken, 256 kayıtla yapılan bir ortalamayla son derece keskin bir yapıt elde edilir. Resim temizleme ya da hazırlama konularında başka operasyonlar da vardır. Bunların çoğunda, geniş karşılaştırmalar ve bir resim noktasının komşu noktalarla aritmetik işlemlendirilmesi gereklidir. Bütün bunların saniyeler, hattâ saniyelerden de kısa, kabul edilebilir süreler içinde gerçekleşebilmesi için, büyük hesaplama kapasitelerine ihtiyaç vardır.
Bilgisayar sonunda astronomi çalışmalarına da el attı. Saturn ve Saturn'ün ayı Rhea'yı gösteren bu çalışma James F. Blinn tarafından
Cal Tech's Jet Propulsion laboratuarında NASA için Voyager uydusunun yörüngesi için hazırlandı. Yüzeyin boyanması ve küresel haritalama tamamen bilgisayarla gerçekleştirildi.
RESİM ÇÖZÜMLEMESİ
Sayısallaştırılmış ve ön-işlemden geçirilmiş bir resim, bir hesaplayıcı tarafından otomatik olarak çözümlenebilir. Bu, iki değişik amaca yönelik olarak düzenlenebilir. Şekil tanınması içinde sadece, önceden belirli bir şeklin var olup olmadığı bilinmek istenir. Nicel resim çözümlemesindeyse, belirli yapılar da aranır ve bunlar daha sonra bir de ölçülür; yani resimden parametreler çıkarılır. Şekil tanıma işinin ele aldığı problemler, iş parçalarının otomatik konumlandırılması gibi nispeten basit görevlerden, kişilerin tanınması gibi henüz çözülmemiş problemlere kadar uzanır. Parmak izlerinin otomatik değerlendirilmesi bunların arasında bir yerdedir. Bu iş, bugün rutin halinde yapılabilenin sınırını oluşturmaktadır.
İKİ PRENSİP Bir bilgisayar, şekilleri, iki yöntemle tanıyabilir. Ya, belirli bir şeklin, dijJital olarak hafızasında tuttuğu şablonunu, bir uyum buluncaya ya da diskalifiye edinceye dek öteler ve döndürür. Ya da şekli ve resmi, temel elemanlarına ayırır ve bunların sayısal dağılımından resimdeki karmaşık yapılar hakkında sonuçlar çıkarır. Bu yöntem matematiksel çaba açısından savurgan olmakla birlikte, karmaşık şekillerde daha büyük bir hızla sonuca götürür. Nicel resim çözümlemelerinde ek bir ölçme ya da sayma adımı da vardır. Sınai kalite kontrolünden verilebilecek bir örnek, elektrikli traş makinelerinin bıçaklarının üretilişidir. Bu bıçaklardaki deliklerin, biçim ve büyüklük açısından belirli bir tolerans dahilinde kalması gerekir. Bunların otomatik olarak kontrol edilmesi, sınai resim çözümlemenin tipik bir görevidir. Burada gösterilen durumda rester-elektron mikroskopu tecrübeyle kritik olduğunu bildiğimiz yerleri dolaşır. Buralarda deliklerin kenarları dedekte edilir ve genişlik ölçümleri yapılır. Genel resim çözümlemesi kavramı altında toplanan uygulamalar ve bunların karmaşık düzeyleri o denli çok çeşitlidir ki, bunların güncel durumu ve gelecek hakkında verilecek bir karar, ele alınan özel görev alanına sıkı sıkıya bağlı olacaktır. Resim çözümleme sistemlerinin bugünkü performansları etkileyicidir. Bu sistemler, özellikle hız ve hassasiyet konularında insandan üstündür. Ancak alınan ölçü, son derece karmaşık bağlantıları “anında” kavrayan insan idrakinin esnekliği olacaksa, o zaman şu ana dek varılan yer oldukça mütevazi görünür. Resim çözümleme sistemleri, temelde, yüksek hassasiyette bir duyarga, hızlı bir hesaplayıcı ve pahalı software'den oluşur. Bu sırada önemli bir şey araştırmayla rutini birbirinden ayırmaktır. İdeal laboratuvar koşulları altında yüksek harcamalarla birçok problem çözülebilir.
“a “a “a “
Bilgisayar grafik düzenlemenin vanısıra tasarımda da işe varamakta. Özellikle Robotics alanındaki çalışmalar bilgisavar aracılığıvla gün geçtikçe
Yeni 32-bit'lik bilgisayarların pazarı fethetmelerinin önüne geçilemiyor. Ğ ©” Mini ve süper bilgisayarlar dünyasının kendini kabul ettirmiş tekniklerinin bu verimli bilgisayar kuşağı ile Ee” bütünleştirildikleri görülüyor.
Kullanımı kolay olan bilgisayarları talep eden kullanıcıların sayısı gitgide artıyor. O nedenle, donanım ve yazılım yapımcılarının kendi ürünlerine hem kullanışlı hem de bir amatöre bile verim yeteneği yüksek bir bilgisayarla ilişki kurma imkânı sağlayan bir biçim vermeye özen göstermelerinde şaşılacak bir şey olmasa gerek. Ne var ki, bugüne değin kulla- | nıcıların taleplerini tam olarak karşılayabilecek bir işlem hızına sahip mini-işlemcilerin üretilmesi mümkün olmamıştır. Ama daha şimdiden yeni 32-bit'lik süper yongaların çarpıcı yetenekleriyle yeni bir bilgisayar çağının yolunu açtıkları rahatlıkla söylenebilir.
İlk mikro-yongaların ortaya çıkmalarından bu yana (yaklaşık 15 yıl önce) birbirinden oldukça farklı üç mikro-işlemci kuşağı ön plana çıkmıştır: 4 bit'lik, 8-bit'lik ve 16-bit'lik mikro-işlemciler. Fakat on yılı aşkın bir süre için 8-bit'lik bilgisayarlar bu alana egemen olmuşlardır. Ta ki bundan yaklaşık beş yıl önce IBM-PC ve uyarlanabilir (compatible) bilgisayarlar 16-bit'e geçişi uygun bir fiyatla mümkün kılıncaya kadar...
Yarı iletken sanayi sektörünün mikro-işlemci yongalarının üretilmesinde büyük ilerlemeler kaydettiği görülmektedir: Birkaç yıl öncesine kadar bir silisyum levha üzerine ancak üç-beş bin transistör yerleştirme imkânı vardı; bugünse bilgisayar tasarımcılarının hizmetine sunulan teknolojiler sayesinde bir tek minik yarı iletken yonga üzerine neredeyse yarım milyon transistör konulabilmektedir. Böylece, en yeni bilgisayar mimarisini kullanmak da mümkün olabilmektedir: Olağanüstü hızlı ve evrensel kullanımlı 32-bit'lik mikroişlemciler yalnızca yeni kullanım alanlarını açmış olmakla değil, ama aynı zamanda ucuz üretilmeleri bakımından da dikkati çekmektedirler.
Bugünlerde dört ünlü yapımcı 32bit'lik mikro-işlemci ürünlerini piya-
LOYS NACHTMANN
Çev.: Güven Savaş Kızıltan 18 saya sürüyorlar: 80386'sı; Motoro bundan iki misli 68030'u; National 32032'si ve Fairc son derece hızlı CI
Bunlar Intel'in a'nın 68020'si ve daha verimli olan Semiconductor'un hild'in yepyeni ve ipper-işlemci' sidir.
Her ne kadar bütün mikro-işlemciler birbirlerinden az ya da çok farklı iseler de, bunların gelişimleri benzer koşullar altında olmuştur: Genel olarak 4-bit'lik ve 8-bit'lik öncellerinin adım adım geliştirilmelerinden ortaya çıkmışlardır. Intel 80386'nın sicilinin iç yapısı kendinden önceki 8-bit'liklerin izlerini taşımaktadır hâlâ. Ama yapımcılar 32-bit'lik ürünlerin tasarımında genellikle “Mainframe”lere ve mini bilgisayarlara yönelmektedirler. Birkaç yıl öncesine kadar bir mikro-işlemci için saniyede bir-iki yüz bin komut önemli bir başarı olarak görülürken, bugünün modern 32-bit'lik yongaları bu sayıyı aynı süre içinde üç ilâ dört milyon komuta çıkarmışlardır. Clipper-işlemci ise çok daha hızlıdır: Ortalama olarak saniyede yaklaşık 30 milyon komuta ulaşabilmektedir ve bu hızı bir minibilgisayarla bile -örneğin VAX 8600 ile- sağlayabilmektedir. Ev bilgisayarları ile kişisel bilgisayarlar arasındaki sınırların neredeyse bütünüyle erimiş olması gibi, modern 32-bit'lik bilgisayar ile minibilgisayar arasında da kesin bir çizgi çekilmesi artık mümkün olmamaktadır. Özellikle 32-bit'lik bilgisayarın mimari yapısı yeni bir eğilimi açığa vuruyor: Mikro-işlemci artık eskiden olduğu gibi doğrudan belleğe yönelmemekte, MMU (Memory Management Unit-Bellek Yönetim Birimi) yoluyla “gizil” bellek denilen bir belleğe el atmaktadır. Görünüşte aynı zamanda birçok görevi yerine getiren (Multitasking) ve kapsamları gitgide daha genişleyen programlar gizil bir bellek yönetimini gerekli kılmaktadırlar. Bilgisayarın kapsamlı programları ve örneğin sabit bir disk gibi dışsal bir “yığın” bellekte bulunan verileri çok hızlı ve oldukça zarif bir tarzda işleyebilmesi, ancak bu sayede mümkün olabilmektedir.
Her ne kadar aslında her bir küçük program ya da veri kesiti iş deposunda yer almışsa da, kullanıcı bütün verilerin dışsal bir bellekte değil de, bilgisayarın içinde bulunduğu izlenimine kapılmaktadır. Gizil belleğin bir başka ve üstün avantajı da şudur: Gizil bellek karmaşık bir bilgisayar sistemine düzen getirmekte ve işletim açısından büyük bir güvence sağlamaktadır. Geleneksel bir bilgisayarda alışılageldiği üzere, mikro-işlemci adres taşıtı yoluyla belleği doğrudan yönlendirir. Ama bu uygulama modern 32-bit'lik bilgisayarlarda çok büyük tehlike yarattığından elverişsiz olmaktadır. Birçok programı aynı zamanda işleyen (Multi-Tasking) ve birçok kullanıcıya hizmet veren (Multi-User) yüksek verim kapasiteli bir işletim sistemi, özel bir bellek yönetimine gerek duyar. Devreye giren programların karşılıklı olarak birbirlerine zarar vermemeleri ya da bir kullanım hatası sonucunda tüm işletim sisteminin felce uğramaması ancak bu sayede mümkün olabilmektedir. 32-bit'lik işlemcilerin yapımcıları, süper bilgisayarlar dünyasından “Ön-Bellek” (Cache-Memory) adı verilen bir başka önemli teknoloji daha almışlardır. Ön-Bellek teriminden küçük, hızlı bir bellek ünitesi anlaşılmaktadır. Bu ünite, kimi zaman doğrudan doğruya işlemci yonga üzerinde bütünleşmiştir. “Cache” genellikle Bellek Yönetim Birimi (MMU) ve görece yavaşlıktaki gizil bellek ile birlikte çalışır. “Cache” sayesinde 32-bit'lik işlemciye, sanki kendisine son derece hızlı bir iş belleği bağlanmış gibi bir görünüm kazandırılmıştır. Ancak, programın akışı içinde bazı “Önceden Kestirme İşlemleri” adı verilen işlemlere gerek duyulmaktadır. Bu işlemlerin amacı, sistem için “gizli bir bellek” olan “Cache”in sürekli olarak doğru verilerle beslenmesini sağlamaktır. Burada çalışma tarzının da kısaca açıklanmasında yarar var: Mikro-işlemci örneğin bellekte bir program işliyorsa, ard arda birçok bellek hücresine yönelmekte ve burada içerilen bilgileri okumaktadır. Mikro-işlemci ilkin, genellikle, yerine getirilmesi istenen komuta ulaşmakta ve kodunu almaktadır. Bu sırada iş belleğinden gelen bütün verilerin giriş-çıkışları “Cache” sayesinde olmaktadır. Ama eğer istenilen veri ya da komut “Cache” belleğinde bulunuyorsa, dışsal bir belleğin müm
David Em. tarafından dijital olarak yaratılan SUMA, Jet Propulsion Laboratuvarı'nda F. Blinn'in yazdığı software ile gerçekleştirilmiştir. Sanatçı bilgisayarını bir tualmişçesine rahat kullanmış ve istediği renk kombinasyonlarını gerçekleştirmiştir.
E müdahalesine gerek duyulmaksızın doğrudan doğruya işlemciye ulaşabilmektedir. Veri ya da komut “Cache” belleğinde bulunmadığı takdirde ise, “Cache”in iş belleğinden ya da dışsal bir bellek ortamından gelen bilgilerle yeniden “takviye” edilmesi gerekmektedir. Programlar sıklıkla ardışık bir yapıya sahip olduklarından, bir sonraki işlenenin (Operand) “Cache”da bulunduğu ve dışsal bir belleğin müdahalesine gerek duyulmayacağı büyük bir olasılıkla varsayılabilir. Bir sonraki verinin “Cache”da bulunma olasılığı ortalama olarak yüzde 80 ilâ 95 dolayındadır. 32-bit'lik mikro-işlemcilerin gitgide daha başarılı olmalarının ileri ve esnek bir yapıya sahip yongalarından kaynaklandığı söylenebilir. Özenle hazırlanmış komutlar ve adresleme tarzları ise, gelecekteki programlama dillerinin derleyici-tasarımına ilişkin olarak yepyeni perspektifler açmak-
tadır. Böylece, daha yüksek bir programlama dilinin karmaşık algoritmalarının mikro-işlemcinin makina diline çevrilmesi olağanüstü kolay ve yoğun bir biçimde yapılabilmektedir. Yeni 32-bit'lik işlemciler yalnızca bilgisayar donanımında büyük bir değişikliğe yol açmakla kalmamışlar, ileri yonga yapıları sayesinde yazılım yönünden de bazı değişiklikleri gündeme getirmişlerdir: Amerika'daki yazılımın gelişimi incelenecek olursa, AI-Yazılım-Ürünleri'nin (AI — Artificial Intelligence-Yapay Zekâ) ve uzman sistemlerin pazarda gittikçe artan bir yere sahip oldukları görülür. Daha 1985 yılında Yapay Zekâ ürünlerinin toplam olarak satışları 700 milyon Dolar'ın üstüne çıkmıştır ve bu ürünlere talep inanılmaz bir hızla artış göstermeye devam etmektedir. Bilindiği gibi, bilgisayarlar örneğin seri hesaplamalar ya da kapsamlı verilerin düzenlenmesi türünden basit işleri bir insandan çok daha hızlı yapabilirler. Bu hızlarından dolayı da, gerek sanayideki gerekse bürodaki çalışmaları hem kolaylaştırır hem de rasyonelleştirirler. Ama bir bilgisayarın bağımsız düşünmeyi, hissetmeyi, plan yapmayı ya da konuşmayı öğrenmesi sözkonusu olduğunda, bilgisayar kendi sınırlarıyla pek çabuk yüz yüze gelir.
Biz insanlar için çok sıradan olan karmaşık görevleri bir bilgisayarın yerine getirmesi neredeyse imkânsızdır. Ama hemen hemen bütün yeni 32-bit'lik işlemciler geniş bir komut takımına sahiptirler ve çoğu dört Gigabyte gücüne kadar ulaşabilen bir belleği yönetirler. Yapay Zekâ yazılımının modern bir bilgisayar sisteminde gerçekleştirilmesi önemli ölçüde bu iki özelliğe bağlıdır.
Gene de, geleneksel programlar ile Yapay Zekâ programları arasında büyük bir fark göze çarpar: Bir bit grubu genellikle bir rakamı ya da bir simgeyi temsil etmektedir, ama bunların gösterdiklerini yorumlamak bir bilgisayarın gücünü aşmaktadır. Bilgisayar sadece komutları yerine getirir ve bunu yaparken o sırada işlemekte olduğu programın ne kadar anlamlı ya da anlamsız olduğuyla pek az ilgilenir.
Ama bilgisayar eğer bağıntıları bağımsız bir tarzda tanıyacak olursa, karmaşık görevlerin üstesinden gelebilecek yetiye de sahip olurdu. O zaman, örneğin insan sesini anlayıp yorumlayabilir ya da bir duyarga aracılığıyla bir nesneye dokunduğunda onun yumuşak, sert veya kuru olup olmadığını duyumsayabilirdi. Bu yolla edinilen izlenimleri bir Yapay Zekâ programının yardımıyla bir “imge” bütünlüğünde biraraya getiren bilgisayar böylece biraz önce incelediği nesnenin örneğin bir balık değil de, memeli hayvanlar grubuna giren bir köpek olduğunu bilir. Fortran, Algol, Pascal ya da C gibi klasik programlama dilleri bu tür sorunları çözebilecek güçte değillerdir. Bugün çok yaygın olan Yapay Zekâ dilleri Lisp, Prolog ve Smalltalk'dur. Bunlar şimdiden uzman sistemlerde, robotların yönlendirilmesinde ve dil incelemelerinde kullanılmaktadır. Bu dilleri kullanabilen bilgisayarlar genel olarak çok fazla veriye maruz kaldıklarından, büyük bir gizil iş belleğine sahip olmak zorundadırlar. Ama yeni 32-bit'lik mikro-işlemciler sadece olağanüstü büyük bir belleğe yönelmekle kalmazlar, her türden veriye çabuk el atabilmek için özel komutlar ve adresleme tarzları da barındırırlar. Yeni süper yongalar geleneksel program dillerini de 8-bit'lik ve 16-bit'lik öncellerinden çok daha iyi bir biçimde desteklerler. Klasik bilgisayarlar genel olarak yalnızca ya da “yapılandırılmış” veri tiplerini işlerler. Basit veri tipleri arasına normal olarak tam sayılı işlemler ya da Boole işlemleri girmektedir. Onlu (decimal) sayıların işlenmesi ve bitalanlarının değiştirilmesi de bu gruptandır. Diziler (Arrays), kayıtlar (Records), desteler (Stacks) ve karakter zincirleri ise “yapılandırılmış” veri tipleri olarak adlandırılmaktadır. Oldukça farklı veri tiplerini zarif ve hızlı bir biçimde işleyebilmek için eskiden pek çok “cambazlıklar” yapılması zorunlu oluyordu. Bugün artık kolayı var: Yeni 32-bit'lik işlemcilerin sahip oldukları çok güçlü komutlar sayesinde “kompakt” derlemeler meydana getirebilmektedir. Özellikle aritmetikle ilgili olarak verim düzeyi yüksek Yardımcı-işlemciler hizmete sunulmuştur. Bunlar, hesaplamalarını seçime bağlı olarak basit (32 bit) ya da çifte duyarlıkta (64 bit) yapabilmektedirler. Asıl işlemci ile yardımcı işlemci arasındaki veri akışını çoğaltmak için her iki işlemciye de sıklıkla özel yönlendirme tertibatları yerleştirilmiştir. Bu tertibatlar sayesinde yongalar arasındaki bilgi aktarımı otomatikleştirilmiş olmaktadır.
GEOS, aplikasyonların kullanımında user-friendly olduğunu ispatlıyor. Burada gördüğünüz
tipik bir application-alert.
Lucasfilm tarafından son derece complex bir yöntemle hazırlanmış simulasyonlu bir resim. Dağları ve gölü oluşturan fraktal program Loren Carpenter tarafından yazılmış. Rob Cook ise gökkuşağı ve benzeri detayları yaratmış.
Daha şimdiden biraz eskimiş olan 8-bit'lik bilgisayarlardaki standart işletim nasıl CP/M idiyse, MS-DOS da aynı konuma IBM-uyarlı 16-bit'lik bilgisayarlarda çok yaygın bir tarzda ulaşmış bulunuyor. Buna karşılık Unix ise -çok kullanıcılı (Multi-User)/çok iş düzenli (Multi-Tasking) bir işletim sistemi- 16-bit'lik ticari bilgisayarların çoğunda büyük ölçüde tercih edilmektedir. Ve pek çok şey Unix'in yeni 32-bit'lik bilgisayarların standart işletim sistemi olabileceğine işaret ediyor. Buna karşın Microsoft firmasının da bugünlerde yeni bir işletim sistemini pazara sunacağı bilgisayar çevrelerince zikredilmektedir. Gene de, 32-bit dünyasındaki yarışı Unix'in mi yoksa aynı şekilde çok kullanıcılı ve çok iş düzenli olacağı söylenen yeni MS-DOS'un mu kazanacağını bugünden kestirmek pek mümkün görünmüyor.
C-64'ün yeni versiyonunda Geos adlı bir de grafik kullanım sistemi var. Bu sistem, çekici programların geliştirilmesinde kullanılacak rafine yardımcı araçlar sunuyor. Geçen yaz, yeni C-64 piyasaya tanıtıldı. Bu alette yeni olan, aslında sadece, kısaca Geos diye anılan Graphic Environment Operating System'li bir disketti. O zaman da anlatıldığı gibi, Geos, C-64 için yeni, yüksek performanslı bir kullanım imkanı oluşturmakta; tıpkı Digital Research'ün GEM'i gibi. Sistem kullanıcının hizmetine kullanıma dayalı bir ekran yönetimi için bir dizi süratli ve konforlu assembler rutini sunuyor. Aplikasyon diye adlandırılan uygulama programları, böylelikle, kullanım itibarıyla son derece kolaylaşıyorlar ve 8-bit'lik bir bilgisayardan kimsenin bekleyemeyeceği birtakım özellikler kazanıyorlar: