1.1. Conceito e Organização de Computadores
Olá, meu querido aluno! Aqui é o Prof. Almeida Jr., e é com muita satisfação que iniciamos nossa jornada pelo fascinante mundo da Arquitetura de Computadores. Se você chegou até aqui, já está no caminho certo para dominar os conceitos fundamentais que serão cobrados nos seus concursos. Vamos juntos?
Hoje, vamos falar sobre o conceito e a organização dos computadores. Esse tema é essencial porque é a base de tudo o que você vai estudar na disciplina de Arquitetura de Computadores.
O que é Arquitetura de Computadores?
Primeiro, é importante entender que "arquitetura" é uma palavra muito usada para descrever o que o computador "é" e "como ele funciona". Mas, para nós, concurseiros, essa palavra tem um significado mais técnico.
A arquitetura de um computador refere-se ao modelo abstrato, ou seja, aquilo que define como os elementos do computador interagem. Pense nela como o "projeto geral" que descreve as funcionalidades principais de um sistema. É como se fosse a planta de uma casa, onde você decide onde ficar cada cômodo e como as pessoas vão circular por ela.O que é Organização de Computadores?
Agora que você já entendeu o que é arquitetura, vamos diferenciar isso da organização. Enquanto a arquitetura diz "o que" o computador deve fazer, a organização está preocupada com "como" ele faz isso.
Por exemplo, a arquitetura define que o computador precisa ter memória para armazenar dados, mas a organização vai detalhar como essa memória será implementada: qual será o tipo de memória (RAM, SSD, etc.), sua hierarquia, e como ela será acessada pelo processador. A organização está mais ligada a implementação prática.
De forma simples:
- Arquitetura: Quais funcionalidades o computador deve oferecer? (Exemplo: "Deve executar cálculos e armazenar dados.")
- Organização: Como essas funcionalidades serão implementadas? (Exemplo: "Vamos usar um processador de 4 núcleos e memória RAM DDR4.")
Exemplo Prático
Imagine que você está projetando um carro. A arquitetura definirá o conceito geral do carro: ele terá rodas, um motor, e será usado para transportar pessoas. Já a organização é como você vai construir esse carro: quantos cilindros o motor terá, qual será o tipo de combustível, ou até mesmo o material das rodas.
No caso dos computadores, a arquitetura de Von Neumann é um exemplo clássico. Ela define que o computador ter:
- Uma unidade de processamento central (CPU).
- Uma memória principal para armazenar dados e instruções.
- Dispositivos de entrada e saida (teclado, monitor, etc.).
Já a organização vai detalhar como essa CPU será implementada (quantos núcleos, qual frequência), como será feita a comunicação entre CPU e memória, e assim por diante.
Por que isso é importante para você?
Você pode estar se perguntando: "Ok, professor, mas por que eu preciso saber disso para concursos?". A resposta é simples: porque muitas questões de arquitetura de computadores cobram essa diferença sutil entre arquitetura e organização. Além disso, entender esses conceitos vai te ajudar a interpretar questões mais complexas de forma mais fácil.
A visão do programador vs a visão do Engenheiro Eletrônico
Um programador não precisa conhecer como o computador é construído. O que ele precisa entender é o que ele faz. Ou seja, a arquitetura. Preste muita atenção agora, ao que vamos afirmar, pois vai ser muito útil para resolver questões: A arquitetura de computadores refere-se aos atributos de um sistema visíveis ao programador. São características que influenciam diretamente como um programa será executado. Exemplos incluem o conjunto de instruções, o número de bits usados para representar dados, e as técnicas de endereçamento disponíveis.
Por sua vez, a organização de computadores trata da implementação prática dessas características. Ela está relacionada a detalhes como a tecnologia de memória usada, mecanismos de entrada e saída, e as interconexões internas do sistema. Logo, é de interesse do engenheiro eletrônico.Boa parte das questões vão ser extraídas do seguinte trecho do livro do Stallings:
Historicamente,
e ainda hoje, a distinção entre arquitetura e organização tem sido
importante. Muitos fabricantes de computador oferecem uma família de
modelos de computador, todos com a mesma arquitetura, mas com
diferenças na organização.
Arquitetura de computador refere-se aos
atributos de um sistema visíveis a um programador ou, em outras
palavras, aqueles atributos que possuem um impacto direto sobre a
execução lógica de um programa. Organização de computador refere-se às
unidades operacionais e suas interconexões que realizam as
especificações arquiteturais.
Alguns exemplos de atributos arquiteturais incluem o conjunto de instruções, o número de bits usados para representar diversos tipos de dados (por exemplo, números, caracteres), mecanismos de E/S e técnicas para endereçamento de memória.
Atributos organizacionais incluem os detalhes do hardware transparentes ao programador, como sinais de controle, interfaces entre o computador e periféricos e a tecnologia de memória utilizada. Por exemplo, é uma questão de projeto arquitetural se um computador terá uma instrução de multiplicação. E uma questão organizacional se essa instrução será implementada por uma unidade de multiplicação especial ou por um mecanismo que faça uso repetido da unidade de adição do sistema. A decisão organizacional pode ser baseada na antecipação da frequência de uso da instrução de multiplicação, na velocidade relativa das duas técnicas e no custo e tamanho físico de uma unidade de multiplicação especial.
GuardeArquitetura:
- Refere-se aos atributos de um sistema visíveis a um programador
- Refere-se aos atritubtos que possuem impacto direto sobre a execuação lógica de um programa
- Conjunto de instruções, núermo de bits usados para representar diversos tipos de dados
- Mecanismosde E/S
- Técnicas para endereçamento de mémória
- Decidir se um computador terá uma operação (ex: multiplicação) é uma decisão de arquitetura
- Detalhes do Hardware
- São transparentes ao progrmador (o programador não precisa se preocupar com a organização)
- Sinais de controle
- Interfaces entre o computador e periféricos
- Tecnologia de memória utilizada
- Decidir como uma operação (ex:multiplicação) será implementada é uma decisão de organização
- Arquitetura: "O que o computador faz?"
- Organização: "Como o computador faz isso?"
Então, resumindo, sempre lembre que a arquitetura é o 'quê' e a organização é o 'como'. Com esse entendimento, você já está preparado para seguir para os próximos tópicos!
Questões e Comentários
Questão 1: CEBRASPE (CESPE) - 2010
Enunciado:
I A arquitetura de computadores trata do comportamento funcional de
um sistema computacional do ponto de vista do programador.
II A organização de computadores trata da estrutura interna que não é
visível ao programador.
III O computador pode ser analisado em vários níveis, sendo o nível
mais alto aquele em que o usuário executa programas, e o nível mais
baixo o de transistores e conexões.
IV Um refinamento do modelo de von Neumann é o modelo de barramento de
sistema que possui uma CPU (ALU e controle) e a memória.
V Os quatro componentes do modelo de von Neumann são visíveis na
placa-mãe e também no barramento de sistema.
Resposta: D (I, II e III)
Comentário:
- I: Correto. Arquitetura é a visão funcional (o que ele faz) para o programador.
- II: Correto. Organização refere-se à implementação (das funções
definidas na arquitetura) não visível ao
programador. A organização é de interesse do engenheiro eletrônico.
- III: Correto. A análise de níveis é bem descrita.
- IV: Incorreto. Não há refinamento específico mencionado no modelo de Von Neumann.
- V: Incorreto. Os componentes não são diretamente visíveis na placa-mãe.
Questão 2: CEBRASPE (CESPE) - 2016
Enunciado: A respeito de arquitetura e organização de computadores, assinale a opção correta:
A Os projetos das unidades operacionais de um computador e de suas interconexões estão incluídos na definição da arquitetura de computadores.B A organização de um computador refere-se aos atributos de um sistema que têm impacto direto sobre a execução lógica de um programa.
C O conjunto de instruções e o número de bites usados para representar os vários tipos de dados são atributos da arquitetura de computadores.
D Os mecanismos de entrada e saída e as técnicas de endereçamento à memória são definidos na organização de computadores.
E A tecnologia de memória usada em um computador é definida na arquitetura de computadores.
Comentários:
- Incorreto. Os projetos das unidades operacionais fazem
parte
da organização. Note que estamos falando da implemenção física. Não é
simplementes o que o computador faz, mas como ele faz.
- Incorreto. A organização está mais ligada à implementação,
não
à execução lógica. A parte lógica vista pelo programador é a
arquitetura.
- Correto. O conjunto de instruções e númeto de bites usados
para representar os tipos de dados são atributos da arquitetura. O
programador conhece as instruções e também o tamanho em bits dos dados.
- Incorreto. Mecanismos de entrada e saída fazem parte da organização.
- Incorreto. A tecnologia de memória faz parte da organização. Note
que é uma questão de tecnologia, ou seja, de interesse do engenheiro
eletrônico.
Resposta: C
Questão 3: CEBRASPE (CESPE) - 2013
Enunciado: Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem impacto direto sobre a execução lógica de um programa. Nesse contexto, é considerada uma questão arquitetural, por exemplo, se uma instrução de multiplicação será realizada por uma unidade de multiplicação especial ou por um mecanismo que faça uso repetido da unidade de adição do sistema.
Resposta: Errado
Comentário: A realização de uma multiplicação por uma unidade especial ou pelo uso repetido de uma unidade de adição é uma questão de organização, não de arquitetura.