Vous êtes sur la page 1sur 6

Unidade Central de Processamento

Origem: Wikipédia, a enciclopédia livre.

Uma CPU da Intel

A CPU (Central Processing Unit em inglês, ou Unidade Central de Processamento),


microprocessador ou Processador é a parte de um computador que interpreta e leva as
instruções contidas no software. Na maioria das CPUs, essa tarefa é dividida entre uma
unidade de controlo que dirige o fluxo do programa e uma ou mais unidades de
execução que executam operações em dados.

Quase sempre, uma colecção de registos é incluída para manter os operadores e


intermediar os resultados.

Quando cada parte de uma CPU está fisicamente em um único chip circuito integrado,
ela é chamada de microprocessador. Praticamente todas as CPUs fabricadas hoje são
microprocessadores.

O termo CPU é frequentemente usado de forma pouco precisa para incluir outras partes
importantes de um computador, tais como caches e controladores de entrada/saída,
especialmente quando aquelas funções estão no mesmo chip/microprocessador da CPU.

A função da CPU é reconhecer um conjunto básico de instruções utilizadas para


escrever programas que comandam o seu funcionamento, ou seja, que controlam toda a
operação e funcionamento do computador. A CPU é constituída pelos seguintes
componentes: A ALU (Unidade aritmética e lógica) e pela UC (Unidade de Controle) e
vários Registos.

Os fabricantes de computadores de mesa, com frequência descrevem como CPU o


computador pessoal inteiro, chamando-o de a unidade de sistema ou algumas vezes a
caixa branca, incluindo o gabinete do computador e os componentes sólidos (termo
genérico "hardware" em inglês) que ele contém. Com isso, a sigla CPU virou sinónimo
de gabinete, e deixando o seu antigo significado (Processador) para trás, hoje
processador é o hardware que executa os cálculos de uma máquina e CPU é a caixa
onde os hardwares fundamentais da máquina estão localizados. Uma família de
esquemas (ou desenho interno) de uma CPU é frequentemente referida como uma
"arquitectura de CPU".
A Unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é a
unidade central do processador (Central Processing Unit, ou simplesmente CPU), que
realmente executa as operações aritméticas e lógicas referenciadas pelos opcodes.

É, na verdade, uma "grande calculadora electró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.

A tecnologia utilizada foi inicialmente relés, herança da telefonia, e posteriormente


válvulas, herança da radiofonia. Com o aparecimento dos transístores, e depois dos
circuitos integrados, os circuitos da unidade aritmética e lógica passaram a ser
implementados 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, 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. Resumindo:

-A ULA executa operações aritméticas comuns.

-Também toma decisões lógicas, resolvendo sintaxes lógicas em uma programação.

Primeiro desenvolvimento

Em 1946, von Neumann trabalhou com seus colegas no projecto de um computador


para o Instituto de Estudos Avançados de Princeton (Princeton Institute of Advanced
Studies -IAS). O computador IAS se tornara o protótipo de muitos computadores. Na
proposta, von Neumann descreveu o que ele acreditava que 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 o computador calcularia operações
matemáticas básicas, incluindo adição, subtracção, multiplicação, e divisão. Ele então
achava que isso era razoável que um computador deveria conter órgão especializados
para essas operações.

Sistemas numéricos

Uma ULA deve processar números usando o mesmo formato que o resto do circuito
digital. Nos modernos processadores, que quase sempre é o número binário em
representação de complemento para dois. Os primeiros computadores usavam uma
grande variedade de sistemas numéricos, incluindo os formatos complemento para um,
sinal-magnitude e mesmo o sistema decimal. ULAs para cada um desses sistemas
numéricos tinham diferentes projectos, e influenciou a actual preferência pelo
complemento para dois, e essa é a representação que é a mais fácil para a ULA calcular
adições e subtracções.

Visão geral prática

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

Muitas das acções dos computadores são executadas pela ULA. Esta recebe dados dos
registadores, que são processados e os resultados da operação são armazenados nos
registadores de saída. Outros mecanismos movem os dados entre esses registadores e a
memória. Uma unidade de controlo controla a ULA, através de circuitos que dizem que
operações a ULA deve realizar.

Operações simples

Muitas ULA 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 para esquerda ou direita, com ou sem sinal).

Deslocamentos podem ser interpretados como multiplicações ou divisões por 2.


Operações complexas

Um engenheiro pode projectar uma ULA para calcular qualquer operação, no entanto
isso gera complexidade; o problema é que quanto mais complexa a operação, mais cara
é a ULA, mais espaço utiliza do processador e mais dissipa energia. Então, engenheiros
sempre calculam um compromisso entre o poder de processamento e a sua
complexidade, 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:

1. Projectar 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. Projectar uma ULA bastante complexa que calcula a raiz quadrada de qualquer número
em vários passos. Mas, existe um truque, os resultados intermediários vão através de
uma série de circuitos arranjados em linha, como numa linha de produção. Que faz com
que a ULA seja capaz de aceitar novos números para cálculo antes mesmo de terminar o
cálculo dos anteriores. Isso faz com que a ULA seja capaz de produzir números tão
rápido como cálculos em passo-único de relógio, com um atraso inicial até os números
começarem a sair. Isso é chamado cálculo em pipeline.
3. Projectar uma ULA complexa que calcula a raiz quadrada através de vários passos. Isso
é chamado de cálculo interactivo, e usualmente confia no controle de uma complexa
unidade de controlo com microcódigo.
4. Projectar uma ULA simples no processador e vender separadamente um processador
especializado e 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 o cálculo da raiz quadrada, faz o processador verificar se há co-processador
presente e o utiliza se está ali; se não há, interrompe o programa e invoca o sistema
operativo para realizar o cálculo da raiz 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 o mais simples computador pode calcular a mais complexa fórmula, os
computadores mais simples vão usualmente levar mais tempo fazendo isso porque
levam vários passos para calcular a fórmula. Processadores poderosos como Intel Core e
AMD64 utilizam a opção #1 para as operações mais simples, #2 para as operações
complexas mais comuns e #3 para as operações extremamente complexas. Isso é
possível através da construção de ULAs muito complexas nesses processadores.

Entradas e Saídas

As entradas para a ULA são os dados a serem operados (chamados operandos) e o


código da unidade de controlo indicando as operações para executar. As saídas são os
resultados da computação.

Em muitos projectos a ULA também leva ou gera as entradas ou saídas um conjunto de


códigos de condições de ou para um registo de status. Esses códigos são usados para
indicar casos como vai-um (empresta-um), (em inglês) overflow, divisão-por-zero.
ULA vs. UPF

Uma Unidade de ponto flutuante também realiza operações aritméticas entre dois
valores, mas eles realizam isso com número em representação de ponto flutuante, que é
muito mais complexa que a complemento para dois. Para fazer esses cálculos, uma UPF
tem vários circuitos complexos, incluindo algumas ULAs internas. Usualmente
engenheiros chamam uma ULA o circuito que realiza operações aritméticas com
números inteiros em complemento para dois ou BCD, enquanto circuitos que calculam
em formatos como ponto flutuante usualmente recebem esse ilustre nome.
Byte
Origem: Wikipédia, a enciclopédia livre.

Múltiplos de bytes
Prefixo binário (IEC) Prefixo do SI
Nome Símbolo Múltiplo Nome Símbolo Múltiplo
byte B 20 byte B 100
kibibyte(quilobyte) KiB 210 quilobyte kB 103
mebibyte(megabyte) MiB 220 megabyte MB 106
gibibyte(gigabyte) GiB 230 gigabyte GB 109
tebibyte(terabyte) TiB 240 terabyte TB 1012
pebibyte(petabyte) PiB 250 petabyte PB 1015
exbibyte(exabyte) EiB 260 exabyte EB 1018
zebibyte(zettabyte) ZiB 270 zettabyte ZB 1021
yobibyte(yottabyte) YiB 280 yottabyte YB 1024

Um byte é um dos tipos de dados integrais em computação. É usado com frequência


para especificar o tamanho ou quantidade da memória ou da capacidade de
armazenamento de um computador, independentemente do tipo de dados armazenados.

A codificação padronizada de byte foi definido como sendo de 8 bits. O byte de 8 bits é,
por vezes, também chamado de octeto, nomeadamente no contexto de redes de
computadores e telecomunicações.

A uma metade de um byte, dá-se o nome de nibble ou semioctecto.

Para os computadores, representar 256 números binários é suficiente. Por isso, os bytes
possuem 8 bits. Basta fazer os cálculos. Como um bit representa dois valores (1 ou 0) e
um byte representa 8 bits, basta fazer 2 (do bit) elevado a 8 (do byte) que é igual a 256.

Note que um byte nada tem de especial, é apenas um número binário de oito algarismos.
Sua importância na informática deriva apenas do fato do código ASCII haver adoptado
números de oito bits, além de razões meramente construtivas ou operacionais. Por
exemplo: os códigos enviados a impressoras para controlar a impressão têm oito bits, os
valores trocados pelos modems entre computadores também, assim como diversas
outras operações elementares de intercâmbio de informações. Além disso, memórias
costumam ser organizadas de tal forma que as operações de leitura e escrita são feitas
com quantidades de um byte ou de um múltiplo de bytes (oito, dezasseis, trinta e dois,
sessenta e quatro ou cento e vinte e oito bits – o que corresponde a um, dois, quatro, oito
e dezasseis bytes, respectivamente).

Segundo norma da IEC, lançada em 2000, foi definida uma nova nomenclatura para
dados de base dois em substituição a nomenclatura usada erroneamente de base dez
separando a confusão causada entre proporção 1:1000 ou 1:1024.

Vous aimerez peut-être aussi