Sistemas de Computadores: uma breve revisão!

Propaganda
Sistemas Embebidos I
Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores
Licenciatura em Engenharia Informática e de Computadores
Mestrado em Engenharia Informática e de Computadores
© 2008- 2013, Tiago Miguel Dias
ADEETC - Secção de Arquitecturas e Sistemas Operativos
I. Sistemas de Computadores: uma breve revisão
1. Características gerais dos sistemas de computadores
 Um computador é um sistema digital programável através de uma sequência de
instruções guardadas em memória que especificam a sequência de operações de
manipulação de dados que deve ser executada.
 Os computadores modernos baseiam-se no modelo de Von Neuman que usa a mesma
memória para guardar as instruções e os dados. Este modelo foi proposto na década de
40 e apresenta como principal vantagem a hipótese de se poder tratar as instruções
como dados.
 Principais componentes:
 Processador (CPU)
Responsável pelo processamento das instruções, sendo composto por um circuito de
controlo e outro de processamento de dados.
 Memória
Guarda os dados necessários para o funcionamento do processador.
 Portos E/S
Possibilitam a interacção com o mundo exterior ao computador.
© 2008- 2013, Tiago Miguel Dias
ADEETC - Secção de Arquitecturas e Sistemas Operativos
2
I. Sistemas de Computadores: uma breve revisão
2. Evolução dos sistemas de computadores
 A evolução nos sistemas de computadores, e em particular dos processadores, tem
decorrido a um ritmo alucinante e deve-se fundamentalmente a avanços em três áreas
distintas:
 Tecnologia de implementação
 Arquitectura do computador
 Organização do computador
 Estes avanços permitiram não só diminuir o tamanho e consumo de potência dos
computadores, mas também aumentar o seu desempenho e frequência de trabalho,
para além de minimizar o custo destes sistemas.
1940
© 2008- 2013, Tiago Miguel Dias
ADEETC - Secção de Arquitecturas e Sistemas Operativos
2000
3
I. Sistemas de Computadores: uma breve revisão
3. Arquitectura vs Organização
 Arquitectura do computador
Caracterização do sistema visto pelo programador/utilizador, ou seja, conjunto de
instruções, registos, modelo de excepções, gestão de memória, …
 Organização do computador
Caracterização da implementação física, ou seja, a estrutura do pipeline, cache, …
Arquitectura
Organização
ARM7TDMI
(ARM)
ARM
(ARM)
ARM9TDMI
(ARM)
StrongARM SA-1
(Intel)
Processor Core
© 2008- 2013, Tiago Miguel Dias
ADEETC - Secção de Arquitecturas e Sistemas Operativos
LPC2106
(NXP)
ARM920T
(ARM)
DragonBall MX1
(Motorola)
StrongARM SA-110
(Intel)
StrongARM SA-1100
(Intel)
CPU Core: processor core
+ Cache + MMU + interfaces
Microcontrolador/
System-on-chip
4
I. Sistemas de Computadores: uma breve revisão
3. Classes de processadores
 Microprocessadores
Chips com grande escala de integração onde são implementados os CPUs.
 Uso genérico - Máquina de estados que executa comandos/instruções guardados
num banco de memória. Cada estado é definido pelos valores guardados em
memória e no conjunto de registos associados ao CPU. As instruções definem a
forma de evolução dos estados, bem como a próxima instrução a ser executada.
 DSPs – Processadores dedicados com instruções e unidades funcionais optimizadas
para o processamento digital de sinal. Exemplos: Família TMSC320 da Texas.
 Microcontroladores
Processadores destinados ao controlo de sistemas electrónicos autónomos e de custo
reduzido que incluem num único chip o CPU, memória e periféricos. Constituem 90%
do mercado de vendas de processadores.
 Convencionais – Dispositivos de 4 ou 8-bit. Exemplos: Intel 8051, família AVR da
ATMEL e Motorola 6811.
 Avançados – Dispositivos de 32-bit com maior desempenho e gerações mais
avançadas de periféricos. Exemplos: Intel 8096 e ARMxTDMI.
© 2008- 2013, Tiago Miguel Dias
ADEETC - Secção de Arquitecturas e Sistemas Operativos
5
I. Sistemas de Computadores: uma breve revisão
4. Evolução para RISC
 Até à década de 80 a evolução dos processadores assentou fundamentalmente no
aumento do conjunto de instruções dos CPUs, por forma a otimizar a tradução dos
programas descritos em linguagem de alto nível para linguagem máquina
(compiladores muito pouco eficientes).
 Estes processadores (CISC) tinham um conjunto de instruções vasto, o que dificultava
a sua aprendizagem e os tornava pouco eficientes. Tinham elevado consumo de
potência e a sua implementação em IC consumia grandes áreas de silício.
 Maximizar o desempenho de um
processador implica otimizar o
desempenho das suas unidades
funcionais, nomeadamente as que
são usadas com maior frequência.
© 2008- 2013, Tiago Miguel Dias
ADEETC - Secção de Arquitecturas e Sistemas Operativos
Tipo de Instrução
Utilização Média
Transferência de dados
43%
Controlo
23%
Operações Aritméticas
15%
Comparações
13%
Operações Lógicas
5%
Outras
1%
6
I. Sistemas de Computadores: uma breve revisão
5. Conceito de RISC (Reduced Instruction Set Computer)
 Classe de arquitecturas de processadores caracterizadas por um conjunto de instruções
reduzido e unidades funcionais optimizadas para a sua execução.
 Características típicas:
 Arquitectura Load-Store (uma instrução acede à memória para ler/escrever dados);
 Conjunto de instruções reduzido e de dimensão fixa (32-bit);
 Banco de registos uniforme e de elevada dimensão (16/32 registos de uso geral);
 Espaço de endereçamento único (E/S mapeadas no mapa de memória);
 Instruções executadas num único ciclo de relógio.
 Vantagens
 Ciclo de desenvolvimento mais curto e económico;
 Melhor desempenho (descodificação de instruções em hardware, unidades
funcionais optimizadas, pipelinig, uso de cache, …);
 Consumo de potência reduzido.
© 2008- 2013, Tiago Miguel Dias
ADEETC - Secção de Arquitecturas e Sistemas Operativos
7
Download