MOS Teknolojisi CIA - MOS Technology CIA

Image
6526 CIA pin konfigürasyonu
Image
6526 başlarında CIA hala altın kontaklı pahalı seramik paketteydi. Daha sonraki versiyonlar daha ucuz plastik ambalajda üretildi.
Image
Plastik pakette CIA MOS 6526A
Image
Amiga 1000'de MOS 8520A

6526/8520, kompleks ara adaptör ( CIA ) bir olduğu entegre devre tarafından yapılan MOS Technology . 6502 mikroişlemci ailesi için bir G/Ç bağlantı noktası denetleyicisi olarak hizmet etti ve paralel ve seri G/Ç yeteneklerinin yanı sıra zamanlayıcılar ve Günün Zamanı (TOD) saati sağladı . Cihazın en belirgin kullanımı , her biri iki CIA çipi içeren Commodore 64 ve Commodore 128(D) idi . Commodore 1570 ve Commodore 1571 disket sürücüleri tek CIA her içeriyordu. Ayrıca, Amiga ev bilgisayarları ve Commodore 1581 disket sürücüsü, CIA devresinin 8520 adı verilen değiştirilmiş bir çeşidini kullanıyordu. 8520, basitleştirilmiş TOD devresi dışında 6526'ya işlevsel olarak eşdeğerdir .

Paralel G/Ç

CIA, iki adet 8 bitlik çift ​​yönlü paralel G/Ç bağlantı noktasına sahipti . Her portun, her bir veri hattının giriş veya çıkış moduna ayrı ayrı ayarlanmasına izin veren karşılık gelen bir Veri Yönü Kaydı vardı. Bu bağlantı noktalarının okunması, ayarlanmış olan veri yönünden bağımsız olarak her zaman ayrı hatların durumunu döndürdü.

Seri G/Ç

Dahili bir çift yönlü 8 bitlik kaydırma kaydı , CIA'in seri G/Ç'yi işlemesini sağladı . Çip, harici bir kaynaktan saatli seri girişi kabul edebilir ve yerleşik programlanabilir zamanlayıcılardan biriyle saatli seri çıkış gönderebilir. 8 bitlik bir seri aktarım tamamlandığında bir kesme oluşturuldu. Birkaç bilgisayarın kaydırma yazmacı ve saat çıkışlarını birbirine bağlayarak basit bir " " uygulamak mümkündü . 2 MHz versiyonu için maksimum bit hızı 500 kbit/s'dir.

CIA, önceki 6522 VIA'daki seri kaydırma yazmacındaki bir hataya bir düzeltme ekler . CIA başlangıçta bir disk sürücüsü ile hızlı iletişime izin vermeyi amaçlamıştı, ancak sonunda VIC-20 ile disk sürücüsü uyumluluğunu koruma arzusu nedeniyle kullanılamadı ; pratikte, C64'ün video işlemcisinin , ekranı çizerken CPU'yu her 512 mikrosaniyede bir 40 mikrosaniye ve bu zaman diliminde kapatan bir davranışını çözmek için , 1541 sürücüsünün donanım yazılımının önceki Vic-20'den bile daha yavaş yapılması gerekiyordu. otobüsü dinleyemez, biraz kaçırma riskini göze alır.

Aralık zamanlayıcıları

Her biri mikrosaniye altı hassasiyete sahip iki programlanabilir zamanlayıcı mevcuttu . Her zamanlayıcı bir oluşuyordu 16 bit salt okunur ön ayarlı aşağı sayacı ve buna karşılık gelen 16-bit salt mandalı . Bir zamanlayıcı her başlatıldığında, zamanlayıcının mandalı otomatik olarak sayacına kopyalandı ve ardından sayaç , CIA bunu yapacak şekilde yapılandırıldıysa bir kesme oluşturulacak olan alt akışa kadar her saat döngüsünde azalırdı .

Zamanlayıcı, "tek seferlik" modda, taşma sonrası durma modunda veya "sürekli" modda, mandal değerini yeniden yükleyerek ve zamanlayıcı döngüsünü yeniden başlatarak çalışabilir. Kesintiler oluşturmaya ek olarak, zamanlayıcı çıkışı ikinci G/Ç bağlantı noktasına da bağlanabilir.

Commodore 64 ve Commodore 128'de yapılandırıldığı gibi , CIA'nın zamanlaması, nominal olarak bir MHz olan Ø2 sistem saati tarafından kontrol edildi . Bu, zamanlayıcıların yaklaşık olarak bir mikrosaniye aralıklarla azaldığı anlamına geliyordu; tam süre, sistemin NTSC veya PAL video standardını kullanıp kullanmadığına göre belirleniyordu . C-128'de saat germe kullanıldı, böylece CIA'in zamanlaması sistemin YAVAŞ veya HIZLI modda çalışmasından etkilenmedi.

Zamanlayıcı B'yi zamanlayıcı A taşmalarını saymak için programlayarak nispeten uzun zamanlama aralıkları oluşturmak mümkündü. Her iki zamanlayıcı da 65.535 maksimum aralık değeriyle yüklenmişse, bir saat, 11 dakika, 34 saniyelik bir zamanlama aralığı elde edilir.

Günün Saati (TOD) Saati

CIA'e dahil edilen gerçek zamanlı bir saat, insan ihtiyaçlarına aralıklı zamanlayıcıların mikrosaniye hassasiyetinden daha elverişli bir zaman tutma cihazı sağlar. Saat, Amerikan 12 saatlik AM/PM formatında tutulur. TOD saati dört okuma/yazma kaydından oluşur: saat (7 biti AM/PM bayrağı olarak hareket eder), dakika, saniye ve saniyenin onda biri. Tüm kayıtlar BCD formatında okunur , böylece kodlama/kod çözme sürecini basitleştirir.

Kayıtlardan okumak her zaman günün saatini döndürür. Zamanı getirirken bir taşıma hatasından kaçınmak için, saat kaydının okunması dahili zaman işleyişinin doğruluğunu etkilemeden kayıt güncellemesini hemen durduracaktır. Onuncu kayıt okunduktan sonra güncelleme devam edecektir. Çalışan bir TOD saatinin bir zamanlayıcı olarak kullanılmasını pratik bir uygulama haline getirerek, "anında" saat kaydı dışında herhangi bir kaydı okumak mümkündür. Ancak saat kütüğü okunuyorsa, ondan sonra ondalık kütüğünün okunması esastır. Aksi takdirde, tüm TOD kayıtları "donmuş" olarak kalacaktır.

Zamanın ayarlanması, uygun BCD değerlerinin kayıtlara yazılmasını içerir. Saat kaydına yazma erişimi saati tamamen durdurur. Saat ondalık kaydına bir değer yazılana kadar tekrar başlamaz. Kayıtların sistemin bellek haritasında görünme sırası nedeniyle , kayıtları doğru sırada yazmak için gereken tek şey basit bir döngüdür. Saati, bir donanım sıfırlamasını takiben saat 1: 00: 00.0'da başlayacağı eyleme "itelemek" için yalnızca onda bir kayıt yazılmasına izin verilir.

TOD, zaman işleyişi özelliklerine ek olarak , herhangi bir zamanda bir kesme talebi oluşturacak şekilde düzenlenerek bir alarm saati olarak çalışacak şekilde yapılandırılabilir . Birçok 6526'daki bir hatadan dolayı (ayrıca aşağıdaki hata verilerine bakın), alarm zamanının saniye bileşeni tam olarak sıfır olduğunda IRQ alarmı her zaman meydana gelmeyecektir. Geçici 0,1 saniye ile alarmın onda bir değer ayarlamaktır.

TOD saatinin dahili devresi, 50 veya 60 Hz sinüs dalgası sinyaliyle çalıştırılmak üzere tasarlanmıştır . C-64 ve C-128(D)'de kullanıldığı gibi, bilgisayarın güç kaynağı ana şebekeden böyle bir sinyal sağladı ve bu da uzun vadeli az sapma ile istikrarlı bir zaman tutucu ile sonuçlandı. Her iki güç hattı frekansıyla çalışabilme özelliği, 6526'nın tek bir versiyonunun 50 veya 60 Hz güce sahip ülkelerde çalıştırılan bilgisayarlarda kullanılmasına izin verdi. Popüler inanışın aksine, NTSC veya PAL video standartlarının doğrudan şebeke güç frekansına bağlı olmadığını belirtmek önemlidir . Ayrıca, bazı bilgisayarlar TOD saat frekanslarını ana güç kaynağından türetmedi. Örneğin, her iki NTSC ve PAL arasında varyantları Commodore SX-64 özel kristal tarafından sağlanan kullanım 60 Hz TOD saat. Örneğin Commodore 64'teki KERNAL işletim sistemi, sistem başlatma sırasında video standardını belirleyecektir, ancak ne sağlanan TOD saat frekansını belirlemeye ne de 50 Hz'lik tahrikli makinelerde CIA'leri doğru şekilde başlatmaya çalışmaz. Bu nedenle, sağlanan frekansı belirlemek ve CIA(ler) bayrağını kendisine göre ayarlamak için CIA'nın TOD işlevini kullanmak isteyen herhangi bir uygulama yazılımının sorumluluğundadır. Bunun yapılmaması, saatin doğru zamandan hızlı bir şekilde sapmasına neden olabilir.

Amiga ve Commodore 1581 disk sürücüsünde kullanıldığı şekliyle CIA'in 8520 revizyonu, günün saati saatini , 6526'nın BCD formatının yerini alarak 24 bitlik bir ikili sayaç olacak şekilde değiştirdi. Ancak diğer davranışlar benzerdi. .

Versiyonlar

CIA, 1 MHz (6526), ​​2 MHz (6526A) ve 3 MHz (6526B) versiyonlarında mevcuttu. Paket, JEDEC -standart 40-pinli seramik veya plastik DIP idi . 8520 CIA, değiştirilmiş günün saati ile Amiga bilgisayarlarında kullanıldı.

Commodore düşük katıştırılmış (sadece 4 kayıt) CIA gibi düşük maliyet için mantık 1571 Commodore C128DCR (Bkz içinde Commodore 128 bir kapı dizisi olarak) aynı zamanda, diğer fonksiyonları içeren 5710 olarak adlandırılan. 5710 CIA, bir CIA6526 eşdeğeri Zamanlayıcı A değerine bağlı hızlı seri arabirim için seri saate sahiptir ve iletimde bit başına 5μs zaman sağlar. Bu, orijinal Commodore 1571'de 6526 CIA'de bir Zamanlayıcı A değeri olan 6 değerinden farklıdır . 5710 CIA, zamanlayıcı veya zamanlayıcı kontrol kayıtları içermez. Sadece iki port kaydı ve seri kaydırıcıyı ve olayını kontrol etmek için kayıt içerir.

Hatalar

Yukarıda bahsedilen çalar saat kesme hatasına ek olarak, birçok CIA , kesme kontrol kaydının (ICR) kesmenin gerektiği zamandan bir veya iki saat önce okunması durumunda parçanın bir zamanlayıcı B donanım kesmesi oluşturmada başarısız olacağı bir kusur sergiledi. aslında meydana geldi. Bu kusur ve Commodore tarafından sağlanan (8 bit) işletim sistemindeki mantık hataları , Commodore 64 ve Commodore 128 bilgisayarlarında daha yüksek baud hızlarında çalışırken sık sözde RS-232 hatalarına neden oldu .

Referanslar

Dış bağlantılar