R10k: Um Simulador de Arquitetura Superescalar

Tamanho: px
Começar a partir da página:

Download "R10k: Um Simulador de Arquitetura Superescalar"

Transcrição

1 R10k: Um Simulador de Arquitetura Superescalar Nelson A. Gonçalves Junior¹, Renata C. Lopes da Silva 2, Ronaldo A. Lara Gonçalves³, João Angelo Martini 4 Departamento de Informática Universidade Estadual de Maringá Maringá, PR - Brasil {njunior¹, renatals², ronaldo³, jangelo 4 }@din.uem.br Resumo Simulação é uma técnica muito utilizada na área de arquitetura de computadores para reproduzir o comportamento de um sistema real. Tal técnica é utilizada para testes e validação de arquiteturas experimentais e para dar suporte ao ensino e aprendizagem de fundamentos de arquitetura de computadores. Diversos simuladores de processadores têm sido propostos, abrangendo desde modelos básicos que simulam a arquitetura de Von Neumann até modelos que simulam arquiteturas de alto desempenho. Porém, o que se percebe é a escassez de simuladores com boa interface gráfica que dêem suporte principalmente ao ensino e aprendizagem de arquiteturas superescalares. Neste contexto, o presente trabalho apresenta um simulador de arquitetura superescalar, baseado no processador MIPS R10000, desenvolvido com o objetivo de dar suporte ao processo de ensino-aprendizagem de processadores superescalares. O simulador foi desenvolvido de maneira a facilitar o entendimento das estruturas internas e do comportamento do processador. 1. Introdução Simulação é uma técnica muito utilizada atualmente, pois permite o estudo do comportamento de sistemas através de modelos que imitam suas características. Dessa forma é possível efetuar um estudo detalhado das propriedades de um sistema e observar seu funcionamento. Em relação à arquitetura de computadores, a técnica tem sido utilizada para a validação de protótipos, para a análise de desempenho e para ensino de processadores, mostrando como cada componente se comporta durante a execução de programas. Muitos simuladores arquiteturais têm sido propostos de forma a facilitar a compreensão de modelos arquiteturais específicos. Tais simuladores abrangem modelos básicos, como a arquitetura de Von Neumann [1] representada no processador 8085 [2] através dos simuladores Abacus [3] e GNUSim8085 [4] e arquiteturas pipelined como nos simuladores WinMIPS64 [5] e EduMIPS64 [6], que mostram o comportamento do processador MIPS 64. Além disso, há simuladores para arquiteturas superescalares, como SimpleScalar [7], SATSim [8] e SIMDE [9]. Porém, o que se percebe é que, além da existência de poucos simuladores para arquiteturas superescalares, eles são de difícil entendimento ou apresentam apenas uma visão geral destes modelos. Neste contexto, o presente trabalho apresenta um simulador gráfico para arquiteturas superescalares, baseado no processador MIPS R10000 [10]. Com este simulador, pretende-se dar suporte ao processo de ensino-aprendizagem de uma arquitetura superescalar, mostrando o comportamento dos componentes do processador a cada ciclo de instrução. Arquiteturas superescalares [11] são caracterizadas pelo paralelismo em nível de instrução. Diferente de modelos anteriores, como o de Von Neumman e as arquiteturas pipelined, essas arquiteturas possuem a capacidade de buscar várias instruções por ciclo. Elas também possuem diversas unidades funcionais, o que torna possível a execução paralela de instruções. Alguns exemplos de processadores superescalares são: PowerPC [12] da IBM, Pentium [13] da Intel e versões mais recentes do MIPS [14], da MIPS Technologies, Inc. 2 Mestranda bolsista Fundação Araucária 23

2 Dentre essas versões do MIPS, o R10000 foi desenvolvido em 1995, sendo a segunda variante superescalar deste processador, posterior ao R8000. O MIPS R10000 possui cinco unidades funcionais diferentes, sendo capaz de executar paralelamente até cinco instruções distintas. A maior inovação deste processador foi a capacidade de executar instruções fora de ordem, trazendo ganho de desempenho e redução na ociosidade das unidades funcionais. O desempenho do processador foi muito bom, o que o levou a servir de modelo para núcleos de processadores desenvolvidos posteriormente. Todavia, o entendimento do funcionamento de uma arquitetura superescalar pode ser complexo, uma vez que essas arquiteturas manipulam diversos componentes, como filas de busca, decodificação e reordenação, ao mesmo tempo. Um aluno da disciplina de Arquitetura e Organização de Computadores pode ter dificuldade com essa aprendizagem, uma vez que a troca de instruções entre os componentes é constante e diversas estruturas são envolvidas. Neste contexto, a simulação é utilizada de forma a facilitar o entendimento dos componentes internos de uma arquitetura superescalar. Assim, é introduzido o R10k, um simulador baseado no MIPS R10000, apresentando todas as estruturas do processador real, de forma a simular o comportamento do processador durante a execução de um programa. O simulador pode ser obtido através da seguinte url: 2. Trabalhos Relacionados A utilização de simuladores para facilitar a compreensão do funcionamento de processadores ou modelos arquiteturais tem sido constante recentemente. Isso porque os simuladores facilitam o entendimento da manipulação das estruturas de um sistema. Estudantes podem observar o funcionamento de um sistema real, imitado pelo simulador, e verificar como as instruções ou estruturas são manipuladas. Existem inúmeros simuladores de processadores simples, baseados na arquitetura de Von Neumann. Exemplos de simuladores desse tipo são o Abacus e o GNUSim8085 baseados no processador 8085 da Intel. O Abacus apresenta um conjunto de 80 instruções e todos os registradores do processador, incluindo registradores especiais como o PC, SP, Acumulador e os Flags. Além disso, ele permite a simulação de chamadas de interrupção. As memórias de dados, de instruções e a pilha de dados também podem ser observadas, bem como suas alterações durante a execução do programa. Outro simulador baseado no processador 8085 é o GNUSim8085. A principal diferença entre este simulador e o Abacus é a plataforma em que opera. Enquanto o Abacus foi implementado para sistemas Windows, o GNUSim8085 opera em sistemas POSIX (Linux, BSD, Unix-like SOs). Todavia, as funcionalidades de ambos são parecidas. Nos dois simuladores os dados são apresentados com valores hexadecimais. Porém, uma vantagem do GNUSim8085 é a presença de um conversor de valores hexadecimais para decimais. Dessa forma, fica mais simples a conferência de resultados. Tanto o Abacus quanto o GNUSim8085 cumprem o que se propõem a fazer, que é a simulação do processador Porém, algumas limitações são impostas, não pelos simuladores, mas pela própria arquitetura do 8085, que é muito limitada. Uma dessas limitações é a utilização de instruções com um único operando. Apenas instruções MOV possuem dois operandos. Assim, os simuladores mostram-se adequados para conceitos iniciais de microprocessadores, uma vez que simulam uma arquitetura básica. Outro par de simuladores com características semelhantes são o WinMIPS64 e o EduMIPS64. Ambos simulam uma arquitetura pipelined baseada no conjunto de instruções do MIPS 64. Nesses simuladores é possível observar o caminho que uma instrução percorre através do pipeline, mostrando a inserção de bolhas e estatísticas da simulação, como números de ciclos de clock, quantidade de instruções executadas e quantidade de desvios tomados e mal previstos. Ambos os simuladores apresentam 32 registradores de inteiro e 32 de ponto flutuante. O EduMIPS64 apresenta ainda os registradores HI e LO, utilizados para o armazenamento de resultados em operações de divisão e multiplicação. Dessa forma, ele se mantém mais fiel a arquitetura MIPS real, que também utiliza esses registradores para tais instruções. A principal desvantagem desses simuladores é a não existência de uma área destinada a edição de código. Ambos os simuladores possuem interface de fácil entendimento e são muito úteis para esclarecer os conceitos de pipeline. Simuladores para arquiteturas superescalares vêm sendo propostos recentemente. Um deles é o MIDAS [15]. Baseado no MIPS R10000 este simulador apresenta um diagrama de blocos do processador, mostrando o percurso de instruções através dos diversos componentes do processador. Assim, é possível observar o caminho que uma instrução faz até ser executada. O simulador permite a visualização dos elementos da arquitetura, como as filas de remessa, unidades de execução, banco de registradores e 24

3 memória, mostrando inclusive a conexão entre cada elemento. Porém, apenas uma versão beta do MIDAS está disponível, apresentando diversos bugs. Os desenvolvedores não deram seqüência ao projeto, não oferecendo suporte ao mesmo. Existe ainda uma falta de documentação, não especificando detalhes fundamentais, como o conjunto de instruções suportadas. O SATSim é um simulador gráfico interativo para arquiteturas superescalares. Ele simula uma arquitetura genérica, não sendo baseado em um processador específico. Uma das vantagens do simulador é permitir a alteração dos parâmetros da arquitetura. Dessa forma, é possível alterar o número de instruções buscadas por ciclo, a quantidade de estações de reserva por unidade de execução, o número de entradas no buffer de reordenação e a quantidade de unidades de execução por tipo de instrução, entre outros parâmetros. O simulador produz ainda um arquivo de saída com diversas informações da simulação. Porém, a interface do SATSim é confusa, dificultando o rastreamento das instruções através dos componentes da arquitetura, que não são dispostos de forma a facilitar o entendimento do funcionamento de arquiteturas superescalares. Os arquivos de entrada também são bastante confusos. Dessa forma, programas diferentes dos exemplos que vêm com o simulador são praticamente impossíveis de serem simulados. Outro simulador disponível é o SIMDE. Além de arquiteturas superescalares, este simulador é capaz de simular um processador VLIW. Assim como no SATSim, alguns parâmetros podem ser configuráveis, como o número de unidades funcionais e a quantidade de instruções remetidas por ciclo. O simulador possui interface de fácil compreensão, facilitando o rastreamento das instruções através da arquitetura. Porém, o espaço, na interface, para a apresentação de todas as unidades funcionais e estações de reserva é insuficiente. A estação de reserva e unidade funcional para desvios são omitidas, sendo necessário reconfigurar a interface para que elas possam ser observadas. O simulador apresenta um conjunto de vinte instruções, entre instruções de inteiro e ponto flutuante, pecando ao excluir algumas instruções fundamentais, como divisão e saltos incondicionais. Além disso, faltam instruções para operações envolvendo pilha e chamadas de subrotina e há pouco espaço destinado para a memória de instruções e registradores. São 16 registradores ao todo, sendo 8 de inteiro e 8 de ponto flutuante, e apenas 8 posições de memória para a leitura e escrita de dados, o que limita os programas escritos para o simulador. Já o SimpleScalar é um pacote de simuladores para a análise de arquiteturas superescalares. Possui um conjunto de oito simuladores para a realização de diferentes análises, como nas previsões de desvio, cache e execução especulativa. É um ótimo simulador para pesquisadores, uma vez que permite a alteração do código fonte para se adequar melhor às necessidades dos usuários, e gera uma grande quantidade de informações que podem ser úteis à pesquisa. Todavia, o SimpleScalar não é um simulador gráfico, dificultando muito a compreensão da funcionalidade de arquiteturas superescalares. Para a utilização deste simulador é necessário ter um conhecimento prévio destas arquiteturas. Cada um dos simuladores analisados apresenta características particulares, com vantagens e desvantagens em relação ao uso como ferramenta de apoio didático. Apesar da diversidade de simuladores disponíveis, há espaço para o desenvolvimento de novos simuladores, visto que o espectro de características didáticas a ser explorado é amplo. Fundamentos importantes podem ser explorados pelos novos simuladores, como: comportamento dos desvios, chamadas de subrotina e instruções de pilha em arquiteturas superescalares. Neste contexto, o presente trabalho apresenta um simulador gráfico para arquiteturas superescalares, que visa facilitar o entendimento do funcionamento de tais arquiteturas, possibilitando a visualização do caminho que uma instrução percorre até ser executada. 3. Arquiteturas Superescalares e o MIPS R10000 Um processador superescalar é capaz de buscar, executar e finalizar diversas instruções ao mesmo tempo. Diferentes de arquiteturas pipelined, que dividem o ciclo de uma instrução em diversos estágios, nos pipelines superescalares cada estágio é capaz de receber mais de uma instrução. Além disso, os processadores superescalares possuem diversas unidades de execução, tornando-os capazes de executar diferentes instruções em paralelo. Para a realização deste trabalho foi escolhido um processador superescalar específico, de forma a deixar a execução das instruções mais próxima de um processador real. Dessa forma, foi escolhido o MIPS R10000 para o desenvolvimento do simulador. O MIPS R10000 é capaz de buscar e decodificar quatro instruções diferentes em um mesmo ciclo de clock. As filas de busca e decodificação são capazes de armazenar oito instruções simultâneas. No estágio de busca também é realizada a previsão de desvios. Para 25

4 isso, o processador possui uma tabela de 512 entradas, cada uma com dois bits que indicam se o desvio será tomado ou não. A cada finalização de uma instrução de desvio, a tabela é atualizada, e caso a previsão ocorra de forma errônea, todo o pipeline deve ser reiniciado e o contador de programa receberá o endereço correto para continuar sua execução. Durante a decodificação, para cada instrução é inserida uma entrada na fila de reordenação. Isso implementa o algoritmo de Tomasulo [16] na arquitetura, permitindo a execução das instruções fora de ordem. A fila de reordenação garante que elas sejam finalizadas em ordem, mantendo o estado consistente do processador. Após a decodificação as instruções vão para as filas de instruções, também chamadas de estações de reserva. O MIPS R10000 possui três dessas estações, sendo uma reservada para instruções que envolvem operações de inteiro, outra para operações de ponto flutuante e a terceira é destinada para operações de acesso à memória (Load e Store). Cada fila de instruções é capaz de armazenar 16 instruções. O despacho para as unidades funcionais ocorre a partir dessas filas. Nas filas de inteiro e ponto flutuante o despacho pode ser fora de ordem, sendo que a primeira instrução pronta para a execução é enviada à sua unidade de execução. Já na fila de endereços, utilizada para operações de acesso à memória, o despacho é realizado em ordem, dessa forma esta fila deve ser uma FIFO, onde a primeira instrução a entrar é a primeira a ser enviada para execução. O processador possui também cinco unidades funcionais. São duas para operações de ponto flutuante, uma para inteiro e outra para cálculo de endereços. Esta última unidade realiza operações de leitura e escrita na memória, tanto para operações de inteiro quanto para as de ponto flutuante. Nas unidades de inteiro, a primeira, denominada ALU1, é utilizada para operações de adição, subtração, deslocamento, lógicas e conferência de previsões de desvio. Na segunda unidade, ALU2, além de operações de adição, subtração e operações lógicas, são realizadas operações de multiplicação e divisão de inteiros. Nas unidades de ponto flutuante a execução é dividida em três estágios. Os dois primeiros ciclos são para execução da instrução e o terceiro é para envio dos resultados. Uma das unidades é utilizada para adição, subtração e comparação de ponto flutuante enquanto a outra unidade é utilizada para multiplicação e divisão. A figura 1 mostra a organização da arquitetura do MIPS R10000 com todos os seus componentes. Figura 1. Organização da arquitetura do MIPS R

5 O MIPS R10000 apresenta ainda um conjunto de 128 registradores de propósito geral, sendo 64 para inteiro e 64 para ponto flutuante. Além disso, existem registradores especiais, como o SP que aponta para o topo da pilha, o PC que indica a próxima instrução a ser buscada e os registradores HI e LO, utilizados para armazenar resultados de operações de multiplicação e divisão. A partir da arquitetura do MIPS R10000 foi desenvolvido o simulador R10k, visando facilitar a compreensão de como uma arquitetura superescalar funciona e introduzindo conceitos relacionados a essas arquiteturas, como previsão de desvios, dependência de dados, execução fora de ordem, chamadas de subrotinas e instruções de acesso à pilha. 4. R10k O simulador proposto e desenvolvido foi denominado R10k, uma vez que é baseado no MIPS R Ele introduz um subconjunto de 29 instruções do MIPS R10000 [17], entre desvios condicionais e incondicionais e operações de lógicas, aritméticas, transferência de dados e acesso à memória. Chamadas de subrotinas foram implementadas através da instrução JAL (Jump and Link), sendo o retorno através da instrução JR (Jump to Register), na qual o registrador especificado deve ser o topo da pilha. Já o acesso à pilha foi implementado através de instruções LOAD e STORE. Para diferenciar de instruções de acesso à memória de dados deve-se especificar o SP, ponteiro de pilha (stack pointer) como registrador base. A figura 2 apresenta a interface do simulador. O simulador apresenta todas as estruturas utilizadas pela arquitetura do MIPS R A memória foi dividida de forma a facilitar a visualização. Assim, tem-se a memória de dados e a memória de instruções com 256 posições, sendo que vinte posições da memória de dados são reservadas para pilha. Figura 2. Interface do simulador R10k 27

6 Também é possível editar a memória de dados para a inserção de valores iniciais. Porém, isso só é possível antes de iniciar uma simulação. Após o inicio da simulação, tanto a memória de dados, quanto a de instruções não podem ser mais alteradas. Caso seja necessária alguma alteração deve-se reiniciar a execução do programa. Assim como no processador real, um banco de 128 registradores de propósito geral também é disponibilizado no simulador R10k, sendo 64 de inteiro e 64 de ponto flutuante. Para facilitar a compreensão do funcionamento da arquitetura os valores dos registradores e da memória de dados são especificados em base decimal. Dessa forma, a conferência de resultados é facilitada. Os valores dos registradores especiais PC, SP, HI e LO também podem ser observados na interface do programa. Esses valores são alterados apenas através de instruções. Além disso, os valores de SP e PC são marcados na pilha e memória de instruções, respectivamente, para facilitar o acompanhamento da execução do programa. Dois flags também são apresentados, o Z, que mostra se o resultado de uma operação é igual a zero e o N, que mostra se o resultado de uma operação é negativo. Esses flags são utilizados principalmente em instruções de desvios condicionais, para verificar se o desvio foi previsto corretamente. Durante a decodificação de uma instrução é verificado se existe dependência de dados verdadeira. Essa dependência ocorre quando uma instrução está prestes a modificar o conteúdo de um registrador e outra instrução que vem em seguida tenta acessar esse mesmo registrador. Com isso, a segunda instrução deve esperar que a primeira seja executada para só então ter acesso ao novo valor do registrador. O simulador R10k trata este problema, fazendo com que instruções que possuam dependências não sejam executadas até que a dependência seja resolvida. Além disso, instruções dependentes são demarcadas para facilitar a visualização deste problema. Se uma instrução que está na primeira posição da fila de ponto flutuante ou da fila de inteiros possui dependência, ela não pode ser enviada para sua unidade de execução. Dessa forma, é verificado nas filas se uma instrução em alguma posição subjacente está pronta para a execução. Se estiver, essa instrução poderá ser executada. Para garantir essa execução fora de ordem, assim como o R10000, o simulador utiliza o algoritmo de Tomasulo, e para manter um estado estável uma fila de reordenação é utilizada. Dessa forma, uma instrução só poderá ser finalizada se ela está na primeira posição da fila de reordenação, ou se todas as outras instruções anteriores a ela também estiverem prontas para a finalização. Para verificar o programa sendo executado, o simulador R10k apresenta ainda as instruções já finalizadas. Assim, o aluno que acompanha uma execução com o simulador pode entender como estão sendo executadas as instruções. É possível ainda selecionar uma instrução para que ela seja rastreada. Assim, todas as entradas da instrução serão selecionadas, de forma a facilitar o acompanhamento da instrução através das diferentes estruturas. O simulador permite a execução passo a passo das instruções, de forma a acompanhar o caminho que as instruções seguem, ou a execução direta, onde apenas o resultado final é apresentado. Além disso, é possível acompanhar os ciclos de clock, conforme eles vão sendo executados. Entre as principais vantagens em relação a outros simuladores tem-se a interface bem organizada, o que facilita a compreensão em torno das diferentes estruturas utilizadas nas arquiteturas superescalares. O amplo conjunto de instruções suportado pelo simulador também apresenta benefícios, sendo possível explorar diferentes conceitos como pilha, chamadas de subrotinas e previsões de desvio em arquiteturas superescalares. Alguns desses conceitos não são explorados por outros simuladores. Algumas facilidades não apresentadas em outros simuladores também foram incluídas no R10k, como a possibilidade de modificação do programa fonte no próprio simulador. Com isso, caso ocorra algum erro nas instruções é possível, facilmente, alterá-lo, não sendo necessário utilizar um programa auxiliar, como um editor de texto, para a correção do código. Fato que ocorre em alguns outros simuladores. O analisador léxico do simulador também é bastante eficaz, retornando mensagens precisas caso exista algum erro no código escrito pelo usuário. Sentiu-se a necessidade desse suporte, uma vez que alguns dos simuladores analisados não retornam mensagens e outros retornam mensagens vagas, dificultando a identificação do erro. Para o aluno iniciante percebe-se uma dificuldade de encontrar a falha no código quando isso ocorre. Assim, foram introduzidas mensagens bem específicas. Alguns exemplos são sintetizados a seguir. Se uma instrução estiver em um formato incorreto, o simulador apresentará uma mensagem informando o formato adequado da instrução. Caso o usuário introduza uma instrução não existente ou não suportada, o R10k retornará uma mensagem informando que a determinada instrução é inválida, convidando o usuário a consultar a ajuda do programa. 28

7 O próprio arquivo de ajuda foi feito de forma a facilitar ainda mais a compreensão do funcionamento do simulador, uma vez que o simulador é voltado para alunos que ainda estão aprendendo conceitos de arquiteturas superescalares. Além do formato e função de cada instrução suportada e um manual de utilização e funcionamento do simulador, a ajuda introduz ainda fundamentos de arquiteturas superescalares e informações sobre o MIPS R Dessa forma, essas informações podem ser consultadas sempre que houver dúvidas sobre o comportamento das instruções especificadas pelo usuário através das estruturas do simulador. 5. Conclusões e Trabalhos Futuros A utilização de simuladores é uma forma de facilitar a compreensão de determinados assuntos que podem ser difíceis de entender apenas com aulas teóricas. Entre esses assuntos têm-se as arquiteturas superescalares, arquiteturas que implementam o paralelismo em nível de instrução, executando diversas instruções em paralelo. Os conceitos em torno de arquiteturas superescalares são complexos, uma vez que envolvem diversas estruturas. Neste contexto foi proposto o R10k, um simulador gráfico para arquiteturas superescalares. O simulador apresenta funcionalidades para a visualização de diferentes fluxos de programa, como instruções de desvio, chamadas de subrotinas e instruções de pilha, além de explorar conceitos das arquiteturas superescalares, como execução fora de ordem, execução paralela e dependência de dados. Pretende-se com este simulador, dinamizar as aulas de arquitetura e organização de computadores, facilitando o entendimento dos conceitos apresentados em sala de aula. Com isso, será possível que alunos de disciplinas correlatas a área observem o comportamento de uma arquitetura superescalar, entendendo os pontos principais de seu funcionamento e as estruturas envolvidas durante a execução de uma instrução. O próximo passo do projeto é a finalização de todo o conjunto de instruções do MIPS R10000 e a elaboração de um arquivo de saída com dados da simulação, como quantidade de desvios mal previstos, instruções executadas, entre outros fatores que podem ser analisados. Pretende-se também obter uma avaliação dos alunos introduzidos ao simulador, para obter dados concretos da aceitação por parte dos mesmos. 6. Referências [1] Von Neumann, J. (1993) First Draft of a Report on the EDVAC, In: Annals of the History of Computing, Volume 15, Edition 4, pp [2] Geser, S. (1989) A Specification of the Intel 8085: A Case Study, In: Springer Lectures Notes in Computer Science, pp New York, EUA. [3] Ziller, R. (2000) Microprocessadores: Conceitos Importantes, EEL UFSC, 2ª edição, Florianópolis, Brasil. [4] Sridhar, Z. (2002) GNUSim8085, versão 1.3 [online]. Disponível em age. Acesso em julho/2007. [5] Scott, M. (2006) WinMips64, version 1.5 [online]. School of Computing, Dublin City University, Ireland. Disponível em Acesso em julho/2007. [6] Spadaccini, A., et al (2007) EduMips64, versão 0.5 [online]. Disponível em Acesso em julho/2007. [7] Austin, T.M. e Burger, D. (1997) The SimpleScalar Tool Set, Version 2.0, University of Wisconsin-Madison Computer Sciences Department, Technical Report Nº [8] Wolff, M. e Wills, L. (2000) SATSim: A Superscalar Architecture Trace Simulator Using Interactive Animation, In: WCAE: Workshop On Computer Architecture Education, Vancouver, Canada. [9] Moreno, L., et al (2007) Use of Constructivism and Collaborative Teaching in an IPL Processors Course, In: IEEE Transactions on Education, Vol. 50, nº 2, pp [10] MIPS R10000 Microprocessor User's Manual (1996) version 2.0, MIPS Technologies, Inc., Mountain View, EUA. [11] Smith, J.E. e Sohi, G.S., The Microarchitecture of Superscalar Processors, In: Proceedings of the IEEE, Vol. 83, 1995, p [12] Diep, T.; Nelson, C. e Shen, J. (1995) Performance Evaluation of the PowerPC 620, In: Proceedings of the 22 nd Annual International Symposium on Computer Architecture, pp

8 [13] Gwennap, L. (1995) Intel's P6 Uses Decoupled Superscalar Design, In: Microdesign Resources, Vol.6, N 2. [14] Patterson, D.A. e Hennessy, J.L. (1998) Organização e Projeto de Computadores: A Interface Hardware/Software, Morgan Kaufmann Publishers, São Francisco, EUA. [15] Silhan, J. e Fuss, C. (1997) MIDAS: MIPS Demonstration and Simulation [online], version 0.6beta, Institute for Computer Techniques, Vienna Technical University. Disponível em zip. Acesso em julho/2007. [16] Tomasulo, R. M. (1967) An Efficient Algorithm for Exploiting Multiple Arithmetic Units, In: IBM Journal, Edition 11, Volume 1, p [17] Prince, C. (1995) MIPS IV Instruction Set, revision 3.2, MIPS Technologies, Inc., Mountain View, EUA. 30

SIMAEAC: AN ACADEMIC SIMULATOR TO TEACH COMPUTER ARCHITECTURE

SIMAEAC: AN ACADEMIC SIMULATOR TO TEACH COMPUTER ARCHITECTURE Revista Varia Scientia v.09, n.16, p. 139-148 ARTIGOS & ENSAIOS Ano de Impressão 2010 André Barbosa Verona 1 João Angelo Martini 2 Tiago Lopes Gonçalves 3 SIMAEAC: UM SIMULADOR ACADÊMICO PARA ENSINO DE

Leia mais

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa DCC-IM/NCE UFRJ Pós-Graduação em Informática Micro-Arquiteturas de Alto Desempenho Introdução Gabriel P. Silva Ementa Revisão de Organização de Computadores Hierarquia de Memória Memória Virtual Memória

Leia mais

Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores

Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores Eduardo de Lucena Falcão 1, Erick Vagner Cabral de Lima Borges 1, Igor Lucena Peixoto Andrezza 1, Glauco Sousa e Silva 1, Kívio

Leia mais

SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores

SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores Erick Vagner Cabral de Lima Borges, Igor Lucena Peixoto Andrezza, Eduardo de Lucena Falcão, Glauco Sousa e Silva, Hamilton Soares da

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Conhecida como Processador ou é o cerebro do computador Unifica todo sistema e

Leia mais

Simulador de Arquiteturas Pipeline Superescalares

Simulador de Arquiteturas Pipeline Superescalares Simulador de Arquiteturas Pipeline Superescalares Leonel Pablo Tedesco 1, Xano Trevisan Kothe 1 1 Engenharia de Computação Universidade de Santa Cruz do Sul (UNISC) Av. Independência, 2293 Santa Cruz do

Leia mais

SSC0114 Arquitetura de Computadores

SSC0114 Arquitetura de Computadores SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br

Leia mais

Arquiteturas Superescalares

Arquiteturas Superescalares Univ ersidade Federal do Rio de Janei ro Info rmátic a DCC/IM Arquitetura de Computadores II Arquiteturas Superescalares Gabriel P. Silva Arquiteturas Pipelined com Desempenho Superior ao de uma Instrução

Leia mais

Introdução à Computação: Arquitetura von Neumann

Introdução à Computação: Arquitetura von Neumann Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

Leia mais

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado

Leia mais

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados Capítulo 2: Manipulação de Dados Ciência da Computação: Uma visão abrangente 11a Edition Autor J. Glenn Brookshear Editora Bookman Copyright 2012 Pearson Education, Inc. Capítulo 2: Manipulação de dados

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 7ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

Arquitetura de Computadores Aula 11 - Multiprocessamento

Arquitetura de Computadores Aula 11 - Multiprocessamento Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

3. Unidade Central de Processamento

3. Unidade Central de Processamento 3. Unidade Central de Processamento Um microprocessador é um chip responsável por buscar e executar instruções e dados existentes na memória RAM. Vai de regra as instruções são bastante simples, como por

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Arquiteturas Superescalares

Arquiteturas Superescalares Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas Avançadas Arquiteturas Superescalares Gabriel P. Silva Arquiteturas Pipelined com Desempenho Superior ao de uma Instrução

Leia mais

Processador. Processador

Processador. Processador Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador

Leia mais

Processadores. Principal função é executar programas armazenados na memória principal.

Processadores. Principal função é executar programas armazenados na memória principal. Processadores Principal função é executar programas armazenados na memória principal. Registradores São memórias pequenas de alta velocidade, usada para armazenar resultados temporários e certas informações

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

SSC0902 Organização e Arquitetura de Computadores

SSC0902 Organização e Arquitetura de Computadores SSC0902 Organização e Arquitetura de Computadores 13ª Aula Definição de Pipeline e Pipeline da arquitetura MIPS Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor

Leia mais

Modelagem de Arquiteturas Superescalares usando HDL

Modelagem de Arquiteturas Superescalares usando HDL Modelagem de Arquiteturas Superescalares usando HDL Guilherme P. Assunção, Renata C. L. Silva, Ronaldo A. L. Gonçalves Departamento de Informática - Universidade Estadual de Maringá Zona 07 - Av. Colombo

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 06 e 07 Superescalaridade 1. Introdução princípios

Leia mais

Explorando o paralelismo entre instruções

Explorando o paralelismo entre instruções Explorando o paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline Pipeline: Uma idéia natural Linhas de montagem

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura

Leia mais

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática. Introdução. Gabriel P. Silva. Gabriel P. Silva

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática. Introdução. Gabriel P. Silva. Gabriel P. Silva Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Introdução Introdução Bibliografia: Computer Architecture: A Quantitative Approach. John L. Hennesy,

Leia mais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Microprocessadores CPU. Unidade de Controle. Prof. Henrique Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html

Leia mais

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 1 Introdução Arquitetura e Organização 1. Arquitetura

Leia mais

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é 1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/ Sistemas Digitais Prof. Gustavo Oliveira Cavalcanti gustavooc@poli.br https://sites.google.com/a/poli.br/professorgustavooc/ Conteúdo Programático (Organização e Arquitetura) Arquitetura e história dos

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

Organização de computadores. Aula 05

Organização de computadores. Aula 05 Organização de computadores Aula 05 2 Níveis de um computador Computadores possuem uma série de níveis Cada um construído sobre seus antecessores Cada um representa uma abstração distinta com diferentes

Leia mais

Arquitetura e Organização de Processadores. Aula 4. Pipelines

Arquitetura e Organização de Processadores. Aula 4. Pipelines Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de

Leia mais

Simulador de Processador de Computador com propósito didático

Simulador de Processador de Computador com propósito didático Simulador de Processador de Computador com propósito didático Galileu Santos de Jesus, Edward David Moreno, Marco Tulio Chella Departamento de Computação - Universidade Federal de Sergipe São Cristóvão,

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 16: UCP: Conceitos Básicos e Componentes Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

Leia mais

Predição de Desvios e Processadores Superescalares Especulativos

Predição de Desvios e Processadores Superescalares Especulativos Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os

Leia mais

sumário 1 bases numéricas 1 2 sistemas de numeração em computação introdução representação de números... 3

sumário 1 bases numéricas 1 2 sistemas de numeração em computação introdução representação de números... 3 sumário 1 bases numéricas 1 1.1 introdução... 2 1.2 representação de números... 3 1.3 transformação entre bases... 4 1.3.1 método polinomial...4 1.3.2 método de subtrações...5 1.3.3 método das divisões...6

Leia mais

Arquitetura de Computadores. Conjunto de Instruções

Arquitetura de Computadores. Conjunto de Instruções Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas

Leia mais

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador. Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?

Leia mais

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES ESSA APRESENTAÇÃO POSSUI QRCODE PARA ACESSAR INFORMAÇÕES ADICIONAIS AOS SLIDES. Código QR Reader Código QR OLHANDO UM COMPUTADOR PELO LADO DE FORA

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral Processador de uso geral 1. Introdução: Um sistema digital completo é constituído de uma unidade controle e o bloco operacional. Na figura a seguir alguns elementos externos necessários para completar

Leia mais

SIMAEAC: Um Simulador Acadêmico para Ensino de Arquitetura de Computadores

SIMAEAC: Um Simulador Acadêmico para Ensino de Arquitetura de Computadores SIMAEAC: Um Simulador Acadêmico para Ensino de Arquitetura de Computadores André Barbosa Verona, João Angelo Martini, Tiago Lopes Gonçalves UEM - Universidade Estadual de Maringá Departamento de Informática

Leia mais

Sistemas Operacionais. Conceitos de Hardware

Sistemas Operacionais. Conceitos de Hardware Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal

Leia mais

SSC510 Arquitetura de Computadores. 6ª aula

SSC510 Arquitetura de Computadores. 6ª aula SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas

Leia mais

Solução Lista de Exercícios Processadores

Solução Lista de Exercícios Processadores Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação

Leia mais

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção ARQUITECTURA DE COMPUTADORES O estudo da arquitectura de computadores efectua-se com recurso à Abstracção Podemos ver um computador de várias formas. Para um utilizador normalmente o computador é a aplicação

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA 8 Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos:

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

Arquitetura de Computadores II

Arquitetura de Computadores II Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Arquitetura de Computadores II Prof. Flávio Rogério Uber Informações Úteis Professor: Flávio Rogério Uber Bloco C-56 Sala

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados

Leia mais

ENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto

ENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto ENDEREÇAMENTO DE INSTRUÇÕES Adão de Melo Neto 1 TIPOS DE OPERAÇÕES 2 TIPOS DE OPERAÇÕES TIPOS DE INSTRUÇÕES/OPERAÇÕES (RELEMBRANDO) 3 INTRODUÇÃO TIPOS DE INSTRUÇÕES/OPERAÇÕES (RELEMBRANDO) 4 INTRODUÇÃO

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015

Leia mais

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU William Stallings Organização de computadores digitais Capítulo 11 Estrutura e função da CPU Encruzilhada na arquitetura de computadores 2004/2005 Antiga opinião Nova visão a energia é de graça, os transistores

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Conjunto de Instruções. Alisson Brito

Conjunto de Instruções. Alisson Brito Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas

Leia mais

ENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003)

ENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003) William Stallings Computer Organization and Architecture 6 th Edition (2003) ENIAC Primeiro computador de Propósito Geral Electronic Numerical Integrator And Computer Chapter 2 Computer Evolution and Performance

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante

Leia mais

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 15ª Aula Evolução Arquitetura Intel Parte 2 Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Pentium - Modelos 2 Pentium - Arquiteturas Netburst P7 Sétima geração dos

Leia mais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

Leia mais

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação Arquitetura de Computadores I Organização Básica do Computador Gabriel P. Silva Ementa Unidade 2: Organização Lógica e Funcional

Leia mais

pet Arquitetura de Computadores computação UFPE

pet Arquitetura de Computadores computação UFPE Arquitetura de Computadores 2008.2 Roteiro 1. Definição e tipos de arquitetura 2. Os cinco componentes clássicos de um computador 3. Como eles interagem de modo coerente 4. O que o futuro nos reserva 5.

Leia mais

Ferramenta de Simulação de Processador para Ensino de Graduação e Pesquisa Científica

Ferramenta de Simulação de Processador para Ensino de Graduação e Pesquisa Científica Ferramenta de Simulação de Processador para Ensino de Graduação e Pesquisa Científica Eduardo H. M. Cruz 1,2, Juliano H. Foleiss 1, Guilherme P. Assunção 1, Ronaldo A. L. Gonçalves Universidade Estadual

Leia mais

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA DEPARTAMENTO: Fundamentos da Computação CURSO: Ciência da Computação DISCIPLINA: Organização e Arquitetura de Computadores

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Estrutura e Função do Processador Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Organização

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

SSC0112 Organização de Computadores Digitais I - Turma 2

SSC0112 Organização de Computadores Digitais I - Turma 2 SSC0112 Organização de Computadores Digitais I - Turma 2 1ª Aula Apresentação e Introdução da disciplina Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Apresentada pelo Prof. Paulo Sergio Lopes de Souza

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES. Cristina Boeres,

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES. Cristina Boeres, FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES Cristina Boeres, boeres@ic.uff.br Objetivos da disciplina Dar noções iniciais dos componentes básicos de um sistema computacional (computador), assim também

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Eduardo Simões de Albuquerque Instituto de Informática UFG 1o. Semestre / 2006 Adaptado do material do prof. Fábio Moreira Costa Programa e Introdução Assunto do curso

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Arquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW

Arquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 08 Arquiteturas VLIW 1. Introdução VLIW é Very

Leia mais

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register PROCESSADORES Um computador digital consiste em um sistema interconectado de processadores, memória e dispositivos de entrada e saída. A CPU é o cérebro do computador. Sua função é executar programas armazenados

Leia mais

EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores

EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores Professores: Raimes Moraes, Fernando M. Azevedo e Renato Ojeda. EMENTA: Arquiteturas de microprocessadores e microcontrolador; Programação de microprocessadores e microcontrolador: linguagem Assembly;

Leia mais

Unidade I. Organização de Computadores. Prof. Renato Lellis

Unidade I. Organização de Computadores. Prof. Renato Lellis Unidade I Organização de Computadores Prof. Renato Lellis O que é um computador? Computador Datação 1789 cf. MS1 Acepções substantivo masculino 1 o que computa; calculador, calculista 2 Rubrica: informática.

Leia mais