foram construidos.O matematico John von Neumann propos o conceito de ULA em 1945, quando escreveu um relatorio sobre os fundamentos para um novo computador chamado EDVAC. A tecnologia utilizada foi inicialmente reles, heranca da telefonia, e posteriormente valvulas, heranca da radiofonia. Com o aparecimento dos transistores, e depois dos circuitos integrados, os circuitos da unidade aritmetica e logica passaram a ser implementados com a tecnologia de semi-condutores.A ULA executa as principais operacoes logicas e aritmeticas do computador. Ela soma, subtrai, divide, determina se um numero e positivo ou negativo ou se e zero. Alem de executar funcoes aritmeticas, uma ULA deve ser capaz de determinar se uma quantidade e menor ou maior que outra e quando quantidades sao iguais. A ULA pode executar funcoes logicas com letras e com numeros. Resumindo: A ULA executa operacoes aritmeticas comuns. Tambem toma decisoes logicas, resolvendo sintaxes logicas em uma programacao.Unidade de ControleA Unidade de controle e responsavel por gerar todos os sinais que controlam as operacoes no exterior do CPU, e ainda por dar todas as instrucoes para o correto funcionamento interno do CPU; a apoia-la/o tera a colaboracao de uma outra estrutura/ator (o decodificador de instrucoes). A unidade de controle executa tres acoes basicas intrinsecas e pre-programadas pelo proprio fabricante do processador, sao elas: busca (fetch), decodificacao e execucao.Assim sendo, todo processador, ao iniciar sua operacao, realiza uma operacao ciclica, tendo como base essas tres acoes. Dependendo do tipo de microprocessador, a unidade de controle pode se ser fixa ou programavel. A unidade fixa e aquela unidade que ja vem com todo o conjunto de instrucao programado em uma PLA que e construida pelo fabricante,dentro da UC. Por exemplo: os microprocessadores 8080/8085/Z80/6800/6502 possuem unidade de controle fixa. Um exemplo de unidade de controle programavel pode ser visto nos processadores conhecidos como Bit Slices, essa arquitetura, alem de permitir a construcao das partes do computador usando modulos basicos Bit slices, permite ao projetista de hardware programar seu proprio conjunto de instrucoes.Inicialmente, a UC de controle fornece o endereco de memoria de onde deve retirar um byte ou mais, conhecido como chunk, esse chunk pode conter um codigo de operacao-opcode, ou um operando tambem conhecido como dado. Lembre-se, na primeira posicao de memoria deve sempre ser gravado um opcode, pois so o opcode pode informar para a UC qual acao deve ser tomada depois.Alem de controlar a posicao de memoria que contem a instrucao corrente que o computador esta executando a UC, ao decodificar o opcode, informa a ULA qual operacao a executar: soma ou subtracao nos processadores de 8 bits. Nos processadores de 16 bits podem ser efetuadas as instrucoes de soma, subtracao, divisao e multiplicacao.Em adicao a essas operacoes que chamamos de aritmeticas, a partir da decodificacao do opcode, a UC tem a capacidade de realizar operacoes que denominamos operacoes logicas, onde se incluem: E, Ou, Xor, comparacao, deslocamento de bits para a direita e para a esquerda. Essas operacoes sao basicamente as mesmas para grande maioria de microprocessadores que existem no mercado. Contudo, cada fabricante atribui a cada uma delas um mnemonico diferente,