24
1 Arquitetura de Computadores Introdução

1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

Embed Size (px)

Citation preview

Page 1: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

1

Arquitetura de Computadores

Introdução

Page 2: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

2

Arquitetura de Computadores

Conceitos– Arquitetura de Computador

Trata do comportamento funcional de um computador do ponto de vista do programador. São os atributos do sistema que são visíveis a este:

– Conjunto de instruções, número de bits usados para representação de dados, mecanismos de E/S, técnicas de endereçamento, etc.

Page 3: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

3

Arquitetura de Computadores

– Organização de Computador Trata dos aspectos que são transparentes ao programador.

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, frequência de clock, etc.

Page 4: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

4

Arquitetura de Computadores

O Avô da Computação– Charles Babbage (1791-1871) projetou, mas nunca

conseguiu construir uma versão prática da máquina que projetou.

– Ele viveu na Inglaterra, onde tinha muitas dificuldades de trabalhar com tabelas matemáticas em cálculos de navegação e trabalhos científicos. O projeto incluía até uma forma automatizada de impressão para evitar erros na hora de escrever no papel.

– Tinha funções de “branching” (paralelismo), capacidade de programação usando cartões perfurados

Page 5: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

5

Arquitetura de Computadores

Um século depois, na Segunda Guerra Mundial, ocorreram os avanços significativos na computação.

Os alemães usavam um sistema de criptografia, chamado ENIGMA inventada pela SIEMENS AG, para usar contra os aliados.

Este problema, motivou o Alan Turing (1912-1954) e outros cientistas da Inglaterra para criar máquinas capazes de quebrar a codificação das mensagens. O resultado desses trabalho gerou o sistema “Colosso”. Este sistema conseguia quebrar várias mensagens criptografadas.

Page 6: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

6

Arquitetura de Computadores

A máquina Colossos consistia de válvulas e conexões de fios.

No mesmo período, o J. Presper Eckert e John Mauchly projetaram uma máquina que poderia ser usada para calcular a trajetória balística para o exército dos Estados Unidos. Foi Chamado de “Eletronic Numerical Integrator and Computer” – ENIAC.

Page 8: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

8

Arquitetura de Computadores

Eckert e Mauchly se uniram ao Von Neumann (1903-1957), do Institute for Advanced Study de Princeton, para trabalhar num projeto de um computador com armazenamento de programa chamado EDVAC.

O conceito evoluiu e um modelo funcional derivou o EDSAC, contruído por Maurice Wilkes, da Cambridge University, em 1947.

Page 9: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

9

Arquitetura de Computadores

O modelo Von Neumann X Harvard– Existe basicamente dois modelos de arquitetura de

computadores Von Neumann Harvard

Page 10: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

10

Arquitetura de Computadores

Modelo Harvard

Modelo Von Neumann

CPUMemória

deProgramas

Memóriade

Dados

CPU

Memóriade

Programas

Memóriade

Dados

Page 11: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

11

Arquitetura de Computadores

O Modelo Von Neumann– Consiste em cinco

componentes principais, como mostra a figura

Unidade de entrada Unidade de memória Unidade aritmética e lógica Unidade de Controle Unidade Central de

processamento (CPU)

Page 12: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

12

Arquitetura de Computadores

O aspecto principal do modelo de Von Neumann é a possibilidade de usar a memória para armazenar tanto programas como também dados.

Vantagens– Os programas podem ser manipulados facilmente– Possibilitou a criação e evolução de compiladores– Possibilitou a criação e evolução dos sistemas operacionais

Page 13: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

13

Arquitetura de Computadores

Modelo Modernizado– Os computadores modernos usam uma versão que usa o

modelo de barramento de sistema de um sistema de computação

Page 14: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

14

Arquitetura de Computadores

Modelo Von Neumann Aprimorado

Page 15: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

15

Arquitetura de Computadores

Idéia de Barramento– Compartilhamento de dados entre as unidades– Necessidades de identificadores individuais entre

as unidades para se comunicarem– Memória e E/S podem ser identificados de forma

única ou separados– O Barramento de Controle é o mais Complexo,

pois ele é responsável por coordenar o fluxo de dados entre os barramentos.

Page 16: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

16

Arquitetura de Computadores

Níveis das máquinas

Page 17: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

17

Arquitetura de Computadores

Níveis das Máquinas– Para o estudo da computação podemos separar em níveis

que podem apresentar aspectos relacionados deste o usuário, até o mais baixo que pode ser o transistor.

– Estes níveis como visto na figura anterior, inclusive estão sendo discutidos e podem aumentar!

Vantagens– Cria abstrações para diferentes níveis de conhecimento de

um computador. Ex: Usuário, Programador, Engenheiro, Físico, etc.

Page 18: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

18

Arquitetura de Computadores

Níveis das Máquinas– Usuário

Nível de alto nível, onde as pessoas usam o computador para processar textos, planilhas, acessar Internet ou jogar “games” Ex: Word, Email, CS, etc

– Linguagem de Alto Nível Neste nível, as pessoas dedicadas a este tipo de trabalho,

estão acostumadas a programar com linguagens de programação tipo C, Pascal, Basic, Java, etc. Usam compiladores para adequar os comando de alto nível de programação em diferentes máquinas computacionais.

Page 19: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

19

Arquitetura de Computadores

Níveis das Máquinas– Montagem de Código de Máquina

Neste nível, tratamos com uma linguagem de baixo nível, chamada de linguagem de máquina ou código de máquina. Os compiladores normalmente traduzem a linguagem de alto nível para a linguagem de baixo nível, porque está é a linguagem que a máquina entende.

A linguagem de máquina, utiliza um conjunto de instruções que na verdade é uma coleção de comandos presentes na linguagem de baixo nível. Na prática, esses comandos não passam de zeros e uns que combinados formam diversas instruções que o hardware entende.

Como o ser humano não consegue entender bem uma linguagem de máquina, surgiu a linguagem assembly, ou linguagem de montagem, cujo o objetivo foi apenas traduzir os comandos binários em mnemônicos, em outras palavras em palavras de comando que as pessoas pudessem entender melhor.Ex: 00 0001 1000 1100 = CLRF F

Page 20: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

20

Arquitetura de Computadores

Níveis das Máquinas– Controle

A unidade de controle tem papel importante num sistema computacional. Esta unidade é responsável por efetuar a transferência de dados entre registradores. Para isto, interpreta os comandos de acesso a dados e transfere as informações entre registradores.

Uma solução é usar microprogramas. A idéia é que exista uma outra linguagem de mais baixo nível ainda, para tornar flexível a implementação de funcionalidades do código de máquina. Ex: Normalmente isto é feito para compatibilizar linguagem de maquinas antigas em novas arquiteturas mais rápidas como a INTEL faz.

Page 21: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

21

Arquitetura de Computadores

Níveis das Máquinas– Unidades funcionais

Incluem a memória, ALU, registradores, etc– Portas lógicas, transistores e Fios

As unidades funcionais são construídas a partir de circuitos lógicos que por sua vez são feitas de transistores. Eles circuitos são responsáveis por executar as operações mais simples como o AND, OR e NOT. A combinação complexas destas portas lógicas com e uso de temporização permitem fazer o processamento de dados dentro de um computador.

Neste nível, as preocupações com detalhes com níveis de sinal elétrico, corrente, atraso de propagação de sinais, efeito quantico e outros assuntos relacionados são importantes.

Page 22: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

22

Arquitetura de Computadores

Sistema Típico de Computador

Page 23: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

23

Arquitetura de Computadores

Supercomputadores (Mainframe)

(Source: http://www.paralogos.com/DeadSuper)

Page 24: 1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador

24

Arquitetura de Computadores

Lei de Moore– A lei de Moore diz que o poder computacional dobra de

capacidade a cada 18 meses– Investimento de alto risco para a industria de

microprocessadores. Aumenta o valor de investimento ao mesmo tempo que reduz o tempo de retorno de cada novo chip.Ex: é necessário 2,3 ou 4 bilhões de dólares para cada novo projeto de chip mais rápido.