ARQUITETURA DE COMPUTADORES Elementos básicos de uma Arquitetura Computacional Prof.: Mauri José Klein
ELEMENTOS Uma memória; Uma unidade aritmética e lógica (ALU); Uma unidade central de processamento (CPU), composta por diversos registradores; Uma Unidade de Controle (CU), cuja função é a mesma da tabela de controle da Máquina de Turing universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada.
MEMÓRIA A memória é um termo usado para designar as partes de um computador ou dos dispositivos periféricos onde os dados e programas são armazenados, ou seja, a memória é, e define-se por todos os dispositivos que permitem a um computador guardar dados, temporariamente ou permanentemente. Memória é assim, um termo genérico para designar componentes de um sistema capazes de armazenar dados e programas. Desta forma, sem uma memória de onde os processadores possam ler e escrever informações não haveria nenhum computador digital de programa armazenado.
MEMÓRIA A memória do computador pode ser dividida em três tipos: Memória Secundária; HD Armazenamento de massa, onde os dados podem ser recuperados mesmo depois que a energia tenha sido interrompida; Memória Principal; RAM Armazena dados temporariamente até que o processo seja encerrado (relativamente lenta); Memória Cache; Armazena dados temporariamente até que o processo seja encerrado (Mais rápida); Memória Registradora; A mais veloz e a mais cara;
ULA A unidade lógica e aritmética (ULA) é 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.
Uma simples ULA de 2-bit que faz AND, OR, XOR e adição...
ULA - 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 para esquerda ou direita, com ou sem sinal); deslocamentos podem ser interpretados como multiplicações ou divisões por 2.
DESLOCAMENTO DE BITS Exemplos: a) 48 / 8 = / = b) 36 / 4 = / = c) 53 x 32 = x = d) 29 x 64 = x =
OPERAÇÕES COMPLEXAS Um engenheiro pode projetar 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.
CENÁRIO HIPOTÉTICO um cenário, onde é preciso calcular a raiz quadrada. O engenheiro teria as seguintes opções:
CENÁRIO HIPOTÉTICO 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.
CENÁRIO HIPOTÉTICO 2- Projetar 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.
CENÁRIO HIPOTÉTICO 3 - Projetar uma ULA complexa que calcula a raiz quadrada através de vários passos. Isso é chamado de cálculo iterativo, e usualmente confia no controle de uma complexa unidade de controle com microcódigo.
CENÁRIO HIPOTÉTICO 4 - Projetar 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.
CENÁRIO HIPOTÉTICO 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.
CENÁRIO HIPOTÉTICO 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 operacional para realiza o cálculo da raiz através de algum algoritmo de software. Isso é chamado de emulação de software.
CENÁRIO HIPOTÉTICO As opções anteriores 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.
PROCESSADOR - CPU O processador é a unidade central de processamento de computador ou sistema computacional. É um circuito integrado que executa instruções de máquina, realizando diversos cálculos e tomadas de decisão. É o cérebro do computador, pois qualquer tarefa é executa por ele. Assim, processa os dados que recebe, transformando-os em outros dados que chamamos de informação.
PROCESSADOR - CPU Um programa, para ser executado pelo processador, deve ser constituído de uma série de instruções de máquina armazenadas em células sucessivas da MP. O ciclo de instrução da CPU consiste em: 1. Buscar uma instrução na memória (operação de leitura), uma de cada vez; 2. Interpretar que operação a instrução está explicitando. 3. Buscar os dados onde estiverem armazenados, para trazê-los até a CPU; 4. Executar efetivamente a operação com os dados, guardar o resultado (se houver algum) no local definido na instrução; e 5. Reiniciar o processo buscando uma nova instrução.
PERIFÉRICOS Periféricos são aparelhos ou placas que enviam ou recebem informações do computador. Na informática, o termo "periférico" aplica-se a qualquer equipamento acessório que seja ligado à CPU, ou, num sentido mais amplo, ao computador.cada periférico tem a sua função definida, desempenhada ao enviar tarefas ao computador, de acordo com sua função periférica.
PERIFÉRICOS Existem vários tipos de periféricos: De entrada: basicamente enviam informação para o computador (teclado, mouse, digitalizador); De saída: transmitem informação do computador para o utilizador (monitor, impressora, caixa de som); De armazenamento: armazenam informações do computador e para o mesmo (pendrive, disco rígido, cartão de memória, etc).
BARRAMENTOS São os canais de dados do processador. Os barramentos são controlados pela UC para que somente um dado passe pelo barramento a cada ciclo. A largura ou o tamanho do barramento é medida pelo número de bits dos dados que passam pelo barramento.
PRINCIPAIS TIPOS DE BARRAMENTO
Barramento de dados como o próprio nome já deixa a entender, é por este tipo de barramento que ocorre as trocas de dados no computador, tanto enviados quanto recebidos. Barramento de endereços indica o local onde os processos devem ser extraídos e para onde devem ser enviados após o processamento. Barramento de controle atua como um regulador das outras funções, podendo limitá-las ou expandi-las em razão de sua demanda.