ALU com 12 transistores (na verdade não)



O que pode ser feito com 12 transistores? Se o circuito for analógico, pode ser, por exemplo, um rádio ou amplificador com características decentes. Para um circuito digital, isso é desastrosamente pequeno. Mesmo em um chip tão simples como o ALU K155IP3 (74181), há muito mais deles.

De fato, não existem 12, mas 27 transistores aqui, mas apenas 11 deles são usados ​​na própria ALU (o décimo segundo transistor, forçando um zero lógico à entrada de transferência ao escolher operações lógicas, não está instalado). Os demais transistores estão envolvidos no modelador de sinais fornecidos às entradas da ULA. Quando a ALU é incluída no processador do transistor, o primeiro pode não ser necessário se todos os sinais necessários já forem gerados lá.

Como manter dentro desse valor? Em primeiro lugar, para tornar a ALU um bit, em segundo lugar, para reduzir o número de operações para duas aritméticas e cinco lógicas (K155IP3 e cada uma delas tem 16, mas aqui estão na verdade mais), em terceiro lugar ...

... execute a ALU usando a incomum tecnologia DCTL (lógica de transistor diretamente acoplada), que pode reduzir significativamente o número de componentes.

A simulação foi realizada em Falstad , este simulador é conveniente, pois mostra a direção do fluxo de corrente na forma de "luzes de circulação". Arquivos: apenas somador completo e ALU pronto .

Para começar, criaremos "ALU" com uma função - um somador completo. Vamos dividir o esquema em duas partes. O primeiro é projetado para preparar sinais de entrada para o somador:



Os comutadores podem ser usados ​​para definir dois números de bit único - A e B e o sinal de transferência. Destes, o circuito gera quatro sinais (o quarto é o mesmo B, apenas invertido).

A segunda metade do circuito é o próprio somador:



É uma implementação do somador completo clássico. O diagrama estrutural mostra adicionalmente a distribuição de transistores por elementos lógicos:



Para transformar tudo isso em uma ULA multifuncional, primeiro refazemos o condicionador de sinal de entrada de forma que ele gere de forma direta e invertida não apenas o valor de B, mas também o valor de A:



Porém, como o autor planeja usar sua ALU como parte do processador em componentes discretos, esse modelador pode não ser necessário: as duas quantidades estarão na forma direta e invertida. Portanto, os transistores do modelador não estão incluídos no número de transistores ALU. Sim, e sem um processador, você pode simplesmente usar os comutadores com contatos cruzados. Bem, agora - na verdade ALU:



Quatro interruptores podem selecionar a função executada pela ALU. Apenas 7 núcleos são mostrados abaixo:



Para que a ULA não seja "esférica no vácuo", mas possa receber sinais externos, os comutadores devem ser substituídos por transistores. Como não há transistor para forçar um zero lógico na entrada de transferência ao selecionar funções lógicas, é necessário aplicar manualmente zero a essa entrada nesses casos.

Embora a figura mostre apenas 7 funções, você pode tentar todas as 16 combinações de posições do comutador. Em particular, as funções AND-NOT, OR-NOT, EXCLUSIVE OR-NOT, transmissão do sinal B através e através da inversão do mesmo sinal serão obtidas.

A simulação pode trazer surpresas. Você sabia que um transistor bipolar pode funcionar ao passar corrente por ele na direção oposta? Isso acontece com algumas combinações de sinais de entrada. Em um amplificador analógico, o ganho é reduzido, mas os circuitos lógicos continuam a funcionar da mesma maneira que no modo normal.

A tensão de alimentação é de +5 V. No simulador, os transistores da estrutura NPN de aplicação geral são selecionados.

O somador é obtido através da transferência. O sinal de transferência deve passar pelos transistores T8 e T9. Se isso for muito lento, você deve primeiro verificar como o circuito conectado ao emissor do transistor T8 afeta a operação do circuito. A transferência também pode ser feita mais rapidamente se você a executar por dois bits ao mesmo tempo.

Se for necessário apenas um somador completo, a lógica convencional de diodo-transistor (DTL) também é adequada. Você só precisa de dois transistores, mas de diodos ... Você pode substituir esses transistores por lâmpadas, obtém o que o autor chama de DVTL - diodo-vácuo-tubo-lógico.



A parte superior do circuito gera um sinal de transferência invertido. O segundo calcula a soma invertida: AMOUNT = ((A ou B ou C in) e / C out). Essa expressão também pode ser representada como (A e B e C in).

O diagrama de blocos é o seguinte:



Ao adicionar mais alguns componentes, você pode forçar zero ou um à entrada de transferência. Em seguida, o circuito poderá executar a operação AND (uma na entrada de transferência, zero na saída de transferência invertida) e também OR (zero na entrada de transferência, uma na saída de transferência invertida).

Para enviar um sinal "C invertido" para a entrada "C in" do circuito para o próximo bit, você precisa de um inversor de transistor. Ou você pode aceitar a regra segundo a qual a lógica direta e inversa alterna entre os bits.

Tudo isso pode ser transformado em uma ALU válida, calculando os resistores e adicionando componentes adicionais para otimizar a "capacidade de resposta" do circuito. Os dispositivos conectados às entradas devem conter chaves que as fechem ao terra (para as entradas do diodo “AND”) ou conectá-los à entrada da fonte de alimentação (para as entradas do diodo “OR”).

Este é um esquema muito simples, não implementa transferência rápida.

Source: https://habr.com/ru/post/pt448074/


All Articles