lll edlnd AA AALIR VIA) ve karakter ROM'u kapsıyor. Her iki ROM alanı, yani BASIC ve C 64 modunun işletim sistemi, 128'de 16 KByte'lık bir ROM ele- manına yerleştirilmiş durumda. C 64'te ise durum bunun tam tersi. BASIC ve işletim sistemi, ayrı ayrı 8 KByte'lik ROM'larda bulunuyor. 128 modunda dağılım daha da karmaşık. Çünkü çok daha kapsamlı bir BASIC'in (7.0 versiyo- nu) ve ek bir 80 karakter üreticisi- nin varlığı sözkonusu, BASIC ROM'u ber biri 16 KByte'"- lık iki kısma ayrılıyor: Bellek harita- sında BASIC 1. kısım ve 2. kısım (şema 1 ve 2). Birinci kısım $4000 ila $7FFF adresleri arasında, ikin- ci kısım ise $8000 ila SBFF arasın- da yer alıyor. BASIC ROM, toplam olarak 32 KByte. Bir karşılaştırma yapılacak olursa, C 64'ün 2.0 BA- SIC versiyonu yalnızca 8 KByte uzunluğunda. 128'in işletim sistemi (Kernal), aynen C 64'te olduğu gibi, SEO0O ve $FFFF adresleri arasında bulu- nuyor. İşletim sistemi bir monitör programı içeriyor. 40/80 karakter üreticisinin rutinleri, $CO00O'dan $CFFF'e kadar olan alanda bulu- nuyor. 62 Ürrrarrrı BASIC programları için 128'de C 64'e göre 81.5 KByte daha faz- la yer var. Bunu sağlayan, 64 KByte'lık iki RAM-Bank'ı arasında gerçekleştirilen Bank-Switching. Bank-Switching Nedir? Tüm 65xxlerde ve 8502'de oldu- ğu gibi, 16 adres hattına sahip bir işlemciyle, 2 üzeri 16—65536 bel- lek hücresinden daha fazla bel- leği (64 KByte) doğrudan adres- lemek mümkün değildir. Eğer 64 KByte'dan daha çok belleğe sa- hip olmak istenirse, tek bir olası- liık vardır. O da, Bank-Switching adı verilen farklı bellek yönetim sistemini kullanmaktır. Bank-Switching, çalışılan bellek alanını değiştirme gibi bir anlam taşır. Commodore 128'in 128 KByte'- lık belleği, bu amaçla her biri 64 KByfte'lık iki kısma ayrılır. Bellek yö- netim birimi (Memory Manag- ment Unit-MMU) olarak adlandı- rılan birim, işlemcinin 64 KByte'lık bellek bankalarını dönüşlü olarak “görmesini” sağlar. Adından da anlaşıldığı gibi, bu devre bellek comrmodeore | C128, bir RGB ve bir kompozit monitörle. Solda program, sağda ise bununla üretilen grafik. adreslenmesini yönetir. MMU, iş- lemcinin hangi RAM-Bank'a bak- ması gerektiğini, yani okuma/yaz- ma erişimlerinin belleğin neresin- de gerçekleşmesi gerektiğini be- lirler. Aslında görevi bununla sınırlı değildir. MMU, ROM konfigüras- yonunu da belirler, yani işlemci- ye komutları hangi ROM'dan -Ker- nalidan veya bir ek kartın EPROM'- undan- alacağını bildirir. MMU, üzerinde hiçbir değişiklik yapılamayacak ölü bir eleman değildir. Aksine, bu elemanla gerçekleştirilebilecek bir sürü fikir akla gelmektedir. Örneğin, bir- den fazla Bank'a, hattâ farklı Bank'larda bulunan birden çok program bölünen, İnterrupt tara- fından yönetilen bir kilit, MMU ile gerçekleştirileblir. Commodore 128'de BASIC bel- leği ikiye bölünmüş olarak yöne- tilir. O RAM-Bank'ı (64 KByte) BASIC programlarına, 1 RAM-Bank'ı BA- SIC değişkenlerine ayrılmıştır. BA- SIC programcısı açısından bunun * anlamı, program ve değişkenler için her biri yaklaşık 60'ar KByte'- lik belleğin bulunmasıdır. (DEVAM EDECEK)