Visão geral de microprocessadores

10 Melhores Livros sobre microprocessadores
Este post faz parte da série Microprocessadores. Leia também os outros posts da série:

Fala galera!! Tudo certo? Hoje começamos uma nova série de artigos, específica sobre Microprocessadores. Neste primeiro artigo vou passar pra vocês uma visão geral.

 

Um sistema computacional pode ser dividido em níveis e não estou falando de um microprocessador (que é um sistema digital bem complexo em um CHIP), estou falando do contexto geral, de um computador de uso geral (um sistema ainda maior). A maioria dos livros sobre o tema divide o sistema em capítulos, conforme eu escrevi no meu artigo intitulado "10 melhores livros sobre microprocessadores e arquitetura de computadores".

 

É fundamental que antes de começarmos, façamos uma revisão rápida, pra que vocês tenham gravado em sua memória o todo e, assim, conseguirem visualizar as conexões, comunicações entre os diversos componentes. Isso facilitará muito o aprendizado. Observe a Figura 1 que apresenta a Hierarquia de Níveis de um computador. Reforço que esta Hierarquia não é uma regra geral, é uma proposta e diversos pesquisadores, e autores, definem suas próprias Hierarquias, até mesmo nós, de acordo com o nível de experiência e evolução.

 

Hierarquia de Níveis em microprocessadores

Figura 1: Hierarquia de Níveis

 

Em um curso de Graduação em Computação (Bacharelado), nós cursamos várias disciplinas durante um semestre e, obviamente, o nível de dificuldade vai aumentando com o tempo. Mas é preciso frisar que as disciplinas do primeiro semestre, normalmente, são pré-requisitos para as disciplinas do segundo, e assim por diante. Portanto, pra fazer a disciplina de linguagem de programação Java, por exemplo, é necessário que antes você tenha cursado, e tenha sido aprovado, na disciplina de Algoritmos, que dá o embasamento e fundamento para todas as outras disciplinas de Programação. É claro que há formas de você aprender Java diretamente, sem estudar Algoritmos, entretanto, aconselho vocês a darem uma lida no meu artigo intitulado Conceitos Básicos de Algoritmos, que esclarece alguns pontos a respeito disso.

 

A Hierarquia de Níveis é bem parecida com isso. Um nível, de certa forma, está relacionado ou dependente de outro. Para que o usuário possa utilizar as aplicações, é necessário que o hardware funcione corretamente e o sistema operacional deva gerenciar as ações entre esses níveis. A Hierarquia de Níveis então é forma de visualizarmos o sistema computacional como um todo, dividindo o que cada parte dele deve fazer, de forma que tudo funcione.

 

É como em uma orquestra, cada pessoa deve executar o seu instrumento musical sozinha, de forma correta, seguindo as notas. Entretanto o que todos na platéia ouvem não é apenas um instrumento sozinho, mas todos os instrumentos tocando juntos, gerando um som magnifico, aparentemente sem imperfeições. Não podemos nos esquecer do regente, responsável por organizar cada pessoa com seu respectivo instrumento e determinar o instante exato que devem tocar. Interessante também notar a disposição das pessoas no palco, normalmente elas são separadas por tipo de instrumentos, por exemplo, todos que tocam violino ficam aglomeradas em uma parte, e assim por diante. Pode ser que alguém erre alguma nota e isso passe despercebido, mas em alguns casos, uma nota errada tocada por alguém pode estragar a apresentação, fazendo com que os outros membros da Orquestra também se percam.

 

Um sistema digital como o microprocessador é muito parecido com uma Orquestra. Ao longo dos artigos vocês vão captar a analogia completa. Vamos ver então cada nível do sistema.

 

 

Nível 0: Lógica Digital

 

Aqui encontra-se o Hardware propriamente dito, a parte física do sistema como portas, fios, unidades funcionais, enfim, os blocos básicos de construção comuns e específicos de cada sistema computacional. Normalmente temos disciplinas na graduação sobre isso (eletrônica digital), é onde aprendemos as portas lógicas básicas, memórias, multiplexadores, somadores, etc., e vamos evoluindo para os sistemas digitais mais complexos como o microprocessador.

 

 

Nível 1: Controle

 

Esta é a parte que diz respeito à Unidade de Controle. Ela é a responsável por gerenciar e garantir que as instruções sejam decodificadas e executadas, além de verificar de onde, para onde e quando os dados devem ser movidos. A Unidade de Controle pode ser implementada em Microcódigo ou em Hardware e isto é um assunto que até hoje dá muita discussão nos projetos de microprocessadores. Basicamente, instruções são executadas de forma mais rápida diretamente no hardware, enquanto que em microcódigo é necessário mais tempo, pois o microcódigo nada mais é que um software, e sendo um software precisa de tradução (o que demanda mais tempo). Uma unidade de controle em microcódigo pode ser chamada de uma unidade virtual. Teremos uma discussão sobre isso.

 

 

Nível 2: Arquitetura do Conjunto de Instruções

 

Estou escrevendo uma série de artigos somente sobre a Arquitetura do Conjunto de Instruções MIPS, aconselho vocês o acompanharem também. Uma ISA (Instruct Set Architecture) é a linguagem de máquina de um sistema computacional, ela está acima do código de máquina (Linguagem Binária - 0 e 1), e abaixo de uma linguagem de médio nível (Linguagem C, por exemplo). É muito demorado, e muitas vezes confuso, programar em código de máquina, por isso criaram a programação em baixo, médio e alto nível. É mais fácil pra nós, mais complexo pro hardware, porém existem as camadas de tradução no meio do caminho, que permitem que nós "conversemos" tranquilamente.

 

 

Nível 3: Software de Sistema

 

Também pode ser chamado de Sistema Operacional. Um S.O. deve ser capaz de gerenciar processos do sistema, multiprogramação, multiusuários, multitelas, executar aplicações de alto nível, gerenciar recursos e dispositivos, entre muitas outras coisas. O S.O. deve ser o mais fácil e simples possível para o usuário. Não é uma tarefa nada fácil projetar S.O., estes devem ter um ótimo desempenho nas máquinas em que executam e ainda devem manter compatibilidade com máquinas anteriores, o que é um grande desafio dado o nível de evolução da computação.

 

 

Nível 4: Linguagem de Baixo Nível

 

O nível 2 define as instruções que um microprocessador particular pode executar e isso é definido na ISA (formato, tamanho, operações, etc.). O nível 4 é a linguagem de máquina, o famoso Assembly. Assim como uma linguagem de alto ou médio nível precisa de sintaxe, verificação de erros, compilador, gerador de executável, etc., uma linguagem de baixo nível também precisa. Todo software é traduzido primeiro para uma linguagem Assembly para somente depois ser traduzido para o código da máquina.

 

 

Nível 5: Linguagem de Alto e Médio Nível

 

Java, C, C++, C#, entre outras muitas, são todas linguagens de programação que se encaixam nesse perfil. Precisamos do Sistema Operacional pra poder desenvolver as aplicações usando essas linguagens. Nesse nível, só precisa saber algo sobre o hardware, ou linguagem de baixo nível, a pessoa que desejar. Não é uma obrigatoriedade saber os mínimos detalhes do hardware pra poder desenvolver um software, mas no caso de Linguagem de médio nível, como C, é aconselhável. Se você for trabalhar com microcontroladores e algumas outras tecnologias mais novas, como Arduino e Raspberry Pi, é também aconselhável saber o básico de eletrônica digital e sistemas digitais.

 

 

Nível 6: Usuário e Aplicações

 

Este nível é composto pelas aplicações que nós, enquanto usuários, utilizamos em nosso computador. Este nível executa programas dos mais diversos tipos e oferece inúmeras possibilidades para o usuário. Aqui é o usuário quem manda e utiliza seu computador da forma que for mais adequada para ele.

 

 

Conclusão

 

Agora que revisamos alguns conceitos fundamentais, podemos começar com as particularidades dos microprocessadores. Aguardo vocês no próximo artigo. Dúvidas? Deixem nos comentários. As referências dos artigos que estou escrevendo dessas séries são os livros que citei anteriormente neste artigo. Abraços!!!

Outros artigos da série

Arquitetura de John Von Neumann >>
Este post faz da série Microprocessadores. Leia também os outros posts da série:
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » Visão geral de microprocessadores
Talvez você goste:
Comentários:

4
Deixe um comentário

avatar
 
2 Comment threads
2 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
4 Comment authors
Elaine Cecília GattoMarlon CesarElaine Cecília GattoSouza Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Marlon Cesar
Visitante
Marlon Cesar

Boa NOite, Você tem canal no Youtube?

Souza
Visitante
Souza

Vou ficar de olho.
Adoro saber como a coisa funciona por dentro.

Elaine Cecília Gatto
Visitante
Elaine Cecília Gatto

que bom!!!! acompanhe a série, será muito legal!

Séries



Outros da Série

Menu