Por que os tristates são favorecidos sobre os multiplexadores para selecionar a saída da RAM? A explicação de que ouvi falar é que a RAM é muito grande para usar um multiplexador, mas preciso de mais detalhes.
Uma teoria que surgimos é que o uso de um multiplexador exigiria uma árvore de portas OR para selecionar a saída que aumentaria drasticamente o tempo de propagação do sinal para o barramento, enquanto que com tristates, independentemente do tamanho da RAM, o atraso de propagação seria constante.
Isso está correto?
obrigado
fonte
Se alguém construir uma matriz de memória retangular que é lida usando um driver de três estados em cada célula da memória, um circuito decodificador pode controlar todas as células em uma linha. É necessário um circuito em torno do perímetro da matriz para controlá-lo, mas a quantidade de circuitos de controle será proporcional a sqrt (N) * lg (N). Por outro lado, se alguém tentasse alimentar todas as células de memória em um multiplexador, acabaria precisando de muito mais circuitos.
A abordagem baseada em multiplexador tem algumas vantagens. Se alguém construísse uma memória de uma mega-palavra usando multiplexadores bidirecionais, cada bit teria que passar por 20 multiplexadores, mas seria possível obter um sistema de memória em pipeline com largura de banda muito alta se cada multiplexador incluísse uma trava. Levaria 20 ciclos para executar qualquer operação de leitura específica, mas em 100 ciclos, poderia-se iniciar 100 leituras diferentes. Como o sinal não precisaria ir muito longe em cada ciclo e não conduziria nenhum ônibus grande, a taxa de ciclo poderia ser extremamente alta.
A questão de usar multiplexadores ou barramentos acaba sendo um pouco semelhante à questão de usar repetidores de dados ao enviar informações a longas distâncias. Por um lado, os repetidores de dados adicionam atraso. Por outro lado, o tempo necessário para uma transição de sinal em uma extremidade de um trecho de cobre para causar uma transição na outra extremidade é assintoticamente proporcional ao quadrado do comprimento (já que a adição de comprimento acrescenta resistência e capacitância). A adição de um repetidor no meio de um fio longo pode acabar melhorando a velocidade, pois o longo prazo será substituído por dois mais curtos, com algo entre um quarto e metade do atraso maior.
Se alguém duplicasse a largura e o comprimento de uma matriz de memória sem melhorar o 'oomph' dos circuitos de driver de linha e coluna, mais do que dobraria o tempo necessário para alternar as linhas e colunas. Por outro lado, se alguém usasse quatro matrizes de memória menores e multiplexasse as saídas, adicionaria apenas uma constante ao tempo de acesso. Memórias mais rápidas são subdivididas em matrizes mais pequenas conectadas por multiplexadores; memórias mais baratas usam menos multiplexadores, mas não são tão rápidas.
fonte
Ao fazer uma declaração triplo em um barramento, seu sistema é dimensionado melhor. Você pode simplesmente adicionar dispositivos mais tristáveis, sem precisar reconfigurar os dispositivos antigos e o novo para cooperar por meio de um multiplexador novo e maior.
fonte