IMPLEMENTAÇÃO E VALIDAÇÃO DE UM SIMULADOR SPARC V8 USANDO SYSTEMC

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

Download "IMPLEMENTAÇÃO E VALIDAÇÃO DE UM SIMULADOR SPARC V8 USANDO SYSTEMC"

Transcrição

1 IMPLEMENTAÇÃO E VALIDAÇÃO DE UM SIMULADOR SPARC V8 USANDO SYSTEMC José Diego S. da Silva Tássia A. V. de Freitas Rodrigo Soares Ivan Saraiva Silva Departamento de Informática e Matemática Aplicada Universidade Federal do Rio Grande do Norte Campus Universitário - Lagoa Nova Natal RN - Brasil jdiego@lcc.ufrn.br tassia@lcc.ufrn.br rodrigo@consiste.dimap.ufrn.br ivan@dimap.ufrn.br ABSTRACT SystemC is becoming an important methodology of hardware implementation/simulation because of its highlevel implementation and quicker design space exploration possibilities. This paper presents a cycle-accurate implementation of Sun s SPARC architecture, including most of its hardware features, including register windows, 5-stage pipeline, privileged execution and interruption. The simulator is validated with 2 applications, which produces an execution rate raging from 110,000 up to 120,000 instructions per cycle. 1. INTRODUÇÃO A arquitetura SPARC foi definida pela Sun Microsystems no período de 1984 a 1987 e define uma arquitetura RISC de propósito geral que visa o desempenho a baixo custo. Seu propósito é a otimização de compiladores e a facilidade de implementação de pipeline. As implementações do SPARC provêem altas taxas de execução e projetos de baixo time-to-market [2]. A arquitetura SPARC não define um caminho de dados específico, mas sim um conjunto de instruções e características do sistema. Esta flexibilidade permite aos projetistas maior espaço de projeto e execução de um mesmo código em sistemas de portes bem variados. Sua principal característica é a arquitetura de Janela de Registradores, o que permite uma compilação mais direta e de alta performance, assim como a redução de instruções do tipo load/store em comparação com outras arquiteturas RISC, especialmente em aplicações de larga escala. Em linguagens orientadas a objeto, como C++ e Java, a Janela de Registradores provê uma redução ainda maior no número de instruções executadas. Hoje em dia, a exploração de espaço de projeto tornouse mais fácil com o surgimento da linguagem SystemC. Por ser na verdade uma extensão de C++, o uso de SystemC exige pouco aprendizado por parte da maioria dos projetistas, e permite uma implementação em baixonível a partir do refinamento de implementações em altonível. O resultado de sua implementação, uma especificação executável, é capaz de receber entradas e produzir saídas tal qual um programa convencional em C++. Este trabalho apresenta um modelo de arquitetura SPARC V8 Interger Unit e com uma unidade de pontoflutuante. A implementação desta arquitetura foi realizada com a linguagem de descrição de hardware SystemC. Na seção 2, apresenta-se a arquitetura SPARC V8 em detalhes. Na seção 3, exibe-se o conjunto de instruções. Nas seções 4 e 5, os conjuntos de instruções e registradores, respectivamente. Na seção 6, é descrita a implementação realizada, dando ênfase a implementação dos módulos, os modos de operações, o tratamento de interrupções desenvolvido e decisões de projetos que influenciam no comportamento da arquitetura. Este artigo termina com as seções 7, onde é discutido o comportamento do modelo em uma aplicação real, e 8, onde são apresentadas as considerações finais. 2. ARQUITETURA SPARC V8 A arquitetura de um processador pode ser definida por meio de seu conjunto de instruções e pela organização do seu conjunto de Assim, não há uma 1

2 implementação de hardware específica, vários projetos de hardware podem implementar a mesma arquitetura. A arquitetura do SPARC V8 é um exemplo de RISC (Reduced Instruction-Set Computer) de 32 bits. Essa arquitetura é organizada logicamente em três unidades distintas: a IU(integer unit), a FPU(floating-point unit) e o coprocessador (CP), cada uma com os seus registradores, permitindo máxima concorrência na execução de instruções das três unidades. A figura 1 mostra essas três unidades e a D-Cache, cache para dados, a I-Cache, cache para instruções, e ainda uma RAM local. FPU CP RAM local IU COM 5 ESTÁGIOS DE PIPELINE I-Cache D-cache Figura 1: Visão geral da arquitetura SPARC V8 O SPARC utiliza o modelo de execução registradorpara-registrador, ou seja, todos os acessos à memória são feitos via registradores e todas as instruções envolvem As instruções do SPARC V8 são executadas em um pipeline de instruções de cinco estágios busca, decodificação, execução, memória e escrita. A IU controla todas as operações do processador. Ela executa instruções lógicas e aritméticas com números inteiros, instrução de acesso à memória, atualiza o contador de programa (PC) e ainda controla a execução da FPU e do co-processador. Para auxiliar na execução de todas essas tarefas, a IU conta com um total de registradores, dependendo da implementação. A figura 2 mostra a IU. A FPU tem 32 registradores de 32 bits. Valores que necessitam de maior precisão podem ocupar mais de um registrador. Os formatos e dados de ponto flutuante estão de acordo com o padrão ANSI/IEEE Entretanto, o SPARC não requer que todos os aspectos desse padrão sejam implementados em hardware, podendo ser emuladas por software as funcionalidades não presentes no software. Nos casos em que a FPU não esteja presente na implementação ou não esteja habilitada, o bit EF no PSR é zero, o software deve emular uma instrução de interrupção de ponto flutuante fp_disabled. A arquitetura SPARC V8 suporta um único coprocessador. Ele tem o seu próprio conjunto de registradores, geralmente são registradores de 32 bits. Para mover dados dos registradores entre o co-processador e a memória, há instruções de load/store. Se o co-processador não está presente na implementação ou não está habilitado, o bit EC no PSR é zero, a interrupção cp_disabled deve ser gerada. Os registradores da FPU e do co-processador são acessados, unicamente, através das instruções de load e store. Não existe nenhum caminho direto entre a IU e a Figura 2: IU do SPARC 2

3 FPU ou entre a IU e o CP, que permita este acesso. Embora o pipeline de instruções de cinco estágios não seja uma característica obrigatória em um implementação de um processador SPARC V8, a maioria delas apresentao em cinco estágios: Busca (B), Decodificação (D), Execução (E), Memória (M) e Escrita (W). Durante a Busca, instruções são movidas da memória para o processador. No estágio de Decodificação, o processador lê operandos do conjunto de registradores, decodifica instruções e detecta dependências entre instruções. Os operandos entram na ULA(unidade lógica e aritmética) ou na unidade de shift também nesse estágio. Instruções de load e store buscam operandos na memória no estágio de Memória. No estágio de escrita, o processador escreve o resultado da ULA ou o dado da memória no conjunto de Assim que uma instrução entra no pipeline, ela é executada em 5 ciclos. Se o pipepile estiver cheio, uma nova instrução é terminada em cada ciclo do clock. Para efeito de ilustração, observe a figura 3. 3.FORMATO DE INSTRUÇÕES As instruções do processador SPARC V8 são codificadas em três formatos de 32 bits. Os operandos aparecem em posições fixas para permitir acesso rápido a Na figura 4, pode-se ver que o formato 1 é usado somente pela instrução Call. Este formato permite um deslocamento de 30 bits em relação ao PC, gerando um deslocamento arbitrário em apenas uma instrução. O formato 2 é usado para as instruções Sethi e Branches (Bicc, FBfcc e CBccc). Já o formato 3 suporta as outras instruções. O formato 3 com op = 3 dá suporte às instruções de memória e com op = 2, às instruções aritméticas, lógicas, shift e as restantes. Figura 4: formatos de instruções 4.CONJUNTO DE INSTRUÇÕES O conjunto de instruções do SPARC pode ser dividido em seis categorias: instruções de load/store, instruções lógicas, aritméticas e shift, instruções de transferência de controle, instruções de controle de leitura e escrita em registradores, operações de ponto flutuante e operações de coprocessador. A tabela 1 abaixo mostra essas categorias. CATEGORIA Instruções Load/Store Instruções Aritméticas/Lógicas/ Shift Instruções de transferência de controle Instruções de controle de leitura e escrita em registradores Instruções de ponto flutuante Instruções de coprocessador DESCRIÇÃO Únicas instruções a acessarem a memória Com exceção da instrução Sethi, essas instruções computam um resultado que é uma função de dois operandos. Incluem branchs, chamadas a funções (call), saltos e interrupções condicionais Usadas para a leitura e escrita do conteúdo de registradores visíveis ao software Realizam cálculos ponto flutuante Se o CP está presente, essas instruções são definidas por sua implementação. Tabela 1: conjunto de instruções do SPARC 5.CONJUNTO DE REGISTRADORES O processador SPARC tem dois tipos de registradores: registradores de propósito-geral e registradores de controle e status. A IU contém 32 registradores de propósito geral sempre visíveis ao programa. Desses, 8 são globais e os outros 24 são da janela de Uma implementação do processador SPARC pode ter de 2 a 32 dessas janelas, variando de 40 a 520 o número de Uma janela de registradores consiste em três grupos de três registradores, chamados in, out e local. Os registradores in e out são usados para passagem de parâmetros de funções e receber resultados delas. Os registradores local são utilizados para variáveis automáticas. A cada momento, somente uma janela está visível, determinado pelo CWP (current window point) que é parte do PSR (processor status register). O CWP é um valor de 5 bits que pode ser decrementado pela instrução SAVE e incrementado pela instrução RESTORE. Essas instruções são geralmente executas em chamadas a funções e retorno 3

4 Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 LOAD LOAD ADD SUB STORE Figura 3: pipeline de 5 estágios dessas. Assim, o grupo de registradores in contém os parâmetros de entrada, o grupo local, os registradores usados dentro da função e o grupo out, os parâmetros de saída. As janelas de registradores se sobrepõem parcialmente. Dada uma janela de registradores atual, se uma instrução RESTORE for executada, CWP será incrementado e o grupo de registradores in da janela atual será o grupo out da próxima janela. Caso contrário, se a instrução SAVE for executada, CWP será decrementado e o grupo de registradores out da janela atual passa a ser o grupo in dessa próxima janela. Para ilustrar esse procedimento, considere a figura 5. Múltiplas janelas permitem realizar chamadas de funções de maneira rápida além de evitar salvar o estado atual do processador na memória. Isto reduz o trafego offchip. As variáveis de estado são salvas na janela atual, e uma nova janela é aberta para uma nova função. Note que a passagem de parâmetros é feita sem movimentação física de dados. Há também os registradores para controle e status da IU que incluem PSR (Processor State Register), WIN (Window Invalid Mask), TBR (Trap Base Register), PC e npc (Program Counters). O registrador PSR contém vários campos para o controle do processador e para armazenar informações sobre o seu status. Já o WIN é controlado pelo software supervisor e usado pelo hardware para determinar se houve uma interrupção de overflow ou de underflow causada por uma instrução Save, Restore ou Rett. O registrador TBR armazena um endereço para o qual o controle é transferido em caso de ocorrência de interrupção. O PC contém o endereço da instrução que está sendo executada no momento e o npc, o endereço da próximo instrução a ser executada. 6.IMPLEMENTAÇÃO A arquitetura SPARC foi implementada utilizando a linguagem de simulação de hardware SystemC. Esta linguagem foi escolhida por permitir uma especificação executável da arquitetura. Essa especificação executável permite verificar a funcionalidade e o desempenho do modelo antes do início de sua implementação real. O nível de descrição utilizado é cycle-accurate, evitando o overhead de uma implementação RTL, mas ainda assim permitindo a verificação do comportamento da arquitetura ciclo a ciclo. A arquitetura SPARC V8 implementada possui uma unidade inteira, uma unidade de ponto flutuante, cachê de instruções e dados. A unidade inteira possui cinco estágios de pipeline: busca, decodificação, execução, memória e escrita. O estágio de busca obtém da cache de dados a instrução, caso a mesma esteja na cache. Caso contrário é enviado um sinal para o controlador de memória para obter a instrução. Ao final deste estágio a instrução é armazenada em latch 4

5 r[31] a r[24] in r [23] a r[16] local r[15] a r[8] out r[31] a r[24] in r [23] a r[16] local r[0] 0 r[7] a r[1] global r[15] a r[8] out r[31] a r[24] in r [23] a r[16] local r[15] a r[8] out Figura 5: janela de registradores dentro da IU decodifica a instrução No estágio de decodificação a instrução é decodifica e os operandos são lidos. Os operandos podem vir do banco de registradores ou de bypass internos. Este estágio gera os endereços das funções de chamada de funções e desvio (branch). O estágio de execução realiza as operações lógicas e aritméticas, além de gera os endereços para as funções de jumper e retorno de funções. No estágio de memória a cachê de dados é acessada para leituras ou escritas. O estágio de escrita realiza a escrita no banco de Esta modelo possui trinta e dois conjuntos de registradores, totalizando 520 Além de tratamento de interrupções. Uma unidade de ponto-flutuante que executa de maneira concorrente com a IU também está presente. Todos os sinais de controles e endereços de acesso à memória são gerados pela IU. A unidade de busca captura a instrução e seus endereços do barramento. No próximo ciclo de relógio, a IU e a FPU simultaneamente decodificam e armazenam a instrução em latch internos. Se a IU detecta uma operação de ponto-flutuante, a mesma envia um sinal para a FPU inicializar a execução da instrução. A FPU também monitora dependências de operandos ou recursos no estágio de decodificação. Sempre que uma dependência é detectada, a FPU interrompe a IU e o pipeline é congelado até que a dependência seja resolvida. A FPU possui registradores de estados que servem para manter o estado de execução das instruções completadas pela FPU e também indica o atual modo de operação da FPU. 6.1 Unidade de Controle Distribuída A unidade de controle da arquitetura é distribuída pelos estágios. Desta maneira, cada estágio do pipeline coordena a suas atividades e se comunica via sinais com os outros estágios. Os controles embutidos nos estágios de busca e decodificação realizam o gerenciamento e o despacho de instruções para o estágio de execução. Entretanto, a parte principal do controle está na máquina de estados finitos (FSM) localizada no estágio de execução. Esta FSM controla todas as ações necessárias para a execução das instruções, produz os sinais de controle para os outros estágios, determina o modo de operação do processador. 6.2 Modo Usuário e Modo Supervisor A arquitetura SPARC suporta dois modos de operações: o modo supervisor, que é o modo de operação do sistema operacional e tem acesso a todo conjunto de instruções, e o modo usuário que é o modo de funcionamento das aplicações do usuário. Qualquer tentativa de executar um operação de modo supervisor causa uma interrupção. Os modos de operação delimitam não apenas um conjunto de instruções diferenciado, mas também espaços de endereçamentos de memória diferenciados. 6.3 Tratamento de Interrupções O fluxo de execução do SPARC é baseado no modelo seqüencial, mas uma implementação da arquitetura 5

6 SPARC com pipeline de instruções pode modificar o estado do processo em uma ordem diferente da definida pelo modelo seqüencial. Em decorrência disto, a ocorrência de uma interrupção pode deixar o hardware em um estado que não é consistente com nenhum valor especificado pelo contador de programa [1]. Quando uma interrupção ocorre, o estado do processo é salvo pelo hardware ou pelo software. As interrupções podem ser precisas ou imprecisas. Neste trabalho o contexto é salvo pelo hardware. Uma interrupção é dita precisa se obedece às seguintes propriedades: 1) Todas as instruções anteriores à instrução apontada pelo contador de programa foram completamente executadas e modificaram o estado do processo corretamente. 2) Todas as instruções após a instrução apontada pelo contador de programa não foram executadas e não modificaram o estado do processo. 3) Se uma interrupção é causada por uma exceção em uma instrução do programa, o contador de programa salvo aponta para a instrução interrompida. E esta instrução deve ter sido completada ou não iniciada. Se o estado do processo salvo não obedece a alguma das condições acima é dita imprecisa. O tratamento de interrupções imprecisas é dependente da implementação, este trabalho adota o esquema de conhecido como future file. Neste esquema, utilizamos dois bancos de registradores separados: um reflete o estado da arquitetura seqüencial, é referenciado como banco de registradores da arquitetura, e o outro é um banco de registradores que é atualizado sempre que alguma instrução termina e representa o futuro do banco de registradores da arquitetura. Este banco é chamado de banco de registradores de trabalho. As instruções são editadas em qualquer ordem, como proposto pelo modelo de pipeline, e o resultado é gravado no banco de registradores de trabalho. As instruções que executam sem erros têm seus resultados copiados para o banco de registradores da arquitetura, na ordem do modelo seqüencial da arquitetura. Se um erro ocorre em uma instrução, a mesma é reiniciada e o estado consistente é recuperado do banco de registradores da arquitetura. 6.4 Decisões de Projeto A arquitetura SPARC é aberta e não define como o conjunto de instruções é implementando em pipeline. Isto implica em decisões de projeto que são visíveis ao nível de software. O principal efeito da implementação do pipeline é o tempo de sincronismo das instruções. A tabela 2, a seguir, mostra os tempos de sincronismo para esta implementação. A implementação proposta neste trabalho possui as seguintes características: 1) Previsão de salto: para evitar bolhas no pipeline devido à hazards de desvios, uma instrução é buscada a cada ciclo de clock para manter o pipeline cheio. No caso de instruções de desvios, consideramos que o desvio não foi tomado, assim a execução continua seqüencial. Se o desvio for tomado, as instruções que estão no pipeline são descartadas. 2) Mecanismos de bypass: bolhas no pipeline também podem ser causadas devido à ocorrência de um instrução que necessite de dados que estão prontos mas ainda não disponíveis nos Para evitar a ocorrência deste tipo de bolhas a arquitetura conta com um mecanismo de bypass entre os estágios de decodificação, execução e memória. 3) Redução do atraso dos desvios: este método consiste em mover a execução do desvio para o estágio de decodificação. Isto permite que o atraso na execução de desvios tomados seja de apenas um ciclo. Instrução Número de Ciclos Load single, taken ticc, 2 JMPL, RETT Load double, store single, 3 untaken Ticc Store double, LDSTUB, 4 SWAP Todas as outras instruções 1 Tabela 2: tempo de sincronismo das instruções 6.5 Sistemas de Caches Este trabalho apresenta uma arquitetura de cachê Harvard com barramento de endereços e dados separados, conectados a dois controladores de cachê separados. As caches possuem endereçamento virtual e possuem tamanho de paginas fixo de 4K-bytes. Para endereçamento extra, o processador prove um identificador de espaço de endereçamento de 8 bits(asi), produzindo até 256 diferentes espaços de endereçamento de 32-bits. Durante o modo normal de operação o processador trabalhar acessando instruções e dados utilizando um ASI de 0x08 a 0xB como definido no padrão SPARC. Utilizando LDA/STA, os espaços de endereçamentos extras podem ser utilizados. A seguir temos a tabela de ASI do modelo SPARC. ASI Espaço de Endereçamento 0x00-0x07 Dependente da implementação 0x08 Instruções do modo usuário 0x09 Instruções do modo supervisor 0x0A Dados do modo usuário 0x0B Dados do supervisor 0x0C 0xFF Dependente da implementação Tabela 3: Identificadores de espaço de endereçamento 6

7 7. SIMULAÇÃO E RESULTADOS Com o intuito de verificar o desempenho do simulador em SystemC da arquitetura SPARC foram realizados testes em aplicações reais. Foram desenvolvidos dois algoritmos em assembly SPARC para validação e teste da arquitetura proposta. O primeiro é algoritmo simulado foi o algoritmo de ordenação por inserção. Este algoritmo tem em seu pior caso um tempo de execução quadrático no tamanho da entrada. A tabela 4 contém o numero de ciclos e tempo de execução para várias instâncias do algoritmo. Os dados coletados refletem o pior caso do algoritmo de ordenação. Podemos observar que para ordenar uma lista de trezentos elementos, no pior caso, são necessários dois minutos e meio aproximadamente. Tamanho da Entrada Número de Ciclos Tempo de Execução (s) , , , , , ,8 Tabela 4: Resultados do Algoritmo de ordenação por inserção O segundo algoritmo proposto é a multiplicação de matriz quadradas. Foi implementado um algoritmo tradicional de multiplicação de matrizes, o qual tem complexidade em torno de O( n³ ). A tabela 5 resume os resultados obtidos pelo simulador. Na primeira linha temos uma matriz quadrática de ordem 25, são necessários segundos para concluir o algoritmo. Os resultados da ultima linha mostram que para multiplicar uma matriz quadrática de ordem 100 são necessários mais de vinte e oito segundos de simulação. Em ambas as simulações obteve-se uma taxa de execução média de a ciclos/segundo. Esta taxa pode ser considerada alta se comparada a implementações RTL, usando linguagens como Verilog ou VHDL, e levando-se em conta que o modelo implementa diversas características de baixo nível do sistema, inclusive o funcionamento completo de seu pipeline, com um nível de precisão de ciclo. 8.CONCLUSÕES A arquitetura SPARC é um a arquitetura aberta que possibilita várias implementações. A princiapal característica da arquitetura é a presença da janela de Neste artigo foi apresentado uma modelo de arquitetura SPARC V8 implementado em SystemC contendo uma unidade inteira com cinco estágios de pipeline, uma unidade de ponto flutuante. Foram discutidos vários aspectos da arquitetura que são dependentes da implementação e que influenciam o desempenho da arquitetura, e um mecanismo de tratamento de interrupções baseado na técnica denominada de future file. Também foi discutido o custo das trocas de contexto na arquitetura implementada. O modelo em SystemC foi simulado com duas aplicações reais para validação e análise de desempenho. O simulador, apesar de implementar diversos aspectos de mais baixo nível da arquitetura, obteve uma taxa de execução média de a ciclos/segundo. Trabalhos futuros incluem a integração do simulador com o conjunto de ferramentas GNU, e sua integração em uma plataforma MP-SoC para extração de resultados de aplicações paralelas. 9. REFERÊNCIAS [1] Jame E. Smith, C.D. Andrew R. Pleszkun, Implementing Precise Interrupts in Pipelined Processors, IEEE Transactions on Computers, VOL 37, NO 5: pp , May [2] SPARC International, Inc, The SPARC Manual Architecture Manual Version 8, Prentice Hall, Upper Saddle River, NJ, USA [3] T. Bautista, A. núñez, Design of Efficient SPARC cores for embedded systems, Euromicro Conference, vol. 1, pp Tamanho da Matriz Número de Ciclos Tempo de Execução (s) , , ,1 Tabela 5: resultados da multiplicação de matrizes 7

3. DESCRIÇÃO DO SPARC Histórico

3. DESCRIÇÃO DO SPARC Histórico 20 3. DESCRIÇÃO DO SPARC 3.1 - Histórico O SPARC, acrossemia para Scalable Processor ARChitecture, originou-se nos projetos pioneiros de Berkeley, desenvolvidos a partir de 1981 por alunos de graduação

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

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

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

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

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

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio ARQUITETURA DE COMPUTADORES Organização de Sistemas Computacionais Prof.: Agostinho S. Riofrio Agenda 1. Unidade Central de Processamento 2. Organização da CPU 3. Interpretador 4. RISC x CISC 5. Principios

Leia mais

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin 1 Definições Nível ISA (Instruction Set Architecture). Está posicionado entre o nível da microarquitetura e o nível do sistema operacional. É a interface entre o software e o hardware. Nesse nível está

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

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

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

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

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

4. O SIMULADOR SIMUS Descrição

4. O SIMULADOR SIMUS Descrição 27 4. O SIMULADOR SIMUS 4.1 - Descrição A partir da escolha da arquitetura SPARC, foi desenvolvido um estudo minucioso de sua arquitetura e do funcionamento de suas instruções. Este estudo detalhou as

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 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

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

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 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

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

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

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

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F. Prefetch & Pipeline Otimização de Execução em Processadores Modernos Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter

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

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

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

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação monociclo de IPS Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Implementando IPS Implementação do conjunto

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

Leia mais

Organização e Arquitetura de Computadores INTRODUÇÃO

Organização e Arquitetura de Computadores INTRODUÇÃO Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo

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

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

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

Arquitetura de Computadores Aula 10 - Processadores

Arquitetura de Computadores Aula 10 - Processadores Arquitetura de Computadores Aula 10 - Processadores Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/21 TÓPICOS ORGANIZAÇÃO COMPONENTES BÁSICOS INSTRUÇÃO DE MÁQUINA CICLO DE INSTRUÇÃO

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

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

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

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade Acadêmica 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

Unidade Central de Processamento 2. Registradores

Unidade Central de Processamento 2. Registradores Unidade Central de Processamento 2 Registradores Conceitos Fundamentais Arquitetura da CPU Unidade de Controle Registradores Barramento interno Unidade lógica e Aritmética Registradores Conjunto de unidades

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve: Pipeline Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo,

Leia mais

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

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

Microarquiteturas Avançadas

Microarquiteturas Avançadas Universidade Federal do Rio de Janeiro Arquitetura de Computadores I Microarquiteturas Avançadas Gabriel P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com

Leia mais

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço

Leia mais

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparaçã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

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema

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

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

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

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

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

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I RISC versus CISC Gabriel P. Silva 04.11.2014 Introdução Um dos objetivos de uma arquitetura de

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 12: Memória: Barramentos e Registradores

Aula 12: Memória: Barramentos e Registradores Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34

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

SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3

SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3 Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3 Prof. André Schneider de Oliveira andreoliveira@utfpr.edu.br

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

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

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

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

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

Uma Plataforma para Sistemas Embarcados: Desenvolvimento e Avaliação de Desempenho de um Processador RTL e uma Cache L1 usando SystemC

Uma Plataforma para Sistemas Embarcados: Desenvolvimento e Avaliação de Desempenho de um Processador RTL e uma Cache L1 usando SystemC Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Curso de Ciências da Computação Uma Plataforma para Sistemas Embarcados:

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

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES ESSA APRESENTAÇÃO POSSUI QRCODE PARA ACESSAR INFORMAÇÕES ADICIONAIS AOS SLIDES. Código QR Reader Código QR INTRODUÇÃO A ARQUITETURA DE COMPUTADORES Qual

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

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

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

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Exercícios resolvidos (aula de 4 de Maio) Resolução: Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma

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

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani) Arquitetura de Computadores Professor: Vilson Heck Junior (Material: Douglas Juliani) Agenda Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho Conceitos Componente de Hardware que

Leia mais

AGT0001 Algoritmos Aula 01 O Computador

AGT0001 Algoritmos Aula 01 O Computador AGT0001 Algoritmos Aula 01 O Computador Karina Girardi Roggia karina.roggia@udesc.br Departamento de Ciência da Computação Centro de Ciências Tecnológicas Universidade do Estado de Santa Catarina 2016

Leia mais

Microprocessadores II - ELE 1084

Microprocessadores II - ELE 1084 Microprocessadores II - ELE 1084 CAPÍTULO III PROCESSADORES P5 3.1 Gerações de Processadores 3.1 Gerações de Processadores Quinta Geração (P5) Pentium (586) 32 bits; Instruções MMX; Concorrente K5 (AMD).

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

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

Nível da Arquitetura do Conjunto das Instruções Fluxo Seqüencial de Controle e Desvios (1) Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Fluxo

Leia mais

Broadband Engine Cell Processor. Arquitetura e Organização de Processadores (CPM237) Rodrigo Bittencourt Motta

Broadband Engine Cell Processor. Arquitetura e Organização de Processadores (CPM237) Rodrigo Bittencourt Motta Broadband Engine Cell Processor Arquitetura e Organização de Processadores (CPM237) Rodrigo Bittencourt Motta rbmotta@inf.ufrgs.br Junho/06 Plano de Apresentação Introdução Visão Geral Organização Interna

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/10/2010. Unidade de Controle Controle. UC Microprogramada

18/10/2010. Unidade de Controle Controle. UC Microprogramada Arquitetura de Computadores Unidade de Controle Controle Microprogramado Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO UC Microprogramada

Leia mais

2ª Lista de Exercícios de Arquitetura de Computadores

2ª Lista de Exercícios de Arquitetura de Computadores 2ª Lista de Exercícios de Arquitetura de Computadores Questões 1. Um microprocessador realiza uma sondagem periódica (polling) junto a um módulo de E/S a cada 0,5 ms. Cada sondagem em si gasta 500 ciclos.

Leia mais

lw, sw add, sub, and, or, slt beq, j

lw, sw add, sub, and, or, slt beq, j Datapath and Control Queremos implementar o MIPS Instruções de referência à memória: lw, sw Instruções aritméticas e lógicas: add, sub, and, or, slt Controle de fluxo: beq, j Cinco passos de execução Busca

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

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 E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE PROCESSADOR A função de um computador é executar tarefas com a finalidade de resolver problemas. Uma tarefa pode ser executada por meio de

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

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo Nível da Arquitetura do Conjunto de Instruções Ronaldo de Freitas Zampolo Tópicos Introdução Visão geral do nível ISA Tipos de dados Formatos de instruções Endereçamento Tipos de instruções Fluxo de controle

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 10ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória

Leia mais

Projeto de Processadores Programáveis

Projeto de Processadores Programáveis Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Projeto de Processadores Programáveis DCA0119 Sistemas Digitais Heitor Medeiros Florencio Sumário Processadores

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

Infraestrutura de Hardware. Instruindo um Computador

Infraestrutura de Hardware. Instruindo um Computador Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I Sistemas Operacionais I Revisão de conceitos Sistemas Operacionais I Dionisio Gava Junior Componentes básicos Componentes Básicos da Tecnologia da Informação Hardware CPU, Memória e Periféricos de E/S.

Leia mais

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01 Unidade Central de Processamento (CPU) Processador Bernardo Gonçalves Introdução ao Computador 2008/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória

Leia mais

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (III) FAC 1 /

Leia mais

Estrutura da CPU Organização de registradores Ciclo de instrução

Estrutura da CPU Organização de registradores Ciclo de instrução Estrutura da CPU Organização de registradores Ciclo de instrução Elucidar o funcionamento da CPU, processamento das informações e a comunicação entre a CPU e demais componentes do computador. O processador

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

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Arquitetura de Processadores CISC Conjunto Complexo de Instruções Microinstruções RISC Conjunto de Instruções Reduzidas Instruções devem

Leia mais

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Capítulo 3 Como o Processador Funciona Arquitetura von Neumann Como discutido anteriormente, os projetos dos computadores modernos são baseados

Leia mais

Microcontrolador FemtoJava Pipeline (Low Power)

Microcontrolador FemtoJava Pipeline (Low Power) Microcontrolador FemtoJava Pipeline (Low Power) UFRGS Programa de Pós graduação em Computação CMP 237 Arquitetura e Organização de Processadores Prof. Dr. Flávio Rech Wagner Aluno: Paulo Roberto Miranda

Leia mais