Anda di halaman 1dari 54

Arquitetura de Computadores I

Prof. Leonel Tedesco


leoneltedesco@unisc.br

Aula 1 Introduo
Slides adaptados de Computer Architecture: A Quantitative Approach, Second Edition, by John Hennessy and David Patterson. Copyright 2003 David H. Albonesi and the University of Rochester. Colaborao dos professores Alexandra C. P. de Aguiar, Mrcio E. Kreutz, Rafael R. dos Santos e Tatiana G. S. dos Santos

O que tratado em Arq I ?

O alto nvel da organizao do hardware

acima do nvel de portas lgicas e mquinas de estado

E, o baixo nvel da linguagem assembly

Abaixo do nvel das linguagens como C, Pascal, etc

Em outras palavras: a interface entre hardware e software

Arquitetura de Computadores I Leonel Tedesco Slide 2

Ementa
Sistemas numricos. Introduo arquitetura de computadores. Linguagem de descrio de hardware (HDL). Avaliao de desempenho. Definio de dados, endereos, modos de endereamento e conjunto de instrues. Linguagem de mquina, montadores, relao entre programao em alto e baixo nvel. Parte de controle e de dados.

Arquitetura de Computadores I Leonel Tedesco Slide 3

Aps Arq I voc ser capaz de:

Determinar quais so as caractersticas que devem ser observadas quando se est projetando (ou escolhendo) a linguagem de mquina de um processador/computador
Uma vez que a linguagem de mquina tenha sido escolhida, determinar quais so os pontos importantes a serem considerados no projeto do processador e da hierarquia de memria

Por fim, definir como linguagem e microprocessador interagem no sistema de computao


Arquitetura de Computadores I Leonel Tedesco Slide 4

Outras informaes importantes

Livro texto:

Computer Organization and Design: The Hardware/Software Interface, Patterson and Hennessy

Pr-requisitos

Sistemas digitais

Avaliao Atividades em aula 10% Trabalhos 40% Provas 50%


Arquitetura de Computadores I Leonel Tedesco Slide 5

Metodologia de avaliao
Padro do mail de entrega:
Subject: [ArqCompI] Nome do Aluno (AtivAula | ListaExerc | Trab) Nmero [ArqCompI] Nomes dos Alunos (AtivAula | ListaExerc | Trab) Nmero Exemplo: [ArqCompI] Leonel Tedesco AtivAula 1 Arquivos em anexo: AtivAula_NumeroDaAtividade_Aluno.zip ListaExerc_NumeroDaLista_Aluno.zip Trab_NumeroDoTrab_Aluno.zip Exemplo: AtivAula_1_LeonelTedesco.zip

Arquitetura de Computadores I Leonel Tedesco Slide 6

Outras informaes importantes

Qualquer dvida, sugesto, crtica:


Pode marcar horrio; Pode mandar email: leoneltedesco@unisc.br; Pode conversar no intervalo ou durante as aulas; O EAD uma ferramenta muito utilizada nas aulas:

Cadastrem seu e-mail corretamente Para qualquer comunicao (mesmo que sobre uma tarefa a ser enviada) mandem mensagem via EAD ou email. Caso no tenham resposta MANIFESTEM-SE.

Arquitetura de Computadores I Leonel Tedesco Slide 7

Dvidas ?!
Avaliao Mtodos Provas e trabalhos Etc...

Introduo

Introduo arquitetura de computadores:

Nveis hierrquicos Clulas bsicas (componentes) e sistema

Parte de controle e parte operativa


Modelo de von Neumann

Arquitetura de Computadores I Leonel Tedesco Slide 9

Nveis Hierrquicos

Arquitetura de Computadores I Leonel Tedesco Slide 10

Conceito de clula

Arquitetura de Computadores I Leonel Tedesco Slide 11

Conceito de sistema

Arquitetura de Computadores I Leonel Tedesco Slide 12

Componentes do sistema

Arquitetura de Computadores I Leonel Tedesco Slide 13

Unidade de controle (CPU)

Arquitetura de Computadores I Leonel Tedesco Slide 14

Conexo externa (pinos)

Arquitetura de Computadores I Leonel Tedesco Slide 15

Registrador

Arquitetura de Computadores I Leonel Tedesco Slide 16

Banco de Registradores

Arquitetura de Computadores I Leonel Tedesco Slide 17

Clula de memria

Arquitetura de Computadores I Leonel Tedesco Slide 18

Sistema de memria

Arquitetura de Computadores I Leonel Tedesco Slide 19

Bloco de memria

Arquitetura de Computadores I Leonel Tedesco Slide 20

Decodificadores / codificadores

Arquitetura de Computadores I Leonel Tedesco Slide 21

Processador (viso interna)

Arquitetura de Computadores I Leonel Tedesco Slide 22

Processador

Arquitetura de Computadores I Leonel Tedesco Slide 23

Linguagens de programao

Arquitetura de Computadores I Leonel Tedesco Slide 24

Modelo de von Neumann

Duas definies bsicas:

Tipo de organizao e arquitetura de computadores

Instrues e dados colocados juntos em uma mesma memria (oposto a arquitetura Harvard, onde instrues e dados so armazenados separadamente)

Coloquialmente, computadores von Neumann designam computadores que executam uma nica sequncia de instrues que operam sobre um nico fluxo de dados

Ou seja, coloquialmente falando, computadores von Neumann so os computadores atuais.

Arquitetura de Computadores I Leonel Tedesco Slide 25

Modelo de von Neumann

Um pouco de histria

1940 Computador Princeton (ao invs de von Neumann) oposto ao Harvard Conceito de programa armazenado:
Instrues da mquina e dados dos programas so armazenados na memria do computador da mesma maneira

Conceitos aplicados em um computador real, no IAS (Institute Advanced Study)

Arquitetura de Computadores I Leonel Tedesco Slide 26

Modelo de von Neumann

Arquitetura von Neumann

CPU

Unidade de controle ULA ou ALU (arithmetic and logic unit) Atravs de um subsistema de E/S (Entrada / Sada)

CPU interage com a memria

Conceito chave da arquitetura:

Armazenamento de dados e instrues da mesma forma


Contedo da memria definido pela maneira como interpretado

Variedade de instrues podem ser executadas

Conjunto o ISA (Instruction-Set Architecture)

Execuo das instrues obedece um sinal peridico de relgio (clock signal)


Arquitetura de Computadores I Leonel Tedesco Slide 27

Modelo de von Neumann

CPUs tm tido suas velocidades aumentadas seguidas pela lei de Moore

Arquitetura de Computadores I Leonel Tedesco Slide 28

Modelo de von Neumann

Componentes do sistema de memria tiveram suas velocidades aumentadas em ritmo mais lento
Memrias Cache so um meio importante de aumentar a velocidade mdia dos sistemas de memria

Dados mais recentemente usados so armazenados em uma memria rpida (cache), perto do processador

Arquitetura de Computadores I Leonel Tedesco Slide 29

Modelo de von Neumann

Resumindo

3 componentes bsicos: CPU, memria e dispositivos de entrada e sada Memria armazena dados e instrues dos programas CPU busca dados e instrues na memria, executa as instrues e armazena valores resultantes novamente na memria Dispositivos de entrada (teclado, mouse) Dipositivos de sada (tela, impressora)

Arquitetura de Computadores I Leonel Tedesco Slide 30

Modelo de von Neumann

Arquitetura de Computadores I Leonel Tedesco Slide 31

Modelo de von Neumann

Subunidades e parte operativa da CPU

CPU o crebro do computador

Conjunto de instrues que uma CPU pode entender e executar a linguagem de mquina do computador ISA
Programadores controlam o comportamento da CPU atravs dos programas seja em linguagem de mquina seja em linguagem alto nvel

Arquitetura de Computadores I Leonel Tedesco Slide 32

Modelo de von Neumann

Subunidades da CPU

Unidade lgico aritmtica circuitos que realizam operaes sobre dados Registradores posies de memria construdas dentro da CPU (acesso mais rpido, porm qtde limitada de regs). Barramentos so usados para copiar dados da memria principal para os registradores Unidade de Controle - crebro dentro do crebro, controla vrias funes da CPU
Arquitetura de Computadores I Leonel Tedesco Slide 33

Modelo de von Neumann

Subunidades da CPU

Registradores

Unidade de Controle (UC) Unidade Lgico Aritmtica - ULA

Arquitetura de Computadores I Leonel Tedesco Slide 34

Modelo de von Neumann

Palavra: 16 bits (unidade bsica de informao transferida entre CPU e memria Tipo de dados: inteiros

Registradores: 1 aritmtico (Acumulador)

Arquitetura de Computadores I Leonel Tedesco Slide 35

Modelo de von Neumann

Memria: 8K palavras (213)

Arquitetura de Computadores I Leonel Tedesco Slide 36

Modelo de von Neumann

Ciclos da parte operativa

Parte operativa: caminho dos dados dentro da CPU (atravs de barramentos, a partir dos regs para a ULA e de volta para os regs) Uma passagem completa conhecida como ciclo Cada instruo precisa de um determinado nmero de ciclos para executar (CPI Cycles per Instruction) Hoje, vrias instrues so executadas em um nico ciclo (IPC Instruction per Cycle) Velocidade da CPU est diretamente ligada a quantidade de ciclos que sero executados em um segundo (frequncia de operao) MHz Milhes de instrues por segundo Frequncia no a nica medida que relata velocidade

Arquitetura de Computadores I Leonel Tedesco Slide 37

Modelo de von Neumann

CPU e memria principal


Dados trafegam da memria principal para os registradores Barramento por onde trafegam os dados Memria dividida em posies (endereos) que permitem que os dados sejam encontrados
Registradores
Memria

Unidade de Controle (UC)

Unidade Lgico Aritmtica ULA

Arquitetura de Computadores I Leonel Tedesco Slide 38

Modelo de von Neumann

Passos para somar 500 nmeros

1. Inicializar um dos registradores que ir armazenar a soma total dos nmeros 2. Para cada nmero armazenado nos endereos de memria de 0 at 500:
a. Copiar o nmero da memria principal para outro registrador b. Executar um ciclo atravs da parte operativa da CPU para somar R0 e R1 e armazenar o resultado de volta em R0.

3. Quando todos os valores dos nmeros no arquivo tiverem sido processados, o valor em R0 ter a soma total. Este valor pode ento ser copiado de volta para uma posio na memria principal.
Arquitetura de Computadores I Leonel Tedesco Slide 39

Modelo de von Neumann

Programa armazenado: tarefas podem ser representadas por instrues, armazenadas na memria principal junto com os dados e executadas pela unidade de controle Linguagens de mquina: conjunto de instrues correspondentes s tarefas bsicas da CPU Exemplo:

Barramento A = R0 Chave da ULA = fechada Barramento B = R1 Chave MMIn = aberta ALU = A+B Chave MMOut = aberta Barramento C = R2 Chave C = fechada

Definiria uma configurao na qual os contedos de R0 e R1 seriam somados e o resultado armazenado de volta em R2. Arquitetura de Computadores I Leonel Tedesco
Slide 40

Modelo de von Neumann

Instrues so padres de bits que podem ser convertidos para numerao binria e armazenadas na memria

Os primeiros bits de cada padro indicam o tipo de tarefa que a CPU deve realizar Os bits seguintes indicam os registradores e/ou posies de memria envolvidas na tarefa. Os seis bits finais da instruo representam o registrador destino em binrio e os registradores fonte

Arquitetura de Computadores I Leonel Tedesco Slide 41

Modelo de von Neumann


Por exemplo, suponha que voc quer somar os contedos de R0 e R1 e ento armazenar o resultado em R2 - isto R2 = R0 + R1. Os padres de bits para R2 (2 = 10 em binrio), R0 (0 = 00 em binrio) e R1 (1 = 01 em binrio) devem ser acrescentados no final do padro de bits, produzindo a instruo em linguagem de mquina 1010000100 10 00 01. De maneira semelhante, se a inteno fazer R3 = R0 + R1, ento o padro de bits para R3 (3 = 11 em binrio) deve substituir o de R2: 1010000100 11 00 01.

Arquitetura de Computadores I Leonel Tedesco Slide 42

Modelo de von Neumann - exemplo de ISA


Operao Instruo em Linguagem de Mquina Exemplo 1010000100 00 01 10 1010000100 RR RR RR somar os contedos de R1 (01) e R2 (10), armazenando resultado em R0 (00) 1010001000 00 01 10 1010001000 RR RR RR pega o contedo de R1 (01), subtrai R2 (10), e aramzena resultado em R0 (00) 100000010 11 00101 carrega contedo da posio de memria 5 (00011) em R3 (11)

somar contedo de dois registradores, armazenar resultado em outro regsitrador p.ex., R0 = R1 + R2


subtrair contedo de dois registradores, armazenar resultado em outro regsitrador p.ex., R0 = R1 - R2

carregar contedo da posio de memria em um 100000010 RR MMMMM registrador p.ex., R3 = M[5]


Arquitetura de Computadores I Leonel Tedesco Slide 43

Modelo de von Neumann - exemplo de ISA


Operao armazena contedo de registrador em uma posio de memria p.ex., M[5] = R3 move contedo de um registrador para outro registrador p.ex., R1 = R0 parar a mquina 1111111111111111 Instruo em Linguagem de Mquina Exemplo 100000100 11 00101 100000100 RR MMMMM armazena na posio de memria 5 (00101) o contedo de R3 (11) 100100010000 01 00 100100010000 RR RR

move contedo de R0 (00) para R1 (01)

Arquitetura de Computadores I Leonel Tedesco Slide 44

Modelo de von Neumann - outro exemplo de ISA

Conjunto de instrues: 8 instrues


5 de referncia memria 3 de referncia ao acumulador

Formato das instrues: 16 bits


COD ENDEREO

Arquitetura de Computadores I Leonel Tedesco Slide 45

Modelo de von Neumann

Tabela de instrues hipotticas

Arquitetura de Computadores I Leonel Tedesco Slide 46

Modelo de von Neumann

Unidade de Controle

Busca instrues da memria Interpreta (decodifica) seu significado Executa o ciclo da CPU Passa para prxima instruo

Computadores reais, SO (sistema operacional) controla: mantm uma lista de cada programa em memria e sua localizao O simulador prev que a primeira instruo sempre esteja na primeira posio de memria
Arquitetura de Computadores I Leonel Tedesco Slide 47

Modelo de von Neumann

Contador de programa Program Counter PC

1. 2.

3.

Armazena o endereo da prxima instruo a ser executada Inicializa PC = 0. Busca a instruo armazenada na posio de memria indicada pelo contedo do PC e faz PC = PC + 1. Enquanto a instruo corrente no for a instruo "parar" (HALT):
Decodifica a instruo - isto , identifica a instruo e determina as configuraes do hardware da CPU que devem ser usadas para executar a instruo. Configura o hardware da CPU para corresponderem ao indicado pela instruo. Executa um ciclo de parte operativa da CPU. Quando o ciclo se completa, busca a prxima instruo a partir da posio indicada pelo contedo do PC, e faz PC = PC + 1.
Arquitetura de Computadores I Leonel Tedesco Slide 48

1.

2.

3. 4.

Modelo de von Neumann - Organizao

Arquitetura de Computadores I Leonel Tedesco Slide 49

Modelo de Von Neumann

Arquitetura de Computadores I Leonel Tedesco Slide 50

Exerccios

Simulador da pgina: http://www.course.com/downloads/computerscie nce/aeonline/7/5/index.html


Seguir as instrues (7 questes) que esto na pgina.

Arquitetura de Computadores I Leonel Tedesco Slide 51

Exerccios

Indique as trs subunidades da CPU e descreva a funo de cada uma na execuo das computaes. O que a Parte Operativa da CPU? Qual a relao que existe entre a Parte Operativa e a velocidade da CPU? Considere dois sistemas de computao que so idnticos exceto por suas CPUs. O sistema 1 contm um Pentium 4 a 1,8 GHz, enquanto o sistema 2 contm um PowerPC a 1,8 GHz. Estes dois sistemas sempre iro precisar da mesma quantidade de tempo para realizar um dado programa? Justifique sua resposta.

Arquitetura de Computadores I Leonel Tedesco Slide 52

Exerccios

Considere as seguintes tarefas: (1) somar 100 nmeros armazenados na memria principal e (2) somar um nmero a ele mesmo 100 vezes. Apesar de ambos os programas precisarem de 100 adies, o segundo poder ser executado muito mais rapidamente do que o primeiro? Por que? As linguagens de mquina so especficas de uma dada mquina, o que significa que cada tipo de computador tem sua prpria linguagem de mquina. Explique por que isto acontece. Na Unidade de Controle, qual a funo do Contador de Programa (PC)? Ou seja, como o PC usado na busca e execuo das isntrues?

Arquitetura de Computadores I Leonel Tedesco Slide 53

Referncias

Artigo, Von Neumann Computers, Rudolf Eigenmann e David Lilja Livro texto A Balanced Introduction to Computer Science and Programming de David Reed, Creighton University, Prentice Hall (Captulo 14) Simuladores encontrados na web

http://professores.faccat.br/assis/davereed/KandS/datapat h.html http://professores.faccat.br/assis/davereed/KandS/dpandm em.html http://professores.faccat.br/assis/davereed/KandS/comput er.html http://www.course.com/downloads/computerscience/aeonli ne/7/5/index.html


Arquitetura de Computadores I Leonel Tedesco Slide 54

Anda mungkin juga menyukai