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
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.
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
Livro texto:
Computer Organization and Design: The Hardware/Software Interface, Patterson and Hennessy
Pr-requisitos
Sistemas digitais
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
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.
Dvidas ?!
Avaliao Mtodos Provas e trabalhos Etc...
Introduo
Nveis Hierrquicos
Conceito de clula
Conceito de sistema
Componentes do sistema
Registrador
Banco de Registradores
Clula de memria
Sistema de memria
Bloco de memria
Decodificadores / codificadores
Processador
Linguagens de programao
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
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
CPU
Unidade de controle ULA ou ALU (arithmetic and logic unit) Atravs de um subsistema de E/S (Entrada / Sada)
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
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)
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
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
Subunidades da CPU
Registradores
Palavra: 16 bits (unidade bsica de informao transferida entre CPU e memria Tipo de dados: inteiros
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
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
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
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
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
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
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.
Exerccios
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.
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?
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