Architektura Micro Channel została zaprojektowana przez inżyniera Cheta Heatha. Wiele kart Micro Channel, które zostały opracowane, wykorzystywało kontroler interfejsu MCA CHIPS P82C612; dzięki czemu implementacje MCA stały się o wiele łatwiejsze.
OverviewEdit
Mikrokanał był przede wszystkim magistralą 32-bitową, ale system obsługiwał również tryb 16-bitowy zaprojektowany w celu obniżenia kosztów złączy i układów logicznych w maszynach opartych na procesorach Intela, takich jak IBM PS/2.
Sytuacja nigdy nie była jednak tak prosta, gdyż zarówno wersje 32-bitowe jak i 16-bitowe posiadały początkowo szereg dodatkowych opcjonalnych złączy dla kart pamięci, co skutkowało ogromną liczbą fizycznie niekompatybilnych kart dla pamięci dołączanych do magistrali. Z czasem pamięć przeniesiono na lokalną szynę procesora, eliminując w ten sposób ten problem. Z drugiej strony, jakość sygnału uległa znacznej poprawie, ponieważ Micro Channel dodał piny masy i zasilania oraz rozmieścił je tak, aby zminimalizować interferencje; masa lub zasilanie znajdowały się w ten sposób w odległości 3 pinów od każdego sygnału.
Kolejne rozszerzenie złącza zostało dołączone dla kart graficznych. To rozszerzenie było używane dla analogowego wyjścia z karty graficznej, które było następnie kierowane przez płytę systemową do własnego wyjścia monitorowego systemu. Zaletą tego rozwiązania było to, że płyty systemowe Micro Channel mogły mieć na pokładzie podstawowy system graficzny VGA lub MCGA, a karty graficzne wyższego poziomu (XGA lub inne karty akceleratorów) mogły dzielić ten sam port. Karty dodatkowe były wtedy w stanie być wolne od „starszych” trybów VGA, wykorzystując w razie potrzeby pokładowy system graficzny i pozwalając na pojedyncze złącze płyty systemowej dla grafiki, która może być ulepszana.
Karty Micro Channel posiadały również unikalny, 16-bitowy identyfikator odczytywany programowo, który stanowił podstawę wczesnego systemu plug and play. BIOS i/lub OS może odczytać ID, porównać z listą znanych kart i przeprowadzić automatyczną konfigurację systemu. Prowadziło to do błędów przy rozruchu, kiedy starszy BIOS nie rozpoznawał nowszej karty, co powodowało błąd przy starcie systemu. To z kolei wymagało od IBM regularnego wydawania zaktualizowanych dysków referencyjnych (The CMOS Setup Utility). Dostępna jest dość kompletna lista znanych identyfikatorów (zobacz sekcję External links). Do tych dysków referencyjnych dołączone były pliki ADF, które były odczytywane przez program Setup, który z kolei dostarczał informacji konfiguracyjnych dla karty. ADF był prostym plikiem tekstowym, zawierającym informacje o adresowaniu pamięci karty i przerwaniach.
Ale karty MCA kosztowały prawie dwa razy więcej niż porównywalne karty nie-MCA, marketing podkreślał, że każdy użytkownik może w prosty sposób uaktualnić lub dodać więcej kart do swojego komputera, oszczędzając w ten sposób znacznych wydatków na technika. W tym krytycznym obszarze, największa zaleta architektury Micro Channel była jednocześnie jej największą wadą i jednym z głównych powodów jej upadku. Aby dodać nową kartę (wideo, drukarkę, pamięć, sieć, modem, itp.) użytkownik po prostu podłączał kartę MCA i wkładał dostosowaną dyskietkę (która była dostarczana z komputerem), aby automatycznie połączyć nową kartę z oryginalnym sprzętem, zamiast sprowadzać kosztownie wyszkolonego technika, który mógł ręcznie dokonać wszystkich potrzebnych zmian. Wszystkie wybory dotyczące przerwań (często kłopotliwy problem) i inne zmiany były dokonywane automatycznie przez komputer, który odczytywał starą konfigurację z dyskietki, dokonywał niezbędnych zmian w oprogramowaniu, a następnie zapisywał nową konfigurację na dyskietce. W praktyce oznaczało to jednak, że użytkownik musiał trzymać tę samą dyskietkę przyporządkowaną do danego komputera. Dla małej firmy z kilkoma komputerami było to irytujące, ale praktyczne. Jednak w przypadku dużych organizacji z setkami, a nawet tysiącami komputerów stałe dopasowywanie do każdego komputera jego własnej dyskietki było logistycznie mało prawdopodobne lub niemożliwe. Bez oryginalnej, zaktualizowanej dyskietki nie można było dokonać żadnych zmian w kartach komputerów. Po tym, jak to doświadczenie powtórzyło się tysiące razy, liderzy biznesowi zdali sobie sprawę, że ich wymarzony scenariusz prostoty uaktualniania nie działa w świecie korporacyjnym, i szukali lepszego procesu.
Transmisja danychEdit
Podstawowa szybkość transmisji danych w Micro Channel została zwiększona z 8 MHz ISA do 10 MHz. To może być skromny wzrost pod względem częstotliwości taktowania, ale większa szerokość magistrali, w połączeniu z dedykowanym kontrolerem magistrali, który wykorzystywał transfery w trybie burst, oznaczała, że efektywna przepustowość była do pięciu razy wyższa niż ISA. Dla szybszych transferów szyna adresowa mogła być ponownie wykorzystana dla danych, co dodatkowo zwiększało efektywną szerokość szyny. Podczas gdy częstotliwość 10 MHz pozwalała na przepustowość 40 MB/s przy szerokości 32 bitów, późniejsze modele maszyn RS/6000 zwiększyły szybkość transmisji danych do 20 MHz, a przepustowość do 80 MB/s. Niektóre funkcje magistrali Micro Channel o wyższej przepustowości były dostępne wyłącznie dla platformy RS/6000 i początkowo nie były obsługiwane przez karty działające na platformie Intela.
Dzięki funkcji Bus Mastering każda karta mogła bezpośrednio rozmawiać z inną. Umożliwiło to uzyskanie wydajności niezależnej od CPU. Jedną z potencjalnych wad konstrukcji multi-master były możliwe kolizje, gdy więcej niż jedna karta będzie próbować bus master, ale Micro Channel zawierał funkcję arbitrażu, aby poprawić dla tych sytuacji, a także pozwolił master do korzystania z burst-mode. Karty Micro Channel miały pełną kontrolę przez okres do 12 milisekund. Było to wystarczająco długo, aby umożliwić maksymalnej liczbie innych urządzeń na magistrali buforowanie danych przychodzących z urządzeń over-runnable, takich jak taśmy i komunikacji.
Wsparcie dla wielu bus-master i ulepszony arbitraż oznaczają, że kilka takich urządzeń może współistnieć i dzielić magistralę systemową. Urządzenia obsługujące magistralę Micro Channel mogą nawet korzystać z magistrali, aby rozmawiać bezpośrednio ze sobą (peer to peer) z szybkością większą niż CPU systemu, bez żadnej innej interwencji systemu. Teoretycznie systemy o architekturze Micro Channel mogą być rozbudowywane, podobnie jak komputery mainframe, jedynie poprzez dodanie inteligentnych urządzeń nadrzędnych, bez okresowej potrzeby uaktualniania procesora centralnego.
Wzmocnienie arbitrażu zapewnia lepszą przepustowość systemu, ponieważ sterowanie jest przekazywane bardziej efektywnie. Zaawansowana obsługa przerwań odnosi się do wykorzystania przerwań wrażliwych na poziom do obsługi żądań systemowych. Zamiast dedykowanej linii przerwania, kilka linii może być współdzielonych w celu zapewnienia większej liczby możliwych przerwań, co rozwiązuje problem konfliktu linii przerwania w magistrali ISA.
W architekturze Micro Channel wszystkie sygnały żądania przerwania były „publiczne”, co pozwalało każdej karcie na magistrali funkcjonować jako procesor I/O do bezpośredniej obsługi przerwań urządzeń I/O. ISA ograniczała takie przetwarzanie tylko do procesora systemu. Podobnie, sygnały żądania i przyznania master magistrali były publiczne, dzięki czemu urządzenia podłączone do magistrali mogły monitorować opóźnienia, aby kontrolować wewnętrzne buforowanie dla procesorów we/wy. Te cechy nie zostały zaadoptowane dla PCI, wymagając, aby cała obsługa I/O pochodziła wyłącznie z procesora płyty systemowej.
Ostatecznym głównym ulepszeniem architektury Micro Channel był POS, Programmable Option Select, który pozwalał, aby cała konfiguracja odbywała się programowo. Ta funkcja jest teraz oczywista, ale w tamtych czasach konfiguracja była bardzo uciążliwa dla systemów ISA. POS był prostym systemem, który zawierał w firmware identyfikatory urządzeń, które miały być interpretowane przez sterowniki w komputerze. (Ten typ systemu konfiguracji oprogramowania jest dziś znany jako plug and play).) Funkcja ta nie do końca spełniała swoje obietnice; automatyczna konfiguracja była w porządku, gdy działała, ale często nie działała – co skutkowało brakiem możliwości uruchomienia komputera – a rozwiązanie problemu za pomocą ręcznej interwencji było znacznie trudniejsze niż w przypadku konfiguracji systemu ISA, między innymi dlatego, że dokumentacja urządzenia MCA miała tendencję do zakładania, że automatyczna konfiguracja będzie działać, a więc nie dostarczała informacji niezbędnych do jej ręcznego ustawienia, w przeciwieństwie do dokumentacji urządzeń ISA, która z konieczności zawierała pełne szczegóły (jednak konieczność fizycznego usunięcia i sprawdzenia wszystkich ustawień IRQ, a następnie znalezienia i ustawienia nowego IRQ dla nowego urządzenia – jeśli odpowiednie było dostępne – dla ISA nie była żadną zabawą i przerastała wielu użytkowników…. jest oczywiste, dlaczego podjęto próbę przejścia na konfigurację arbitrażowaną programowo i dlaczego miało się to później udać w formie PnP.)
.