Arquiteturas de Computadores: Von Neumann, Harvard, RISC, CISC e DSP
Classificado em Computação
Escrito em em português com um tamanho de 4,85 KB.
Arquiteturas de Computadores
Características Ineficientes da Arquitetura de Von Neumann
1. Programas e dados são armazenados em uma única memória sequencial, o que pode criar um retardo na operação do sistema.
2. Não há distinção explícita na representação entre dados e instruções.
3. Ambientes de linguagem de programação de alto nível utilizam várias estruturas de dados, mas a memória possui apenas uma dimensão, logo tais estruturas devem ser linearizadas.
4. A representação dos dados não retém nenhuma informação quanto ao tipo de dado armazenado.
Melhorias:
1. Essa arquitetura fornece caminhos independentes para dados de endereços, dados, endereços de instruções e instruções. Isso permite à CPU acessar instruções e dados ao mesmo tempo.
2. Otimizações mais recentes concentram-se no aumento de velocidade da estrutura de hardware básico.
Comparação entre I2C e SPI
I2C:
- Possui duas vias de comunicação: SDA (Dados) e SCL (Clock).
- Todo dispositivo possui um endereço único no barramento, independente da sua natureza.
- Qualquer dispositivo conectado pode operar como transmissor ou receptor.
- Capacitância máxima de 400pF, gerando 8 dispositivos normalmente.
SPI:
- Possui quatro sinais: MOSI (Master Out Slave In), MISO (Master In Slave Out), SCLK (Serial Clock) e SS (Slave Select).
- Permite que um mestre se comunique com vários escravos.
- Permite velocidade de comunicação mais alta que o I2C.
- É um barramento full duplex.
Classificação e Explicação das Memórias quanto aos Métodos de Acesso
1. Sequencial: Começa no início e lê em ordem. Tempo de acesso depende da localização dos dados e da localização anterior.
2. Direto: Blocos individuais possuem endereço exclusivo. Acesso saltando para a vizinhança e busca sequencial. Tempo de acesso igual ao anterior.
3. Aleatório: Endereços individuais identificam localizações com exatidão. Tempo de acesso independe do local ou acesso anterior.
4. Associativo: Dados são localizados por uma comparação com o conteúdo de uma parte do armazenamento. Tempo de acesso independe do local ou acesso anterior.
Diferenças entre as Arquiteturas Von Neumann e Harvard
Von Neumann: Constituída pela ULA (Unidade Lógica e Aritmética), Unidade de Memória, Unidade de Controle e Unidade de Entradas e Saídas. Todos esses componentes são interconectados através de uma estrutura de vários barramentos onde os dados trafegam. Porém, este modelo requer um mapeamento excessivo por parte dos compiladores para gerar o código executável para um hardware quando o programa é escrito em linguagem de alto nível.
Harvard: Possui armazenamentos de dados e instruções separados. Atualmente, elas usam a mesma memória, porém possuem caminhos e armazenadores temporários diferentes para acessar dados e instruções simultaneamente.
Funcionamento da Memória Cache
Permite um acesso muito mais rápido. Início -> recebe endereço RA (Return Address) da CPU -> bloco contendo RA está na cache? Se sim -> Busca palavra RA e entrega à CPU -> Fim. Se não -> Acessa memória principal para bloco contendo RA -> Aloca linha da cache para bloco de memória principal -> Carrega bloco da memória principal na linha de cache e entrega a palavra RA à CPU -> Fim.
Quatro Diferenças entre RISC e CISC
CISC:
- Poucas linhas de comando.
- Mais rápida para compilar.
- Conjunto de instruções muito grande.
- As instruções complexas eram melhores porque podiam ser executadas em um hardware em paralelo.
- O problema dessa arquitetura é a manutenção da compatibilidade.
RISC:
- Conjunto de instruções pequeno.
- Se precisar de instruções mais complexas, o programador deve escrever toda a rotina.
- Principal motivação é iniciar as instruções a cada ciclo, o que leva à execução mais rápida do programa.
Características do DSP que o Tornam Mais Eficiente que GPP
São microprocessadores especializados em processamento digital de sinais. Têm a capacidade de repetir em extrema velocidade uma instrução complexa. Possuem hardware adicional como unidade de ponto flutuante. Os GPPs (Processadores de Propósito Geral) não têm unidade de ponto flutuante e não têm multiplicador de ponto flutuante, além de possuir baixo desempenho.