O documento discute a arquitetura de computadores, abordando tópicos como: 1) A necessidade de tradução entre linguagens de programação e linguagem de máquina através da compilação ou interpretação; 2) Como a abstração permite esconder a complexidade da plataforma do programador; 3) Por que algumas operações são implementadas em hardware e outras em software.
Ações de Controle Básica e Controladores Automáticos Industriais
Arquitetura de Computadores: Introdução à Arquitetura Pipeline
1. 1AULA :
Campus
Charqueadas
Arquiteturas Paralelas e
Distribuídas
Apresentado por: Cleber Schroeder Fonseca
Adaptado do material do Prof. Guilherme Ferreira
TSI-6AN
2. 2AULA :
Campus
Charqueadas
• Dado o esquema abaixo deseja-se que os dados lidos
da memoria passem por todos os nove pontos do
processador, utilizando o mínimo possível de fios
retos.
3. 3AULA :
Campus
Charqueadas
Solução
• Com essa solução, temos 5
retas
• Será que 5 é realmente o
número mínimo de retas?
• Pense um pouco mais!
6. 6AULA :
Campus
Charqueadas
Como funciona um computador
• Algoritmos implementados por um
programa
Escrito em uma
linguagem de
programação
Sequencia de
instruções
7. 7AULA :
Campus
Charqueadas
• Programadores se comunicam com o
computador através de uma linguagem de
computador.
• Para essa comunicação ocorrer é
necessário que seja utilizada uma
linguagem comum.
• Ou que seja utilizado um tradutor.
8. 8AULA :
Campus
Charqueadas
• Linguagens em geral
• É necessário uma tradução da linguagem
comum para o binário
9. 9AULA :
Campus
Charqueadas
Linguagem de
programação alto
nível
Montagem
Sistema
operacional
Macroprogramação
Compilação
Montador
Interpretação parcial
Interpretação
10. 10AULA :
Campus
Charqueadas
Microprogramação
Circuitos digitais
Só agora são executadas as
instruções
Interpretação
11. 11AULA :
Campus
Charqueadas
Tradução X Interpretação
• Existem linguagens que são compiladas
(traduzidas) e outras são interpretadas
• A tradução é feita apenas uma vez. Já a
interpretação é realizada quando o
programa é executado.
13. 13AULA :
Campus
Charqueadas
• O que aconteceria se não existissem
essas interpretações e compilações
• Para cada linguagem teria que criar uma
maneira de tratar uma instrução, e isso
seria diferente para cada processador
• No fim teríamos m*n formas de executar
um programa, dependendo da linguagem
e do processador
14. 14AULA :
Campus
Charqueadas
• Então a etapa de interpretação ou
compilação são necessárias para simplificar
a forma como são concebidos e executados
• Os processadores não precisam se
preocupar com que linguagem foi
desenvolvido e vice-versa
• Instruções complexas são reduzidas para
que sejam entendidas pelos processadores
16. 16AULA :
Campus
Charqueadas
• Os compiladores A, B, C e D não são
necessariamente diferentes, nem os
processadores
• O Java é diferente pois ele se disfarça.
18. 18AULA :
Campus
Charqueadas
• A adição e multiplicação são sempre
executados em nível de hardware pois o
desempenho é muito melhor
• Então por que não implementar tudo em
hardware?
• Custo é resposta. Se implementarmos as
operações mais sofisticadas em hardware
o custo computacional aumentaria demais
19. 19AULA :
Campus
Charqueadas
• Não são poucos os circuitos necessários
para implementar a soma e a
multiplicação, imagina implementar
programas complexos
• Por outro lado imaginem a perda de
tempo desnecessária que haveria se toda
vez tivéssemos de traduzir essa instrução
20. 20AULA :
Campus
Charqueadas
• Se ocorre algum problema físico com as
peças, como reparar?
• Software são mais baratos e, caso haja
algum erro, é muito mais facil localizar e
concertar
21. 21AULA :
Campus
Charqueadas
Processadores
• Sua função é executar programas
armazenados na memória principal,
buscando instruções, identificando e
executando as mesmas uma após a outra
• Unidade de controle
• Unidade Lógica Aritmética
• Registradores
22. 22AULA :
Campus
Charqueadas
• O processador executa as instruções
através de uma pequena sequência de
passos conhecida como o ciclo busca-
decodifica-executa
• Este ciclo é o centro das operações em
todos os processadores