1 / 9

Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans. LABORG. Aula 5 – O Processador Cleópatra: Arquitetura e Programação. 31/março/2008. A arquitetura do Processador Cleópatra.

tate-quinn
Download Presentation

Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fernando Gehm MoraesCésar Augusto Missio MarconNey Laert Vilar Calazans LABORG Aula 5 – O Processador Cleópatra: Arquitetura e Programação 31/março/2008

  2. A arquitetura do Processador Cleópatra • Buscar a definição simplifificada do processador em http://www.inf.pucrs.br/~calazans/undergrad/orgcomp/cleo_resumo.pdf e estudá-la, identificando e aprendendo os cinco elementos definitórios da arquitetura: • Conjunto de Registradores acessíveis ao programador em linguagem de montagem • Modos de Endereçamento • Conjunto de Instruções • Formatos de Instrução • Linguagem de Montagem

  3. Uma organização para Cleópatra • A interface com a memória e com o resto do universo:

  4. Uma organização para Cleópatra • Um exemplo de Bloco de Dados para a Cleópatra:

  5. Programação com o Ambiente CleoSim No Windows, identificar e executar a aplicação Cleo Simulator, abrindo um dos exemplos de aplicação disponibilizados. Depois de abrir, tem-se:

  6. Simulação no Ambiente CleoSim Lista de exercícios a serem resolvidos em aula Dados dois inteiros, A e B, armazenados, respectivamente, nas posições de memória cujos rótulos são n1 e n2, armazenar na posição de memória com rótulo max o max(A, B) (valor máximo entre A e B) e na posição de memória com rótulo min o min(A,B) (definido de forma similar ao max), levar em consideração números positivos e negativos. Descobrir se um número n é múltiplo de um número m qualquer. Pressupor que n possa ser um número positivo ou negativo. Fazer algoritmo que calcule a divisão de um número de 8 bits (armazenado na posição de memória com rótulo v1) por 2, através de subtrações sucessivas. Ao final do algoritmo a parte inteira da divisão deve estar na posição de memória com rótulo int e o resto na posição de memória com rótulo resto. Colocar um valor constante armazenado na posição de memória cujo rótulo é cte em todas as posições de um vetor armazenado à partir da posição de memória cujo rótulo é end1. O número de elementos está armazenado na posição de memória cujo rótulo é end2.

  7. Simulação no Ambiente CleoSim No Windows, após abrir um arquivo e montá-lo usar a opção Rodar para ter acesso ao simulador:

  8. Simulação no Ambiente CleoSim A Fazer e Entregar: Tarefa 1: Onde começam e terminam as memórias de instruções e de dados, respectivamente? O que acontece com todas as posições de memória não referidas explicitamente como memória de dados ou de programa no simulador? Tarefa 2: Como se dá a geração dos endereços associados aos rótulos? Dê pelo menos dois exemplos de geração, pelo menos um de geração de rótulo para posição do programa e pelo menos um para posição da memória de dados. Tarefa 3: Realizar um dos exercícios propostos na lista a seguir.

  9. Simulação no Ambiente CleoSim Lista de exercícios a serem resolvidos: Subtrair uma constante a um vetor armazenado à partir da posição de memória cujo rótulo é end1. O número de elementos está armazenado na posição de memória cujo rótulo é end2. Fazer um algoritmo que lê um array, calcula o número de elementos pares e ímpares e informa qual é o maior par e o maior ímpar. Escrever um programa para mover um vetor armazenado entre os endereços de memória com rótulos inicio1 e fim1 para os endereços cujos rótulos são inicio2 e fim2. Assumir que as seguintes condições são verdadeiras: valor(inicio1) < valor (fim1), valor (inicio2) < valor (fim2), (fim1-inicio1) = (fim2-inicio2) = (tamanho do vetor –1). Contar o número de posições de memória com conteúdo igual a uma constante, armazenada em uma posição de memória cujo rótulo é CTE, no vetor armazenado entre os endereços 080H e 0F5H.

More Related