A arquitectura de Micro Canais foi desenhada pelo engenheiro Chet Heath. Muitas das placas Micro Channel que foram desenvolvidas utilizaram o controlador de interface CHIPS P82C612 MCA; permitindo que as implementações de MCA se tornassem muito mais fáceis.
Visão GeralEditar
O Micro Channel era principalmente um barramento de 32-bit, mas o sistema também suportava um modo de 16-bit concebido para baixar o custo de conectores e lógica em máquinas baseadas em Intel como a IBM PS/2.
A situação nunca foi tão simples, no entanto, como ambas as versões 32-bit e 16-bit inicialmente tinham um número adicional de conectores opcionais para cartões de memória, o que resultou num enorme número de cartões fisicamente incompatíveis para a memória anexada ao bus. Com o tempo, a memória passou para o barramento local da CPU, eliminando assim o problema. Do lado positivo, a qualidade do sinal foi muito melhorada à medida que o Micro Channel adicionava pinos de terra e de alimentação e arranjava os pinos para minimizar as interferências; uma terra ou uma alimentação estava assim localizada dentro de 3 pinos de cada sinal.
Foram incluídas outras extensões de conectores para placas gráficas. Esta extensão foi usada para a saída analógica da placa de vídeo, que foi então encaminhada através da placa do sistema para a saída do próprio monitor do sistema. A vantagem disto era que as placas do sistema Micro Channel podiam ter um sistema gráfico VGA ou MCGA básico na placa, e gráficos de nível superior (XGA ou outras placas aceleradoras) podiam então partilhar a mesma porta. As placas adicionais podiam então ser livres de modos VGA ‘antigos’, fazendo uso do sistema gráfico on-board quando necessário, e permitindo um único conector de placa de sistema para gráficos que podiam ser actualizados.
Micro Channel cards também apresentavam um único ID de software de 16 bits legível, que formava a base de um sistema inicial de plug and play. A BIOS e/ou SO pode ler IDs, comparar com uma lista de placas conhecidas, e realizar a configuração automática do sistema para se adequar. Isto levou a falhas de inicialização através das quais uma BIOS antiga não reconheceria uma placa mais nova, causando um erro na inicialização. Por sua vez, isto exigiu que a IBM liberasse discos de referência atualizados (The CMOS Setup Utility) regularmente. Uma lista bastante completa de IDs conhecidos está disponível (veja a seção Links externos). Para acompanhar esses discos de referência eram arquivos ADF que eram lidos pela configuração que, por sua vez, fornecia informações de configuração para o cartão. O ADF era um arquivo de texto simples, contendo informações sobre o endereçamento e interrupção da memória do cartão.
Embora os cartões MCA custassem quase o dobro do preço de cartões não-MCA comparáveis, o marketing enfatizou que era simples para qualquer usuário atualizar ou adicionar mais cartões ao seu PC, poupando assim as consideráveis despesas de um técnico. Nesta área crítica, a maior vantagem da arquitetura Micro Channel foi também a sua maior desvantagem, e uma das principais razões para o seu desaparecimento. Para adicionar uma nova placa (vídeo, impressora, memória, rede, modem, etc.) o utilizador simplesmente ligou a placa MCA e inseriu um disquete personalizado (que veio com o PC) para misturar automaticamente a nova placa no hardware original, em vez de trazer um técnico com formação intensiva que podia fazer manualmente todas as alterações necessárias. Todas as escolhas de interrupções (um problema muitas vezes desconcertante) e outras alterações foram feitas automaticamente pelo PC lendo a configuração antiga da disquete, que fez as alterações necessárias no software, e depois escreveu a nova configuração na disquete. Na prática, no entanto, isto significava que o utilizador tinha de manter a mesma disquete compatível com aquele PC. Para uma pequena empresa com poucos PCs, isto era irritante, mas prático. Mas para grandes organizações com centenas ou mesmo milhares de PCs, combinar permanentemente cada PC com a sua própria disquete era logisticamente improvável ou impossível. Sem a disquete original e atualizada, nenhuma alteração poderia ser feita nos cartões do PC. Após esta experiência se repetir milhares de vezes, os líderes empresariais perceberam que o cenário dos seus sonhos de simplicidade de actualização não funcionava no mundo empresarial, e procuraram um processo melhor.
Transmissão de dadosEditar
A taxa de dados básicos do Micro Channel foi aumentada de 8 MHz para 10 MHz do ISA. Isto pode ter sido um modesto aumento em termos de taxa de clock, mas a maior largura de bus, juntamente com um controlador de bus dedicado que utilizava transferências em modo de estouro, significou que a taxa de transmissão efetiva foi até cinco vezes maior que a do ISA. Para transferências mais rápidas, o bus de endereço poderia ser reutilizado para dados, aumentando ainda mais a largura efetiva do bus. Enquanto a taxa de 10 MHz permitia 40 MB/s de transmissão com largura de 32 bits, modelos posteriores de máquinas RS/6000 aumentaram a taxa de dados para 20 MHz, e a transmissão para 80 MB/s. Algumas funções de throughput mais altas do barramento Micro Channel estavam disponíveis apenas para a plataforma RS/6000, e não eram inicialmente suportadas em placas operando em uma plataforma Intel.
Com o bus mastering, cada placa poderia falar com outra diretamente. Isto permitiu um desempenho que era independente da CPU. Uma desvantagem potencial do design multi-master era a possibilidade de colisões quando mais de uma placa tentasse o bus master, mas o Micro Channel incluía uma funcionalidade de arbitragem para corrigir estas situações, e também permitia que um master usasse um modo de explosão. Os cartões Micro Channel tinham controle completo por até 12 milissegundos. Isto era suficientemente longo para permitir o número máximo de outros dispositivos no bus para guardar os dados de entrada de dispositivos com excesso de velocidade como fitas e comunicações.
Multiple bus-master support and improved arbitration mean that several such devices could coexist and share the system bus. Os dispositivos com micro canal bus-master podem até usar o bus para conversar diretamente uns com os outros (peer to peer) a velocidades mais rápidas que a CPU do sistema, sem qualquer outra intervenção do sistema. Em teoria, os sistemas de arquitetura Micro Channel poderiam ser expandidos, como os mainframes, com apenas a adição de masters inteligentes, sem necessidade de atualizar periodicamente o processador central.
Arbitration enhancement ensures better system throughput since control is passed more efficiently. O tratamento avançado de interrupções refere-se ao uso de interrupções sensíveis ao nível para tratar as solicitações do sistema. Ao invés de uma linha de interrupção dedicada, várias linhas podem ser compartilhadas para fornecer mais interrupções possíveis, abordando os problemas de conflito de linha de interrupção de barramento ISA.
Todos os sinais de solicitação de interrupção eram “públicos” na arquitetura Micro Channel, permitindo que qualquer placa no barramento funcione como um processador de E/S para serviço direto de interrupções de dispositivos de E/S. O ISA tinha limitado todo esse processamento apenas à CPU do sistema. Da mesma forma, os sinais de pedido e de concessão do bus eram públicos, de tal forma que os dispositivos conectados ao bus podiam monitorar a latência para controlar o buffer interno dos processadores de E/S. Estes recursos não foram adotados para PCI, exigindo que todo o suporte a E/S viesse exclusivamente do processador da placa do sistema.
A última grande melhoria na arquitetura do Micro Channel foi o POS, o Programmable Option Select, que permitiu que toda a configuração ocorresse em software. Esta funcionalidade é agora tomada como certa, mas na altura a configuração era uma grande tarefa para os sistemas ISA. O POS era um sistema simples que incluía IDs de dispositivos no firmware, que os drivers do computador deveriam interpretar. (Este tipo de sistema de configuração de software é conhecido como plug and play hoje em dia.) A funcionalidade não cumpriu realmente a sua promessa; a configuração automática era boa quando funcionava, mas frequentemente não funcionava – resultando num computador não inicializável – e resolver o problema por intervenção manual era muito mais difícil do que configurar um sistema ISA, até porque a documentação para o dispositivo MCA tenderia a assumir que a configuração automática funcionaria e, portanto, não fornecia as informações necessárias para configurá-lo manualmente, ao contrário da documentação do dispositivo ISA que, por necessidade, forneceu todos os detalhes (no entanto, tendo que remover fisicamente e verificar todas as configurações do IRQ, então encontrar e definir o novo IRQ para um novo dispositivo – se um adequado estava disponível – para o ISA não foi nada divertido, e além de muitos usuários…. é óbvio porque foi feita a tentativa de mudar para uma configuração arbitrada de software, e porque isto foi para mais tarde ter sucesso na forma de PnP.)