• Nenhum resultado encontrado

A2-Introducao(ArqComp)

N/A
N/A
Protected

Academic year: 2021

Share "A2-Introducao(ArqComp)"

Copied!
54
0
0

Texto

(1)

Arquitetura de

Computadores

Profª. Larissa Natália V. Carneiro

https://sites.google.com/site/proflarissacarneiro

(2)

Objetivo Principal

Entender os elementos e conceitos da Arquitetura de

computadores

Conhecer os elementos básicos da arquitetura de

processador e seu funcionamento,

Compreender a utilização de instruções;

Caracterizar a organização de sistemas de computação e

detalhar subsistemas memória, processador, dispositivos de

entrada e saída de dados e barramentos.

(3)

Objetivo Principal

Compreender os modos de endereçamento utilizados por um

sistema de computação.

Conhecer os princípios de organização de computadores.

Caracterizar as interfaces: paralela e serial.

(4)

Habilidades a alcançar

Compreender o funcionamento de um

sistema de computação e a interação dos

seus subsistemas

(5)

Agenda

Organização estruturada de computadores

Introdução

-

Linguagens, níveis e Maquinas Contemporâneas

-

Métodos de Leitura

Maquinas Multiníveis Contemporâneas

Arquitetura de Von Neumann

(6)

Introdução

Visão Geral

O computador :

É uma máquina que serve para solucionar problemas.

Executa programas - Conjunto de instruções que

(7)

Um sistema de

processamento

Dois componentes principais:

• Hardware;

(8)

Definição

Hardware:

Rígido – difícil manuseio.

Software:

(9)

Introdução

Visão Geral

Arquitetura de Computadores

Trata dos aspectos que são transparentes ao programador

(alto nível). Refere-se às unidades operacionais e suas

interconexões que implementam sua arquitetura:

Sinais de controle, interfaces entre o computador e os

periféricos, tecnologia de memória, tamanho da

memória física, freqüência de clock, etc.

Ex.: Existe uma estrutura de multiplicação no hardware

(10)

Introdução

Visão Geral

Arquitetura de Computadores

Trata dos aspectos e atributos do sistema que são

visíveis a:

Linguagens de alto nível, conjunto de instruções,

número de bits usados para representação de dados,

mecanismos de E/S e etc.

(11)

Principais elementos de um

sistema de computação

A unidade central de processamento (central

processing unit – CPU)

A memória principal

A subsistema de E/S (entrada e saída)

Os mecanismos de interconexão entre esses

(12)

O processador

O módulo UCP (ou processador) é o mais importante,

pois controla todo o funcionamento do computador. É

subdivido em dois módulos: ULA e UC

O módulo ULA é responsável pelas operações aritméticas

e lógicas

O módulo UC é responsável pelo controle da realização

das operações do módulo ULA e da operação global do

computador, ou seja, ele controla a execução das

instruções da máquina. O controlador está localizado

dentro deste módulo.

(13)
(14)

Os circuitos de um computador (Hardware)

Reconhecem e executam um conjunto limitado e

simples de instruções (linguagem de máquina-

binária)

Para que o programa execute, deve ser

convertido em instruções simples.

Ex.: soma, comparação, transferência de dados

de uma parte da memória para outra parte e

etc.

(15)
(16)

Grande Lacuna: ____?____

(Como é a comunicação Alto nível -> Baixo nível )

Conveniência para as pessoas

Conveniência para os computadores

O que as pessoas precisam fazer é complexo e o conjunto de

instruções do computador é simples

Pessoas querem X, mas computadores só podem Y

(Resultado - Problema)

(17)

Exemplo:

O usuário quer calcular a correção da trajetória de um

foguete saindo da terra até a lua.

Como o usuário pode fazer isso em linguagem de

máquina? Trabalho difícil e tedioso para os humanos

Solução:

Criar uma hierarquia de abstrações de níveis mais

altos baseadas nos níveis mais baixos.

Criar uma organização estruturada de computadores

para facilitar a comunicação homem-máquina

(18)

Organização Estruturada de Computadores

Uma maneira de estruturar os computadores

como uma série de abstrações.

Sistemas de Computação sendo projetados de

modo estruturado e sistemático.

(19)

Linguagens, níveis e máquinas contemporâneas

O Problema pode ser abordado da seguinte forma:

Projetar um novo conj. de instruções que seja

mais conveniente para as pessoas, do que as

instruções da máquina L1.

As instruções de máquina formam a linguagem

L0.

(20)

L1: linguagem natural, do usuário (alto nível e complexa)

L0: linguagem da máquina (baixo nível e simples)

Programas escritos em L1 de alguma forma tem que se

transformar em L0.

(Máquinas só entendem linguagens de máquina)

Ou seja,

Como compatibilizar L1 com L0? Temos 2 soluções:

Usar um tradutor

Usar um interpretador

(21)

I.Tradução:

Cada instrução de L1 é substituída por um conjunto

de instruções equivalentes de L0

Processador executa programa em L0.

Todo programa em L0 é carregado em memória e é

executado

Programa pode ser traduzido uma única vez e

executado várias vezes

(22)

II. Interpretação:

Cada instrução de L1 é substituída por um conjunto de

instruções equivalentes de L0

Processador executa instrução de L1 (transformada para

L0) antes de executar próxima instrução.

Cada instrução de L1, transformada para L0, é carregada

na memória e executada

Não é criado um programa em L0

Programa deve ser novamente interpretado para ser

executado

(23)

Analogia:

Tradução (Traduzir um texto do inglês para o português e depois interpreta)

Interpretação (Ler um texto e o interpreta direto)

Em ambos os métodos o computador faz instruções em L1

que realizam seqüências equivalentes em L0.

A diferença é que na tradução, todo programa L1 é antes

convertido em L0.(L1 é descartado e L0 é carregado na

memória)

Na interpretação, após a decodificação de L1, ela é

(24)

Métodos de Leitura

Pode ser utilizada uma metodologia híbrida:

tradutor + interpretador.

(25)

Interesse

Nível mais Alto:

A maioria dos Programadores

Nível mais Baixo:

(26)

Máquinas de multiníveis

Em vez de pensar em tradução e

interpretação, pode-se imaginar a existência

de uma máquina hipotética(máquina real)

com linguagem L1.

Isso seria possível???

(27)

Máquinas de multiníveis

Uma máquina com linguagem de máquina C,

C++ ou Java seria realmente complexa, mas

fácil de construir com a tecnologia de hoje.

Porém é provável que tenha uma boa razão

para que isso não seja feito.

(28)

Máquinas de multiníveis

O seu custo não seria eficiente em

comparação com outras técnicas.

Não basta apenas ser viável, um projeto

(29)

Máquinas de multiníveis

Enquanto isso não é possível é preciso saber

da existem de vários níveis de tradução.

A maioria dos programadores estão

interessados apenas no nível superior.

Quem se interessa em entender o

funcionamento do computador precisa

estudar todos os níveis.

(30)

Máquinas Multiníveis

contemporâneas

A maioria dos computadores modernos tem dois ou mais níveis.

Computador de 6 níveis. Abaixo de cada nível está indicado o método de suporte.

(31)
(32)

A maioria dos computadores modernos consiste em

dois ou mais níveis.

Existem máquinas de até 6 níveis.

Máquinas Multiníveis

contemporâneas

(33)

Nível 0: Nível da Lógica Digital (hardware)

Nível mais baixo da estrutura.

Objetos de interesse são conhecidos como portas

lógicas, transistores e fios.

Cada porta lógica tem 1 ou mais entradas digitais

(aceitam 0 ou 1) e calculam funções lógicas simples

sobre essas entradas. Exemplo: AND, OR, NOT...

Portas lógicas são combinadas para formar o

Processador - principal dispositivo do computador

Máquinas Multiníveis

contemporâneas

(34)

Nível 1: Nível da Microarquitetura

Enxergamos uma memória local (8 a 32 registradores) e a

ULA (Unidade Aritmética Lógica) que realiza operações

aritméticas muito simples

Os registradores são conectados a ULA formando o

caminho dos dados

Operações são controladas por um micro programa ou

diretamente por hardware

Micro programa é um interpretador para as instruções do

nível 2.

Ex.: A ALU seleciona dois registros, faz uma operação (+,-...) e

guarda o resultado em um deles.

Máquinas Multiníveis

contemporâneas

(35)

Nível 2: Nível da Arquitetura do Conjunto de Instruções (nível ISA - Instruction Set Architeture)

 Definida pelo fabricante e dependente da arquitetura da máquina  Fabricantes disponibilizam "Manual de Referência da Linguagem

de Máquina" ou "Princípios de operação do Computador Modelo XYZ4W), ou algo similar.

 Manuais descrevem como as instruções são executadas

interpretativamente pelo micro programa ou como elas são executadas diretamente pelo hardware.

 Essas informações são necessárias para os desenvolvedores de

Máquinas Multiníveis

contemporâneas

(36)

Nível 3: Nível do Sistema Operacional

 Instruções da linguagem deste nível também podem conter

instruções do nível ISA.

 Suporta capacidade de rodar 2 ou mais programas

simultaneamente

 Suporta sistemas de comandos(DOS) ou de janelas (Windows)  Programadores deste nível, e também dos níveis mais baixos, são

conhecidos como programadores de sistema.

 Os programadores dos níveis mais altos são chamados

programadores de aplicação.

Máquinas Multiníveis

contemporâneas

(37)

Nível 4: Nível da linguagem do montador ou de

montagem (Assembly language)

Linguagem de montagem: forma simbólica de representação das

linguagens do nível mais baixo.

 Cada instrução de máquina é apelidada por um minemônico

(add, load, sub, mov ...)

 Programas nessa linguagem são primeiro traduzidos para as

linguagens dos níveis 1, 2 e 3 e depois interpretados pela máquina

Programa que realiza essa tradução é chamado de montador

Máquinas Multiníveis

contemporâneas

(38)

Nível 5: Nível das linguagens orientadas

para solução dos problemas

Conhecidas como linguagens de alto nível.

Exemplos Basic, C, Pascal, Java, LISP, ....

Programas são geralmente traduzidos para os

níveis 3 e 4 por compiladores

Alguns são interpretados: Exemplo: programas

em Java, MatLab, Linguagens de Script ...

Máquinas Multiníveis

contemporâneas

(39)

Nível 6: Nível do usuário

O usuário interage com o computador executando

programas (editores de texto, planilhas e jogos).

O usuário vê o computador através de programas

que rodam nele.

O usuário não vê a sua estrutura interna.

Máquinas Multiníveis

contemporâneas

(40)

Há ainda a existência de outros níveis abaixo do

nível 0, que não estão representados na figura.

Estes níveis situam-se no campo da engenharia elétrica

e da física do estado sólido.

Nestes níveis os projetistas enxergam portas lógicas,

transistores individuais e o cristal semicondutor, que é o

substrato dos circuitos integrados.

Os níveis abaixo do nível 0 fogem ao escopo desta

disciplina.

Máquinas Multiníveis

contemporâneas

(41)

Observações do nível 3:

 O nível 3 é híbrido por conter também instruções em sua

linguagem no nível ISA.

 Entretanto há uma organização diferente de memória e um

conjunto de novas instruções.

 Há mais variações entre projetos do nível 3 do que do nível 1 e 2.

Máquinas Multiníveis

contemporâneas

(42)

Observações gerais:

 Os níveis 2 e 3 são sempre interpretados, porém, em geral, mas

nem sempre, os níveis 4 e 5 são traduzidos.

 Os níveis 1, 2 e 3 consitem em linguagens numéricas e os níveis

4, 5 e superiores linguagens que contêm palavras e abreviações.

 O nível 4 é uma forma simbólica para uma das linguagens

subjacentes, oferecendo um método de escrever programas para os níveis 1, 2 e 3 em uma forma que não seja tão desagradável.

 Programas em linguagem de montagem (assembler) são primeiro

traduzidos para linguagem dos níveis 1, 2 e 3 e em seguida interpretados pela máquina real.

Máquinas Multiníveis

contemporâneas

(43)

Organização do software. Etapas da execução de um programa (adaptado de Patterson e

(44)

É fundamental lembrar:

Computadores são projetados com uma série de níveis

cada um construído sobre seus antecessores.

Conjunto de tipos de dados, operações e características

de cada nível é denominado arquitetura.

A arquitetura trata dos aspectos visíveis ao usuário

daquele nível.

Quantidade de memória disponível faz parte da

arquitetura.

Tipo de tecnologia usado para implementar a memória não

faz parte da arquitetura.

Na prática arquitetura e organização de computadores

(45)

Máquina de von Neumann

Memória

Unidade de Controle

Unidade Aritmética Lógica

Acumulador Input

Output • Uma única UCP responsável por todo controle do fluxo de dados

• Uma memória única

(46)

Arquitetura de Von Neumann

Consiste em 5 componentes:

Unidade de entrada;

Unidade de memória;

Unidade lógica aritmética;

Unidade de controle;

(47)

Arquitetura de Von Neumann

Unidade lógica aritmética + unidade de controle

=

(48)

Memória e interface E/S

A memória RAM é considerada um

dispositivo passivo, pois ela responde aos

sinais de controle da CPU.

As interfaces de E/S são consideradas

dispositivos ativos, pois elas podem gerar ou

receber sinais de controle da CPU.

(49)

A transferência das

informações

A memória principal transfere informação

para a CPU e para os periféricos (interfaces

E/S).

Dentro da CPU, o módulo ULA recebe dados

e o módulo UC recebe instruções.

(50)

Organização estruturada de

computadores

Cada computador tem um conjunto de

operações e convenções único para

determinar as posições dos dados com os

quais a operação será realizada.

Operação --- Operandos

Essa forma é denominada instrução.

(51)

Organização estruturada de

computadores

A operação especifica a função que será

desempenhada:

matemáticas (aritméticas, lógicas, de complemento,

de deslocamento...)

movimentação de dados (memória <--> registrador)

entrada-saída (leitura e escrita em dispositivos

externos - dispositivos de Entrada / Saída

(52)

Organização estruturada de

computadores

Os operandos fornecem a maneira de

calcular a posição atual dos dados. Ex: (+, -,

*, /, <<, >>, ~, =, !=, |, &, ^)

Um programa é constituído de uma

seqüência pré-determinada de instruções

que devem ser seguidas.

(53)

Ex. De conjunto de

instruções

(54)

Observações finais importantes :

 Computadores são projetados como uma série de níveis, cada

um deles construídos em cima de seus precursores.

 Cada nível representa uma abstração distinta, com diferentes

objetos e operações

 A abstração permite ignorar, "abstrair", temporariamente

detalhes irrelevantes, de níveis mais baixos, reduzindo uma questão complexa a algo muito mais fácil de ser entendido.

 O conjunto de tipos de dados, operações e características de

cada um dos níveis é chamado arquitetura do nível.

 São parte da arquitetura, as características que um programador

do nível deve enxergar, por exemplo, a disponibilidade de memória

Referências

Documentos relacionados

Segundo os especialistas, a estabilização de emergência nas áreas dos serviços florestais é financiada por um fundo próprio, sendo elaborada uma proposta que é aprovada

Este prospecto foi preparado com as informações necessárias ao atendimento às disposições do Código de Auto- Regulação da Associação Nacional dos Bancos de Investimento –

É possível argumentar que havia uma tendência conservadora dos governos ditatoriais que vigoraram na América Latina na segunda metade do século XX. Pregavam a

Não haverá jamais maior dor que a de perda um ente querido, e a ele ter de dizer o defenitivo adeus, e não existem quaisquer palavras ou gestos que algo possam contra o sofrimento

No entanto, a passagem de tempo depende do estado de movimento do observador, logo, poder´ıamos fazer a seguinte per- gunta: se dois gˆ emeos s˜ ao separados, um permanecendo na Terra

5 5 GARNELO HERMIDA Pilar CEHE-PO 6 6 GRANDE IZQUIERDO Leyre Mar CEHE-PO 7 7 MEDINA ALVAREZ Iris CEB-M 8 8 GONZALEZ GIL Patricia CEL-M 9 9 ARGIMON LLOBERAS Joana EHB-B 10 10 OTAEGUI

Em suma, o objectivo do presente estudo é testar a influência da visualização de imagens de corpos femininos anorécticos, obesos e ideais na subsequente insatisfação