Unidade Lógica e Aritmética – Wikipédia, A Enciclopédia Livre

4
19/10/2015 Unidade lógica e aritmética – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica 1/4 Um símbolo esquemático típico para uma ULA, onde "A" e "B" são operandos, "R" é a saída, "F" é a entrada da unidade de controle e "D" é a saída de status Unidade lógica e aritmética Origem: Wikipédia, a enciclopédia livre. A unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é um circuito digital que realiza operações lógicas e aritméticas. A ULA é uma peça fundamental da unidade central de processamento (CPU), e até dos mais simples microprocessadores. É na verdade, uma "grande calculadora eletrônica" do tipo desenvolvido durante a II Guerra Mundial, e sua tecnologia já estava disponível quando os primeiros computadores modernos foram construídos. O matemático John von Neumann propôs o conceito de ULA em 1945, quando escreveu um relatório sobre os fundamentos para um novo computador chamado EDVAC. Pesquisas sobre ULAs ainda são uma parte importante da ciência da computação. A tecnologia utilizada foi inicialmente relés, herança da telefonia, e posteriormente válvulas, herança da radiofonia. Com o aparecimento dos transistores, e depois dos circuitos integrados, os circuitos da unidade aritmética e lógica passaram a ser implementados com a tecnologia de semicondutores. A ULA executa as principais operações lógicas e aritméticas do computador. Ela soma, subtrai, divide, determina se um número é positivo ou negativo ou se é zero. Além de executar funções aritméticas, uma ULA deve ser capaz de determinar se uma quantidade é menor ou maior que outra e quando quantidades são iguais. A ULA pode executar funções lógicas com letras e com números. Índice 1 Primeiro desenvolvimento 2 Sistemas numéricos 3 Visão geral prática 3.1 Operações simples 3.2 Operações complexas 3.3 Entradas e saídas 3.4 ULA vs. UPF 4 Referências Primeiro desenvolvimento

description

unidade logica e aritmética

Transcript of Unidade Lógica e Aritmética – Wikipédia, A Enciclopédia Livre

19/10/2015 Unidade lógica e aritmética – Wikipédia, a enciclopédia livre

https://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica 1/4

Um símbolo esquemático típico para uma ULA,onde "A" e "B" são operandos, "R" é a saída, "F" éa entrada da unidade de controle e "D" é a saída destatus

Unidade lógica e aritméticaOrigem: Wikipédia, a enciclopédia livre.

A unidade lógica e aritmética (ULA) ou em inglêsArithmetic Logic Unit (ALU) é um circuito digitalque realiza operações lógicas e aritméticas. A ULA éuma peça fundamental da unidade central deprocessamento (CPU), e até dos mais simplesmicroprocessadores. É na verdade, uma "grandecalculadora eletrônica" do tipo desenvolvido durantea II Guerra Mundial, e sua tecnologia já estavadisponível quando os primeiros computadoresmodernos foram construídos.

O matemático John von Neumann propôs o conceitode ULA em 1945, quando escreveu um relatóriosobre os fundamentos para um novo computadorchamado EDVAC. Pesquisas sobre ULAs ainda sãouma parte importante da ciência da computação.

A tecnologia utilizada foi inicialmente relés, herançada telefonia, e posteriormente válvulas, herança daradiofonia. Com o aparecimento dos transistores, edepois dos circuitos integrados, os circuitos da unidade aritmética e lógica passaram a serimplementados com a tecnologia de semi­condutores.

A ULA executa as principais operações lógicas e aritméticas do computador. Ela soma, subtrai, divide,determina se um número é positivo ou negativo ou se é zero. Além de executar funções aritméticas, umaULA deve ser capaz de determinar se uma quantidade é menor ou maior que outra e quando quantidadessão iguais. A ULA pode executar funções lógicas com letras e com números.

Índice

1 Primeiro desenvolvimento2 Sistemas numéricos3 Visão geral prática

3.1 Operações simples3.2 Operações complexas3.3 Entradas e saídas3.4 ULA vs. UPF

4 Referências

Primeiro desenvolvimento

19/10/2015 Unidade lógica e aritmética – Wikipédia, a enciclopédia livre

https://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica 2/4

Em 1946, von Neumann trabalhou com seus colegas no projeto de um computador para o Instituto deEstudos Avançados de Princeton (Princeton Institute of Advanced Studies ­IAS). O computador IAS setornara o protótipo de muitos computadores. Na proposta, von Neumann descreveu o que ele acreditavaque seria preciso na sua máquina, incluindo uma ULA.

Von Neumann disse que a ULA era uma necessidade para o computador porque ela garantiria que ocomputador calcularia operações matemáticas básicas, incluindo adição, subtração, multiplicação, edivisão..[1] Ele então achava razoável que um computador contivesse um órgão especializado para essasoperações.[1]

Sistemas numéricos

Ver também: Representação de números com sinal

Uma ULA deve processar números usando o mesmo formato que o resto do circuito digital. Osprocessadores modernos utilizam em maioria a representação binária de complemento para dois. Osprimeiros computadores usavam uma grande variedade de sistemas numéricos, incluindo os formatoscomplemento para um, sinal­magnitude e mesmo o sistema decimal.[carece de fontes?]

Os sistemas numéricos de complemento para um e complemento para dois permitem que a subtraçãoseja realizada pela adição do minuendo com o complemento do subtraendo, simplificando o circuitológico. Uma vantagem do complemento para dois em relação aos outros sistemas é que a representaçãopossui apenas um zero, não possuindo um "zero negativo".

Visão geral prática

Muitas das ações dos computadores são executadas pela ULA. Esta recebe dados dos registradores, quesão processados e os resultados da operação são armazenados nos registradores de saída. Outrosmecanismos movem os dados entre esses registradores e a memória.[2] Uma unidade de controlecontrola a ULA, através de circuitos que dizem que operações a ULA deve realizar.

Operações simples

Muitas ULAs podem realizar as seguintes operações:

operações aritméticas com inteiros;operações lógicas bit a bit AND, NOT, OR, XOR;operações de deslocamento de bits (deslocamento, rotação por um número específico de bits paraesquerda ou direita, com ou sem sinal); deslocamentos podem ser interpretados comomultiplicações ou divisões por 2.

Operações complexas

Um engenheiro pode projetar uma ULA para calcular qualquer operação, no entanto isso geracomplexidade; o problema é que quanto mais complexa a operação, mais cara é a ULA, mais espaçoutiliza do processador e mais dissipa energia.

Então, engenheiros sempre calculam um compromisso entre o poder de processamento e a suacomplexidade, satisfazendo aos requisitos do processador ou de outro circuito. Imagine um cenário,onde é preciso calcular a raiz quadrada. O engenheiro teria as seguintes opções:

19/10/2015 Unidade lógica e aritmética – Wikipédia, a enciclopédia livre

https://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica 3/4

Uma simples ULA de 2­bit que faz AND, OR, XOR, e adição (cliquena imagem para explicação)

1. Projetar uma ULA extremamente complexa que calcula a raiz quadrada de qualquer número numúnico passo. Isso é chamado cálculo em passo­único de clock.

2. Projetar uma ULA bastante complexa que calcula a raiz quadrada de qualquer número em váriospassos. Mas, existe um truque, os resultados intermediários vão através de uma série de circuitosarranjados em linha, como numa linha de produção. Que faz com que a ULA seja capaz de aceitarnovos números para cálculo antes mesmo de terminar o cálculo dos anteriores. Isso faz com que aULA seja capaz de produzir números tão rápido como cálculos em passo­único de relógio, comum atraso inicial até os números começarem a sair. Isso é chamado cálculo em pipeline.

3. Projetar uma ULA complexa que calcula a raiz quadrada através de vários passos. Isso é chamadode cálculo iterativo, e usualmente confia no controle de uma complexa unidade de controle commicrocódigo.

4. Projetar uma ULA simples no processador e vender separadamente um processador especializadoe caro que o consumidor possa instalá­lo ao lado desse, realizando uma das opções acima. Isso échamado de co­processador.

5. Dizer aos programadores que não há nenhum co­processador e que não há nenhuma emulação,assim eles tem que escrever seus próprios algoritmos para calcular a raiz quadrada por software.Isso é chamado de bibliotecas de software.

6. Emular a existência de um co­processador, ou seja, sempre que um programa tenta realizar ocálculo da raiz quadrada, faz o processador verificar se há co­processador presente e o utiliza seestá ali; se não há, interrompe o programa e invoca o sistema operacional para realiza o cálculo daraiz através de algum algoritmo de software. Isso é chamado de emulação de software.

As opções acima vão desde a mais rápida e cara até a mais lenta e mais complicada. Então, enquanto omais simples computador pode calcular a mais complexa fórmula, os computadores mais simples vãousualmente levar mais tempo fazendo isso porque levam vários passos para calcular a fórmula.

Processadores poderosos como IntelCore e AMD64 utilizam a opção #1para as operações mais simples, #2para as operações complexas maiscomuns e #3 para as operaçõesextremamente complexas. Isso épossível através da construção deULAs muito complexas nessesprocessadores.

Entradas e saídas

As entradas para a ULA são os dadosa serem operados (chamadosoperandos) e o código da unidade decontrole indicando as operações paraexecutar. As saídas são os resultadosda computação.

Em muitos projetos a ULA tambémleva ou gera as entradas ou saídas deum conjunto de códigos de condiçõesou de um registrador de estado. Essescódigos são usados para indicarcasos como vai­um (empresta­um),overflow, divisão­por­zero etc.[3]

19/10/2015 Unidade lógica e aritmética – Wikipédia, a enciclopédia livre

https://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica 4/4

ULA vs. UPF

Uma Unidade de ponto flutuante também realiza operações aritméticas entre dois valores, mas elesrealizam isso com número em representação de ponto flutuante, que é muito mais complexa que acomplemento para dois. Para fazer esses cálculos, uma UPF tem vários circuitos complexos, incluindoalgumas ULAs internas.

Usualmente engenheiros chamam uma ULA o circuito que realiza operações aritméticas com númerosinteiros em complemento para dois ou BCD, enquanto circuitos que calculam em formatos como pontoflutuante usualmente recebem esse ilustre nome.

Referências1. Stallings page 192. Stallings página 290­2913. Stallings page 290­291

Obtida de "https://pt.wikipedia.org/w/index.php?title=Unidade_lógica_e_aritmética&oldid=43207906"

Categorias: Circuitos digitais Unidade central de processamento Aritmética computacional

Esta página foi modificada pela última vez à(s) 23h22min de 24 de agosto de 2015.Este texto é disponibilizado nos termos da licença Creative Commons ­ Atribuição ­ CompartilhaIgual 3.0 Não Adaptada (CC BY­SA 3.0); pode estar sujeito a condições adicionais. Para maisdetalhes, consulte as Condições de Uso.