Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Aula Organização e Arquitetura (Exercícios Unidade 1)

Universidade Federal de Santa Catarina - Organização e Arquitetura de Computadores (Aula x) - Prof. Dr. Eng. Rafael Luiz Cancian
by

Rafael Luiz Cancian

on 26 February 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Aula Organização e Arquitetura (Exercícios Unidade 1)

Universidade Federal de Santa Catarina
Organização e Arquitetura de Computadores
Professor Dr. Eng. Rafael Luiz Cancian
email, msn: cancian@lisha.ufsc.br
web: www.inf.ufsc.br/~cancian
2013.2
v1.00
Para cada afirmação apresentada a seguir, informe se ela é Verdadeira ou Falsa.
Se desejamos executar um programa em diferentes arquiteturas, podemos usar uma linguagem compilada e compilar o programa uma única vez, que será executado nas diferentes arquiteturas com o mesmo código de máquina, ou então usar uma linguagem interpretada e "compilar'' o programa para cada diferente arquitetura no qual ele será executado.
Falso. É exatamente o contrário. Linguagens interpretadas precisam ser "compiladas'' uma única vez (já que serão interpretadas por uma VM na arquitetura-alvo), enquanto linguagens compiladas precisam ser compiladas para cada arquitetura-alvo, gerando instruções de máquina especificamente daquela ISA.
Computadores diferentes com processadores que possuem a mesma arquitetura do conjunto de instruções podem ter uma organização interna bem diferente e seus processadores podem ter implementações diferentes, mas esses computadores têm compatibilidade de software e podem executar os mesmos programas.
Verdadeiro. Esses são os conceitos de arquitetura e de organização de computadores, possivelmente os mais importantes da disciplina de organização e arquitetura de computadores.
Quando compilamos um programa comum do dia-a-dia, que lê dados, processa e apresenta os resultados, por exemplo, geramos as instruções de máquina que podem ser executadas diretamente por um processador que reconhece esse conjunto de instruções, sem necessitar de nenhum outro programa intermediário. Portanto, esse programa final, em linguagem de máquina, não depende do sistema operacional para executar.
Falso. Os programas que lêem dados e apresentam resultados, acessam dispositivos periféricos e, portanto, fazem chamadas ao sistema operacional. Portanto, mesmo em linguagem de máquina, eles possuem chamadas ao sistema operacional e eles precisam sim do sistema operacional para executar. Temos programas para Linux e programas para Windows, por exemplo.
Programas escritos em linguagem de montagem, antes de montados, são independentes de arquitetura, e apenas depois que geramos o programa em linguagem de máquina é que eles podem executar apenas numa arquitetura específica.
Falso. Programas em linguagem de montagem já são mnemônicos de uma linguagem de máquina e, portanto, específicos de uma máquina, uma ISA. A dependência arquitetural é a principal diferença entre linguagens de baixo nível e de alto nível.
O sistema operacional é um software de sistema responsável por supervisionar a execução dos demais programas, por gerenciar os recursos de hardware do computador e também por prover um ambiente mais fácil de operar.
Verdadeiro. Isso é exatamente um sistema operacional.
O processador, a memória cache e a memória principal costumam estar em barramentos distintos, pois é importante que cada um desses elementos possa ser acessado de forma independente e paralela.
Falso. Justamente por estarem intimamente relacionados, todos esses elementos costumam estar no mesmo barramento, que é chamado justamente de barramento CPU-Memória. Isso pode ser visto claramente na representação da organização física do hardware de um computador.
Além dos componentes principais de um computador, como processador, memória principal e dispositivos periféricos, um computador precisa de outros componentes de hardware que auxiliam no seu funcionamento, como Pontes, Controladores de Interrupção e Acessos Diretos à Memória (DMA).
Verdadeiro. Todos esses elementos podem ser visualizados claramente na representação da organização física do hardware de um computador.
Os componentes do computador costumam ser implementados com transistores CMOS impressos em wafers cortados de um linguote de semicondutor ao qual se acrescentam impurezas e que, após dezenas de processos industriais, são cortados, testados e encapsulados num chip.
Verdadeiro. Essa é uma descrição resumida e correta do processo de fabricação de chips, que compõem os componentes de um computador.
A partir de uma pequena quantidade de transistores (algumas unidades), podemos implementar equações booleanas que correspondem a sistemas digitais combinacionais, no qual um sinal periódico de sincronismo indica o período máximo entre dois pulsos consecutivos do relógio.
Falso. A partir de uma pequena quantidade de transistores, podemos fazer apenas uma operação booleana (AND, NOT, OR), e não equações completas. Além disso, sistemas combinacionais não possuem sinal de sincronismo, e mesmo se tivessem, esse sinal indica o período mínimo, e não máximo. Portanto, a frase não faz qualquer sentido.
O hardware de um computador é construído com base em diferentes camadas hierárquicas, que utilizam desde elementos muito simples (como interruptores controlados por corrente) até elementos sucessivamente mais complexos, de forma que o projetista do hardware não pode contar com ferramentas automáticas de tradução (como no caso do software), mas precisa projetar o computador com base em transistores e então compô-los até chegar a uma representação de mais alto nível.
Falso. Assim como o software, o hardware é constituído de camadas. E assim como o software, podemos usar ferramentas de tradução automáticas que convertem especificações de mais alto nível para especificações de mais baixo nível, até chegar em linguagem de máquina (no caso do software) ou em transistores (no caso de hardware). Vimos uma dessas ferramentas de projeto de hardware em sala. (Projetar hardware está quase tão fácil quanto projetar software)
Full transcript