Harvard Architecture
On Janeiro 24, 2022 by adminGCSE Computer Architecture (14-16 anos)
- Uma apresentação de aula editável em PowerPoint
- Publicações de revisão editáveis
- Um glossário que cobre as terminologias-chave do módulo
- Masmos mentais tépidos para visualizar os conceitos-chave
- Cartões flash imprimíveis para ajudar os alunos a engajar a recordação ativa e a confiança…repetição baseada
- Um questionário com chave de resposta para testar o conhecimento e compreensão do módulo
A-Nível As características dos processadores contemporâneos (16-18 anos)
- Uma apresentação de aula editável em PowerPoint
- Publicações de revisão editáveis
- Um glossário que cobre as terminologias-chave do módulo
- Masmos mentais tépidos para visualizar os conceitos-chave
- Cartões flash imprimíveis para ajudar os alunos a envolverem-se activamente na recordação e confiança…repetição baseada
- Um questionário com chave de resposta para testar o conhecimento e compreensão do módulo
INTRODUÇÃO
Microcontroladores geralmente usam dois tipos de Arquitectura.
- Von Neumann Architecture
- Harvard Architecture
Von Neumann Architecture consiste em Unidade de Controlo, Unidade Aritmética e Lógica, Entrada/ Saída e Registos.
Von Neumann Architecture, que é usado por muitos microcontroladores, o espaço de memória está no mesmo bus e assim as instruções e dados pretendem usar a mesma memória. Ele usa o conceito de computador de programa armazenado.
Harvard Architecture consiste em Unidade de Lógica Aritmética, Memória de Dados, Entrada/saída, Memória de Dados, Memória de Instrução e Unidade de Controle.
Harvard Architecture, tem memória separada para dados e instruções. Dessa forma, tanto as instruções como os dados podem ser obtidos ao mesmo tempo, tornando-os confortáveis para os usuários.
Na Arquitetura de Harvard, as instruções são usadas na memória somente de leitura e, os dados são usados na memória de leitura-escrita.
A Arquitetura de Harvard é usada principalmente com CPU, mas é usada com a memória principal às vezes por ser um pouco complexa e cara.
O tamanho da memória tanto para as instruções quanto para os dados é diferente no caso da Arquitetura de Harvard. Os programas nunca podem correr automaticamente e a organização da memória não está nas mãos do utilizador. Podemos ver as várias características da Arquitectura de Harvard neste artigo.
EXEMPLOS DE ARQUITECTURA HARVARD
Um exemplo da Arquitectura de Harvard são os primeiros sistemas Mainframe de computadores onde as instruções são armazenadas num meio de programação como cartões perfurados e os dados são armazenados no outro [meios de programação como Fitas. Os resultados da arquitetura de Harvard são suas imagens correspondentes.
Máquinas de fluxo de dados e máquinas de redução também são exemplos da arquitetura de Harvard. Elas exibem uma alta taxa de paralelismo, o que significa que os resultados dos dados e instruções podem ser obtidos ao mesmo tempo.
Computadores quânticos também podem ser citados como um exemplo da Arquitetura de Harvard. A diferença entre outros computadores e o computador Quantum é que o tempo que necessitam para completar uma tarefa e a ordem em que priorizam seus timings.
Enigma Machines que foram usados em guerras mundiais também seguem a arquitetura de Harvard,
Yet outro exemplo principal da arquitetura de Harvard é o DIGITAL SIGNAL PROCESSOR, que é principalmente dependente do conceito da arquitetura de Harvard. Vejamos, como o DSP funciona em detalhe,
PROCESSOR DE SINAIS DIGITAIS
- Processadores de Sinal Digital são usados para transmitir dados e eles são usados para buscar múltiplas instruções ao mesmo tempo usando uma arquitetura de memória especializada e separar dados e memória de programa.
- DSP’s manipulam matematicamente os procedimentos tomando aspectos do mundo real como áudio, vídeo, voz, pressão e, digitalizá-los.
- Também são usados para realizar operações matemáticas como Adição, Subtração, Multiplicação e, Divisão. O processamento de sinais é essencial porque a informação que eles contêm deve ser exibida e analisada para que eles possam ser convertidos para outro sinal, para o formato que os usuários necessitam, para que eles o achem interessante.
- Analog to Digital Converters assumem o trabalho de converter os aspectos acima para sinais digitais em termos de 0’s e 1’s. O DSP então pega o sinal digitalizado e os processa.
- Pega os sinais digitalizados e os converte novamente para sinais analógicos usando o Conversor Analógico para Digital, tornando-o útil para o mundo real. A velocidade com que todos esses processos ocorrem é muito alta.
- Vejamos como o Processador de Sinais Digitais funciona em dispositivos Mp3. Ele geralmente leva as entradas através de receptores e as converte em um sinal digital (na forma de 0’s e 1’s) usando o Conversor Analógico-Digital. Após a fase de conversão, a codificação é efectuada e o ficheiro codificado é assim guardado na memória.
- Próximo vem a fase de descodificação, onde o ficheiro seria retirado da memória, convertido para sinais analógicos utilizando o Conversor Analógico Digital e, em seguida, a saída é recebida através do sistema de altifalantes. Este é o processo que acontece no dispositivo Mp3. Ele também executa funções complexas como o controle de volume, edição de freqüências e assim por diante.
- Um DPS pode ser usado pelo computador para controlar coisas como eficiência, transmissão, etc. Os sinais passam primeiro pela fase de processamento e depois pela fase de transmissão. A teleconferência utiliza sinais telefônicos para transmitir linhas de áudio e vídeo. A qualidade dos sinais pode ser manipulada ou improvisada para parecer melhor aos olhos do usuário. Ela será invisível aos olhos do usuário. Exemplo, cancelamento de eco em telefones.
- Embora os sinais no mundo real possam ser processados de forma analógica, estes sinais processados digitalmente podem ser transmitidos com alta velocidade e são muito precisos.
COMPONENTES DENTRO DE UM DSP
Processador de sinais digitais consiste nas seguintes partes:
Memória de programa:
Utiliza os dados processados e armazena o programa dentro da memória. É geralmente não volátil. Nesta memória de programa é utilizada a memória flash, onde é possível reprogramar usando uma interface de hardware. E a memória de programa geralmente usa o conceito de pilha.
Memória de dados:
Memória de dados é chamada Memória de Acesso Aleatório. É um lugar temporário para o armazenamento de variáveis e constantes durante a execução do programa. A quantidade de memória que é RAM, varia de um microcontrolador para outro.
Compute Engine:
Realiza operações matemáticas e recolhe dados e programas dos seus respectivos locais. Ele recolhe instruções da memória do programa e também recolhe dados da memória de dados.
Input/Output:
A técnica usada para transferir dados de um dispositivo externo e um microcontrolador chama-se Input/Output. O usuário se comunica com o microcontrolador através da Entrada/Saída. Os utilizadores introduzem os seus dados através do teclado do dispositivo de entrada, e recolhem a saída desejada a partir das impressoras ou discos rígidos do dispositivo externo. Estes dispositivos de Entrada/Saída são chamados periféricos e são os dispositivos mais comuns que são usados no sistema do microcontrolador.
ARQUITECTURA DO PROCESSOR DE SINAL DIGITAL
ARQUITECTURA DO SOFTWARE:
Os conjuntos de instruções usados no DSP são irregulares. Enquanto os conjuntos de instruções comuns são usados em operações regulares de um computador, os conjuntos DSP são usados em operações matemáticas especializadas.
Os programas de montagem são geralmente colocados em bibliotecas para reutilização, em vez disso, outras máquinas usam métodos de compilação para armazenar algoritmos essenciais. Muitos programas usados em DSP são geralmente escritos à mão, para facilitar a programação.
As instruções de dados incluem várias operações como instruções aritméticas, instruções booleanas, instruções lógicas e, instruções de fluxo.
O fluxo do programa consiste em arquitetura encanada e múltiplos acumuladores.
Arquitetura de Hardware:
Arquitetura de Hardware consiste em componentes físicos de um sistema. Geralmente, eles fornecem o espaço para outros sistemas caberem no dispositivo e também avaliam os outros componentes de software. Eles também fornecem espaço para o uso efetivo dos componentes de software. Eles combinam os vários setores da engenharia para trabalhar em conjunto e desenvolver novas máquinas e arquitetura.
No entanto, temos de perceber que os componentes de hardware não podem funcionar corretamente sem a ajuda de componentes de software. Se tomarmos as aeronaves modernas, por exemplo, temos que usar código embutido de software para fazê-lo rodar efetivamente.
ArQUITETURA MEMÓRIA:
Processadores de sinais digitais são geralmente usados para rodar dados e eles usam técnicas especializadas de memória para buscar dados e instruções separadamente em caminhos diferentes (o conceito de Arquitetura de Harvard) e dados e instruções são buscados no mesmo ônibus usado na Arquitetura Von Neumann.
A memória por vezes usava o armazenamento em cache para saber sobre as operações de atraso.
MEMÓRIA VIRTUAL:
DSP’s geralmente não usam memória virtual pois dependem de operações multi-tarefa. Operações que utilizam memória virtual geralmente utilizam o conceito de mudança de conceito que comprovadamente aumenta a latência.
MODERN DSP’S
Processadores de Sinais Digitais Modernos produzem resultados ainda melhores. Isto é devido ao design de baixo nível, cache avançado etc.
Cada DSP pode ser de diferentes velocidades. Existem muitos Processadores Digitais de Sinais com baixa velocidade projetados para realizar tarefas específicas.
XMOS produz muitos processadores micro core. Eles são facilmente programáveis usando a linguagem C.
SEVA é o DSP moderno que usa estrutura MAC.
Analog Devices uses SHARC based DSP system.
Microchip Technologies are used in PIC 24 images.
Maior parte dos valores aritméticos fixos do uso do DSP. DSP’s flutuantes podem tornar-se nulos em caso de valores dinâmicos. Muitos designers de produtos usam DSP’s flutuantes, se eles pensam que o dispositivo deve ser econômico, bem como em troca de software confiável para sistemas de hardware caros.
DSP’s modernos são geralmente usados em algoritmos facilmente implementáveis.
PROS E CONS OF DSP’S
PROS:
- São altamente precisos. Suas saídas têm alta precisão quando comparadas a dispositivos analógicos.
- Reorganizar dispositivos analógicos pode se tornar muito difícil. Em Processadores Digitais de Sinais, é fácil como o código é piscado em segundos, tornando-o confortável para os usuários.
- Algoritmos de alto nível podem ser implementados usando métodos específicos.
- O custo de implementação em Processadores Digitais de Sinais é muito menor quando comparado com os processadores analógicos.
- Os DSP’s podem ser facilmente descidos quando comparados com os outros processadores.
- DSP’s também podem ser operados offline, o que os torna acessíveis para fácil transporte.
CONS:
- É bastante complexo, pois utiliza conversores. ADC (Analog to Digital Converter) e DAC (Digital to Analog Converter).
- Cada DSP tem dispositivos de hardware e software separados. Assim, DSP’s não podem ser usados sem treinamento apropriado.
- Mais largura de banda é necessária para a transmissão digital do que a transmissão analógica.
- IC’s têm que ser usados com cautela, pois são muito caros.
- Temos de dominar claramente os conceitos, pois a unidade de controlo que está presente é mais complexa e o redesenho seria um trabalho aborrecido.
- A arquitectura de Harvard acelera a taxa de processador. Como os dados e instruções são armazenados em buses separados, é muito vantajoso para muitos usuários.
- Harvard Architecture segue o arranjo “Pipeline”. Se a execução de uma instrução está em andamento, a outra instrução seria obtida da memória. Isto permite a sobreposição de instruções, assim a taxa de execução aumenta consideravelmente.
- RISC (Reduced Instruction Set Computer) e CISC (Complex Instruction Set Computer) são as metodologias usadas na Arquitetura de Harvard. No RISC os dados do microcontrolador são 8 bits, enquanto as instruções são de 12 bits ou 16 bits de largura. Assim, tudo é executado de cada vez, resultando em maior desempenho.
- No CISC, tanto os dados como as instruções têm 8 bits de largura. Eles geralmente têm mais de 200 instruções. Mas elas não podem ser executadas de cada vez, ao invés de serem buscadas simultaneamente.
- A unidade de execução consiste em 2 unidades aritméticas e lógicas, 1 shifter, 1 multiplicador, acumuladores, etc. Assim, eles podem executar operações aritméticas de forma estável e com excelente paralelismo.
- Muitos microcontroladores também usam a Tabela de Pesquisa. (LUT). Eles fizeram uso para fins de modulação.
- Desde que os dados e instruções são armazenados em barramentos separados há muito poucas chances de corrupção.
- Dados que usam o modo Read-Only e instruções que usam o modo Read-Write são operados da mesma forma. Eles também podem ser acessados de forma similar.
- Geralmente, duas memórias estariam presentes, uma para dados e outra para instruções, eles têm diferentes tamanhos de células fazendo uso dos recursos de forma muito eficaz.
- A largura de banda que é usada para memória é mais previsível.
- Eles geralmente oferecem alto desempenho, pois dados e barramentos são mantidos em memória separada e viajam em barramentos diferentes.
- O acesso paralelo aos dados e instruções pode ser mantido.
- A programação não seria mais necessária, pois há barramentos separados para dados e instruções.
- Os programadores podem projetar a unidade de memória de acordo com suas necessidades.
- A unidade de controle obtém dados e instruções de uma memória. Assim, simplifica a arquitetura da unidade de controle.
- A memória de dados desocupada não pode ser usada por instruções e a memória de instruções livre não pode ser usada por dados. A memória dedicada a cada unidade tem de ser equilibrada cuidadosamente.
- O programa não pode ser escrito pela máquina por si só como em Von Neumann Architecture.
- A Unidade de Controlo leva mais tempo a desenvolver-se e está no lado caro.
- Existem 2 barramentos na arquitectura. O que significa que a placa-mãe seria mais complexa, o que, por sua vez, significa que haveria duas RAMs e, portanto, tende a ter um design de cache muito complexo. Essa é a razão de ser usada principalmente dentro da CPU e não fora dela.
- Produção de computador com 2 barramentos leva mais tempo para ser fabricado e está novamente no lado caro como a unidade de controle.
- Tem mais pinos nos seus CI’s. Portanto, é muito difícil implementá-lo.
- Não é muito utilizado, por isso o seu desenvolvimento seria na extremidade traseira.
- Não faz a maior parte da Unidade Central de Processamento, sempre.
- Basics: É baseado no modelo do computador Harvard I.
- Memória: Tem memória separada para dados e instruções. Assim, cada sistema na memória pode ser acessado simultaneamente.
- Instruction Processing: Em Harvard Architecture, o processamento de instruções pode ser concluído em uma única fase se os pipelines estiverem nos lugares apropriados.
- Custo: Unidade de controle na Arquitetura de Harvard leva mais tempo para se desenvolver e está no lado caro.
- Usos: Eles são usados principalmente em Microcontroladores e Processadores Digitais de Sinais.
- Instruções forem mais amplas que os dados. Neste caso, se as instruções forem processadas separadamente, elas podem levar a uma saída mais confiável. Enquanto que, se forem colocadas na mesma célula com dados, elas tendem a se sobrepor, causando erros.
- Devemos observar se as Caches são Read-Only. Isto porque se os Caches têm a opção Read-Write, isso pode levar mais tempo para o seu desenvolvimento e pode ser complexo também.
- Devem ter largura de banda separada para melhor otimização.
- Muito eficaz no caso do “JIT”, Just in Time Compilers onde a penalidade copy-paste seria ofendida, a meta-programação está presente e o código auto-modificador também está disponível.
- Onde o aspecto de programação seria a principal preocupação. Porque com microcontroladores seria difícil projetar e desenvolver outras variantes, pois as placas-mãe dentro delas seriam complexas de entender e se tornariam uma tarefa tediosa em geral.
- Processadores embutidos podem ser desenvolvidos porque eles são destinados a ter características que por sua vez promovem conversas cruzadas sobre ambos os lados, se eles tiverem grande largura de banda de memória e link de endereço plano.
- O conceito de pilha é implementado. A unidade de endereço não deve ficar complicada, pois pode ter que rodar pelo menos 2 caminhos em paralelo. O contador do programa e o ponteiro da pilha estariam presentes. Registros que estão presentes nos ponteiros podem ser incrementados ou decrescidos.
- alguns Processadores de Sinais Digitais usam o conceito “LIFO”. Último a Entrar Primeiro a Sair. Isto também é chamado de Hardware stack. Desta forma, podemos empilhar e pop stack mais rápido, portanto não requer o uso de buses de endereço.
FACTOS SOBRE A ARQUITECTURA HARVARD
VANTAGENS E DISADVANTAGENS DE ARQUITECTURA HARVARD
ADVANTAGENS:
DISADVANTAGES:
SUMÁRIO DA ARQUITECTURA HARVARD
Então, devemos optar por usar a Arquitetura de Harvard se,
CONCLUSION:
Thus, discutimos sobre a Arquitectura de Harvard em detalhe. Também vimos todas as vantagens e desvantagens da Arquitetura de Harvard. Exemplos têm sido discutidos para tornar mais claro aos olhos do usuário. Assim, temos de ter a certeza que, dominamos completamente a arquitectura para obter os melhores resultados da mesma. Também devemos ser claros em que instância devemos usar a arquitetura de Harvard e Von Neumann e fazer o uso efetivo do que usamos. Sinta-se à vontade para publicar qualquer comentário e compartilhar suas sugestões também para discutir mais!!
- https://en.wikipedia.org/wiki/Harvard_architecture
- https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
- https://www.google.com/search?q=advantages+of+harvard+architecture&safe=strict&tbm=isch&source=iu&ictx=1&fir=sJHdbNlHdCfBnM%253A%252C3B-t13LzqLeqjM%252C_&vet=1&usg=AI4_-kQJCxwrxhCUXW7xWDgGIGpD3yUVAA&sa=X&ved=2ahUKEwinsPip1tfpAhVIwKQKHYUXCdsQ9QEwCnoECAUQHA#imgrc=g1JuuAOnXWWyKM&imgdii=jUPAKYHNfW-wyM
- https://www.sciencedirect.com/topics/engineering/harvard-architecture
Deixe uma resposta