Trabalho sobre Escalonamento Estático

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

Download "Trabalho sobre Escalonamento Estático"

Transcrição

1 Disciplina Arquitetura de Computadores II Bacharelado em Ciência da Computação DCC/IM-UFRJ Prof.: Gabriel P. Silva Data: 05/04/ Introdução Trabalho sobre Escalonamento Estático O programa Livermore Loops é um programa de avaliação sintético, originalmente escrito em FORTRAN mas convertido para C, elaborado para avaliar o desempenho de processadores executando aplicações científicas. Apresentamos em anexo alguns deste loops, especificamente o Inner, Tridag, Sum e Min, tanto em linguagem C como o seu correspondente em linguagem de montagem do MIPS64. A partir dos trechos de código apresentados em anexo, elabore duas versões: uma com loop unrolling, outra com software pipeline. Para isto siga as orientações a seguir: 2. Loop Unrolling Embora haja diferentes variações na técnica de loop unrolling, utilize a técnica básica descrita por Patterson e Hennessy como a seguir: Replique o corpo do laço pelo fator de desenrolamento (sugestão 3 vezes); Elimine as instruções de desvio desnecessárias; Renomeie os registradores se necessário; Atualize as referências à memória. Embora você possa aplicar este algoritmo a maior parte das vezes, em alguns casos será necessário modificar o algoritmo ligeiramente. Por exemplo, no programa Min, que contém um desvio dentro do loop requer a criação de novos rótulos quando replicando o corpo do laço. Também, programas como Inner podem requerer alguma renomeação adicional. 3. Software Pipelining Para a técnica de software pipeline utilize a versão básica do algoritmo, também descrita em Patterson e Hennessy: Desenrole simbolicamente o laço; Selecione uma instrução de cada iteração; Adicione código de reparo no começo e no final do laço; Atualize as referências à memória; Renomeie os registradores se necessário; Reescreva o código com a nova iteração do loop.

2 O número de vezes que o laço será desenrolado simbolicamente depende da estrutura do código. A minha sugestão é que isto seja feito três vezes. Assim, dentro do loop sempre haverá três seções. A transformação básica do laço é ilustrada a seguir: LOADS STORES EXECS EXEC STORES LOADS Original Loop Software Pipelined 4. Resultados Escolha 2 (dois) programas, adicione os dados estáticos e valores necessários para a execução do programa e levante os seguintes dados para todo o programa e para cada iteração: 1) Número de Instruções 2) Número de Ciclos 3) O IPC de todo o programa 4) Número de Paradas (Bolhas) a. RAW b. WAW c. Estruturais Apresente os resultados para os seguintes casos : a) Original: Nenhuma destas técnicas foi aplicada b) Loop Unrolling c) Software Pipelining Não se acanhe em caprichar na apresentação!

3 5. Anexos The original version of the Livermore Loops (officially known as the Livermore Fortran Kernels) was written in Fortran by Frank McMahon of Lawrence Livermore National Laboratory. The Loops are used to benchmark the floating point performance of a computer. The Loops benchmark was created by extracting the DO loops that consumed most of the run time from several physics simulation programs at LLNL. These loops are all one-dimensional and the data they use is small enough to fit in the cache memory of most current (1998) computers. The results of the Loops have been a good predictor of performance on complex physics simulation programs, provided that they use cache efficiently. Many 2D and 3D simulations programs at LLNL have data sets much larger than cache memory, but have been written so that they achieve high cache utilization. The Loops is a good predictor of the performance of these programs. The Loops use a single processor, so other benchmarks are required to measure the performance of parallel computers. This version of the Loops is written entirely in ANSI C. It was translated directly from the Fortran version by Steven Langer of Lawrence Livermore National Laboratory. There was no attempt to translate the Fortran into idiomatic C - e.g., arrays are still addressed via indexing macros that act like Fortran indices. The arrays are passed to the computational kernels via global variables. This matches the use of COMMON blocks in Fortran, instead of passing the arrays as pointer arguments as is usually done in C. The performance with many C compilers available in 1998 is better when arrays are passed in global variables than when they are passed as arguments. The C kernels are the same as those in McMahon's original version, so the results should be the same as for the version with a Fortran driver program. This program is discussed in an article by Steven Langer in the July/August 1998 issue of Computers in Physics.

4 * Kernel 3 -- inner product * Q= 0.0 DO 3 k= 1,n 3 Q= Q + Z(k)*X(k) /* q = 0.0; for ( k=0 ; k<n ; k++ ) { q += z[k]*x[k]; ;;inner LOOP: l.d F1, 0(R2) l.d F0, 0(R3) mul.d F1, F1, F0 l.d F0, 0(R4) add.d F0, F0, F1 s.d F0, 0(R4) daddi R3, R3, #8 daddi R31, R31, #1 ld R1, 0(R5) slt R1, R31, R1 bne R1, R0, LOOP ;; filled delay slot: daddi R2, R2, #8

5 ****************************************************************** Kernel 5 -- tri-diagonal elimination, below diagonal * DO 5 i = 2,n * 5 X(i)= Z(i)*(Y(i) - X(i-1)) */ for ( i=1 ; i<n ; i++ ) { x[i] = z[i]*( y[i] - x[i-1] ); ;;tridag LOOP: l.d F2, 0(R31) l.d F0, 0(R2) sub.d F2, F2, F0 l.d F0, 0(R3) mul.d F0, F0, F2 s.d F0, 0(R4) daddi F4, R4, #8 daddi R3, R3, #8 daddi R2, R2, #8 daddi R5, R5, #1 l.d r1, 0(R7) slt R1, R5, R1 bne R1, R0, LOOP ;; filled delay slot: daddi R31,R31,#8

6 * Kernel first sum * X(1)= Y(1) * DO 11 k = 2,n * 11 X(k)= X(k-1) + Y(k) */ x[0] = y[0]; for ( k=1 ; k<n ; k++ ) { x[k] = x[k-1] + y[k]; ;;sum L17: l.d F0, 0(R2) l.d F1, 0(R3) add.d F0, F0, F1 s.d F0, 0(R4) daddi R4, R4, #8 daddi R3, R3, #8 daddi R31, R31, #1 ld R1, 0(R6) slt R1, R31, R1 bne R1, R0, L17 ;; filled delay slot: daddi R2, R2, #8

7 * Kernel find location of first minimum in array * X( n/2)= -1.0E+10 * m= 1 * DO 24 k= 2,n * IF( X(k).LT.X(m)) m= k * 24 CONTINUE */ x[n/2] = -1.0e+10; m = 0; for ( k=1 ; k<n ; k++ ) { if ( x[k] < x[m] ) m = k; ;;min LOOP: GREAT: ld R1, 0(R4) dsll R1, R1, #2 dadd R1, R1, R5 l.d F1, 0(R31) l.d F0, 0(R1) c.lt.d F1, F0 bc1f GREAT nop ; not filled. sd R2, 0(R4) daddi R2, R2, #1 slt R1, R2, R3 bne R1, R0, LOOP

8 ****************************************************************** * * Kernel 1 -- hydro fragment ****************************************************************** * * DO 1 L = 1,Loop * DO 1 k = 1,n * 1 X(k)= Q + Y(k)*(R*ZX(k+10) + T*ZX(k+11)) */ for ( l=1 ; l<=loop ; l++ ) { for ( k=0 ; k<n ; k++ ) { x[k] = q + y[k]*( r*z[k+10] + t*z[k+11] ); $L15: L8: cvt.d.l F5,F0 daddiu $sp,$sp, li 5,20 # 0x14 li R4,1 # 0x1 mov.d F4,F5 mov.d F3,F5 move R2,$sp li R3,99 # 0x63.align 3 l.d F8,16120(R2) #F8 = z [k+10] daddiu R3,R3,-1 l.d F7,16112(R2) #F7 = z [k+11] l.d F6,8016(R2) #F6 = y [k] mul.d F0,F3,F8 #F0 = t*z[k+10] madd.d F1,F0,F4,F7 #F1 = t*z[k+10]+r*z[k+11] madd.d F2,F5,F6,F1 #F2 = q+y[k]*(f1) s.d F2,0(R2) #x[k] = F2 bgez R3,L8 daddiu R2,R2,8 daddiu R4,R4,1 slt R2,R5,R4 beq R2,R0,L15 move R2,$sp

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

Arquitetura e Organização de Computadores 2

Arquitetura e Organização de Computadores 2 Arquitetura e Organização de Computadores 2 Escalonamento Estático e Arquiteturas VLIW Dynamic Scheduling, Multiple Issue, and Speculation Modern microarchitectures: Dynamic scheduling + multiple issue

Leia mais

Sequenciamento dinâmico

Sequenciamento dinâmico Sequenciamento dinâmico João Canas Ferreira Outubro de 2004 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3 a. ed., MKP c JCF, 2004 AAC (FEUP/LEIC) Sequenciamento

Leia mais

Conflitos. Aula 9. 31 de Março de 2005 1

Conflitos. Aula 9. 31 de Março de 2005 1 Conflitos Aula 9 31 de Março de 2005 1 Estrutura desta aula Taxonomia dos conflitos Dependências entre instruções Conflitos num pipeline Conflitos estruturais Conflitos de dados Conflitos de controlo Ref:

Leia mais

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1

Leia mais

Visão Geral de Pipelining

Visão Geral de Pipelining Pipeline Visão Geral de Pipelining Instruções MIPS têm mesmo tamanho Mais fácil buscar instruções no primeiro estágio e decodificar no segundo estágio IA-32 Instruções variam de 1 byte a 17 bytes Instruções

Leia mais

1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador.

1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador. Arquitetura de Computadores II Bacharelado em Ciência da Computação DCC - IM/UFRJ Prof.: Gabriel P. Silva Data: 18/04/2005 1 ª Lista de Exercícios de Arquitetura de Computadores II 1) Enumere e dê exemplo

Leia mais

Arquitetura e Organização de Computadores 2

Arquitetura e Organização de Computadores 2 Arquitetura e Organização de Computadores 2 Fundamentos do Projeto e Análise Quantitativa: Equação de Desempenho e Benchmarks Princípios Quantitativos do Projeto de Computadores Estudo anterior: potência/energia,

Leia mais

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções Organização e Arquitetura de Computadores Capítulo 13 Paralelismo no nível de instruções O que é Superescalar? As arquiteturas superescalares são aquelas capazes de buscar, decodificar, executar e terminar

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,

Leia mais

Revisão dependências de dados

Revisão dependências de dados Revisão dependências de dados Dependências de dados resolvidas com adiantamento (quase sempre) Deve garantir que instruções anteriores escreverão resultado, destino é mesmo que fonte, e instrução anterior

Leia mais

Software Pipeline. Sergio Ricardo Souza Leal de Queiroz. IC-Unicamp - RA: 107070 RESUMO 2. SOFTWARE PIPELINE, CONCEITOS 1.

Software Pipeline. Sergio Ricardo Souza Leal de Queiroz. IC-Unicamp - RA: 107070 RESUMO 2. SOFTWARE PIPELINE, CONCEITOS 1. RESUMO Software Pipeline Sergio Ricardo Souza Leal de Queiroz A partir do momento em que se constatou que a evolução dos computadores não estaria mais na velocidade do processador, e sim em projetar máquinas

Leia mais

Organização de Computadores

Organização de Computadores Capítulo 2 - A Organização de Computadores Orlando Loques setembro 2006 Referências: principal: Capítulo 2, Structured Computer Organization, A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization

Leia mais

Programas Recursivos e conversão de Programas Monolíticos 1

Programas Recursivos e conversão de Programas Monolíticos 1 Programas Recursivos e conversão de Programas Monolíticos 1 Cláudia Santos Fernandes, Daniela Tereza Ascencio Russi, Francisco Assis da Silva, Liliane Jacon Jacob Mestrado Remoto da UFRGS/FACCAR E-mail:

Leia mais

Caminho dos Dados e Atrasos

Caminho dos Dados e Atrasos Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

ci212 desempenho 2011-2 Avaliação de Desempenho

ci212 desempenho 2011-2 Avaliação de Desempenho Avaliação de Desempenho Qual é o melhor avião? capac alcance veloc produtiv avião [p] [km] [km/h] [p km/h] B-777 375 7400 976 366.000 B-747 470 6640 976 458.720 Concorde 132 6400 2160 280.800 DC8-50 146

Leia mais

Execução concorrente de instruções

Execução concorrente de instruções Execução concorrente de instruções Aspectos avançados João Canas Ferreira 2007-10-29 Tópicos de Arquitectura de Computadores Assuntos Tópicos 1 Sequenciamento dinâmico 2 Algoritmo de Tomasulo 3 Previsão

Leia mais

Aplicação de técnicas para otimização serial em Fortran 90

Aplicação de técnicas para otimização serial em Fortran 90 Aplicação de técnicas para otimização serial em Fortran 90 Cleibson Aparecido de Almeida PPGMNE Programa de Pós Graduação em Métodos Numéricos em Engenharia Universidade Federal do Paraná (UFPR) CEP 81.531

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

Leia mais

MODOS DE ENDEREÇAMENTO

MODOS DE ENDEREÇAMENTO UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO

Leia mais

Execução concorrente de instruções

Execução concorrente de instruções Execução concorrente de instruções Aspectos avançados João Canas Ferreira Outubro de 2010 João Canas Ferreira (FEUP) ILP Outubro de 2010 1 / 58 Assuntos 1 Previsão dinâmica de saltos 2 Sequenciamento dinâmico

Leia mais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Os textos nestas caixas foram adicionados pelo Prof. Joubert William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 4 Memória cache Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Características Localização. Capacidade.

Leia mais

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES.

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Tópico 20 janeiro 27 janeiro 3 fev 10 fev 17 fev 24 fev 3 março Paradigma de Paralelismo

Leia mais

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB 2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código

Leia mais

Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores

Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores Infraestrutura de Hardware Revisão Pipeline, Superescalar e Multicores Pipeline Pipeline é uma técnica que visa aumentar o nível de paralelismo de execução de instruções ILP (Instruction-Level Paralellism)

Leia mais

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64 Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução

Leia mais

3. Arquiteturas SIMD. 3.1 Considerações iniciais

3. Arquiteturas SIMD. 3.1 Considerações iniciais 3. Arquiteturas SIMD Computadores SIMD (Single Instruction Multiple Data) são utilizados para a resolução de problemas computacionalmente intensivos da área científica e de engenharia, em que existem estruturas

Leia mais

Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática

Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática Francisco Carlos Silva Junior 1, Ivan Saraiva Silva 1 1 Departamento de Computação Universidade Federal do Piauí (UFPI) Caixa Postal

Leia mais

Pipelining - analogia

Pipelining - analogia PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access

Leia mais

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3

Leia mais

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1o. Semestre / 2005 Fundamentos Parte 2 Princípios de Projeto de Computadores Três áreas de aplicação com características diferentes

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 7: 29 de abril de 2010 1 2 Subrotinas Um procedimento ou função é uma subrotina armazenada que executa uma tarefa específica baseada nos parâmetros de entrada

Leia mais

Para os problemas seguintes considere os 5 andares de pipelining do MIPS:

Para os problemas seguintes considere os 5 andares de pipelining do MIPS: A. Pipelining Para os problemas seguintes considere os 5 andares de pipelining do MIPS: ETCH () ID (I) EXEC (E) MEM (M) WR (W) Para resolução dos problemas utilize a tabela em anexo, na qual deve indicar

Leia mais

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto: Processadores BIP A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo

Leia mais

RISC - Reduced Instruction Set Computer

RISC - Reduced Instruction Set Computer Arquietura MAC 412- Organizãção de Computadores - Siang W. Song Baseado no livro de Tanenbaum - Structured Computer Organization Arquietura Índice 1 Avaliação da arquitetura CISC (microprogramada) Críticas

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 cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Organização e rquitetura Básicas

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados

Leia mais

Sistemas Operacionais Aula 2

Sistemas Operacionais Aula 2 Sistemas Operacionais Aula 2 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE 1/38 O que

Leia mais

Accessing the contents of the Moodle Acessando o conteúdo do Moodle

Accessing the contents of the Moodle Acessando o conteúdo do Moodle Accessing the contents of the Moodle Acessando o conteúdo do Moodle So that all the available files in the Moodle can be opened without problems, we recommend some software that will have to be installed

Leia mais

Conjunto de Instruções. Conjunto de Instruções

Conjunto de Instruções. Conjunto de Instruções Conjunto de Instruções It is easy to see by formal-logical methods that there exist certain [instruction sets] that are in abstract adequate to control and cause the execution of any sequence of operations...

Leia mais

RISC simples. Aula 7. 31 de Março de 2005 1

RISC simples. Aula 7. 31 de Março de 2005 1 RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de

Leia mais

Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario

Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario Arquitetura de Computadores Assembly Miscelâneas Mário O. de Menezes http://www.tf.ipen.br/~mario AC Mário O. de Menezes 1 Lembrando Instruções Lógicas e Shift operam em bits individuais, diferente de

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Execções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Exceções Exceções (ou interrupções ou falta) Desvio para um endereço que não faz

Leia mais

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Arquiteturas VLIW Gabriel P.

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Arquiteturas VLIW Gabriel P. Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Arquiteturas VLIW Gabriel P. Silva Introdução A arquitetura Very Long Instruction Word (VLIW) tenta

Leia mais

Uma Especificação de Máquina de Registradores para Java

Uma Especificação de Máquina de Registradores para Java Guilherme Campos Hazan Uma Especificação de Máquina de Registradores para Java Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre pelo Programa de

Leia mais

Suporte em software para o conjunto de instruções SPARC16

Suporte em software para o conjunto de instruções SPARC16 1 Suporte em software para o conjunto de instruções Bruno Cardoso Lopes bruno.cardoso@gmail.com Laboratório de Sistemas de Computação Instituto de Computação UNICAMP 1 2 Agenda Introdução Trabalhos Relacionados

Leia mais

Sistema de Visão Computacional sobre Processadores com Arquitetura Multi Núcleos

Sistema de Visão Computacional sobre Processadores com Arquitetura Multi Núcleos Roberto Kenji Hiramatsu Sistema de Visão Computacional sobre Processadores com Arquitetura Multi Núcleos Tese apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título de Doutor

Leia mais

ORGANIZAÇÃO CURRICULAR

ORGANIZAÇÃO CURRICULAR ORGANIZAÇÃO CURRICULAR O curso Técnico em Informática, em Nível Médio Subseqüente, será organizado de forma semestral, com aulas presenciais, compostos por disciplinas, com conteúdos estabelecidos, tendo

Leia mais

Welcome to Lesson A of Story Time for Portuguese

Welcome to Lesson A of Story Time for Portuguese Portuguese Lesson A Welcome to Lesson A of Story Time for Portuguese Story Time is a program designed for students who have already taken high school or college courses or students who have completed other

Leia mais

Anotações da 2a Edição

Anotações da 2a Edição Anotações da 2a Edição OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson. Supõe-se que os estudantes tenham noções de lógica digital e linguagem

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Nível da Microarquitetura (Parte

Leia mais

Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios

Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios 1) Explore conversões de números a partir de números binárias com sinal e sem sinal para decimal:

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 19: Visão geral sobre otimização de programas 06 de julho de 2010 1 2 3 Características esperadas dos programas O primeiro objetivo ao escrever programas de computador

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar

Leia mais

DESENVOLVIMENTO DE RECURSOS COMPUTACIONAIS VISANDO O APRENDIZADO DA PROGRAMAÇÃO LINEAR

DESENVOLVIMENTO DE RECURSOS COMPUTACIONAIS VISANDO O APRENDIZADO DA PROGRAMAÇÃO LINEAR DESENVOLVIMENTO DE RECURSOS COMPUTACIONAIS VISANDO O APRENDIZADO DA PROGRAMAÇÃO LINEAR Patrícia Oliveira de Souza Escola de Engenharia Industrial e Metalúrgica de Volta Redonda da UFF Av. dos Trabalhadores

Leia mais

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina Arquitetura e Organização de Computadores 2 Apresentação da Disciplina 1 Objetivos Gerais da Disciplina Aprofundar o conhecimento sobre o funcionamento interno dos computadores em detalhes Estudar técnicas

Leia mais

Processadores para Ensino de Conceitos Básicos de Arquitetura de Computadores

Processadores para Ensino de Conceitos Básicos de Arquitetura de Computadores Processadores para Ensino de Conceitos Básicos de Arquitetura de Computadores Diana Morandi, André Luis Alice Raabe, Cesar Albenes Zeferino Universidade do Vale do Itajaí UNIVALI Rua Uruguai, 458 Caixa

Leia mais

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM Arquitetura de Computadores II Pipeline Introdução Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal

Leia mais

Modelagem de Sistemas Computacionais. Seleção de Carga de Trabalho Aula 04 Profa. Priscila Solís Barreto

Modelagem de Sistemas Computacionais. Seleção de Carga de Trabalho Aula 04 Profa. Priscila Solís Barreto Modelagem de Sistemas Computacionais Seleção de Carga de Trabalho Aula 04 Profa. Priscila Solís Barreto Servicos Exercidos SUT = System Under Test CUS = Component Under Study Serviços Exercidos Não confundir

Leia mais

Arquitectura de Computadores II. Exercícios sobre pipelining

Arquitectura de Computadores II. Exercícios sobre pipelining Arqitectra de Comptadores II LESI - 3º Ano Eercícios sobre pipelining Departamento do Informática Universidade do inho Abril 22 Considere o modelo de ma arqitectra IPS com o pipeline da figra em aneo,

Leia mais

User Guide Manual de Utilizador

User Guide Manual de Utilizador 2400 DPI OPTICAL GAMING MOUSE User Guide Manual de Utilizador 2014 1Life Simplify it All rights reserved. www.1-life.eu 2 2400 DPI OPTICAL GAMING MOUSE ENGLISH USER GUIDE...4 MANUAL DE UTILIZADOR PORTUGUÊS...18

Leia mais

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva Arquitetura de Computadores - Processadores Superescalares por Helcio Wagner da Silva Introdução O Pipeline é uma técnica desenvolvida para a melhoria do desempenho frente à execução seqüencial de instruções

Leia mais

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação 36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

Como renomear/mudar de local arquivos sem perder referencias na montagem. Renomear Arquivos

Como renomear/mudar de local arquivos sem perder referencias na montagem. Renomear Arquivos Como renomear/mudar de local arquivos sem perder referencias na montagem. Quando utilizamos o SolidWorks nem sempre o nome que inicialmente inserimos em um determinado componente será o mesmo ao término

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Apresentação do curso Ronaldo de Freitas Zampolo zampolo@ieee.org, zampolo@ufpa.br Tópicos Como iremos trabalhar Atendimento, avaliação, etc. Introdução e conceitos básicos

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo 1 Professores: Aula 10 Lúcia M. A. Drummond Simone de Lima Martins Conteúdo: Arquiteturas Avançadas - Arquiteturas RISC - Processamento Paralelo 2 Arquiteturas RISC Reduced Instruction Set Computer se

Leia mais

Arquitetura de Computadores. Linguagem de Máquina

Arquitetura de Computadores. Linguagem de Máquina Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP

Leia mais

Strings. COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br 2014-II

Strings. COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br 2014-II Strings COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br Introdução Uma estrutura de dados fundamental Crescente Importância Aplicações: Busca do Google Genoma Humano 2 Caracteres Codificação

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

Leia antes de utilizar. Sistema de Software de Desenho de Bordados Personalizados8. Guia de Instalação

Leia antes de utilizar. Sistema de Software de Desenho de Bordados Personalizados8. Guia de Instalação Leia antes de utilizar Sistema de Software de Desenho de Bordados Personalizados8 Guia de Instalação Leia este guia antes de abrir o pacote do CD-ROM Obrigado por adquirir este software. Antes de abrir

Leia mais

Um Modelo de Componentes de Software com Suporte a Múltiplas Versões

Um Modelo de Componentes de Software com Suporte a Múltiplas Versões Hugo Roenick Um Modelo de Componentes de Software com Suporte a Múltiplas Versões Dissertação de Mestrado Dissertação apresentada ao Programa de Pós graduação em Informática do Departamento de Informática

Leia mais

ArchC. Wesley Nunes Gonçalves

ArchC. Wesley Nunes Gonçalves Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores

Leia mais

Arquitectura de Computadores II. Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism)

Arquitectura de Computadores II. Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism) Arquitectura de Computadores II LESI - 3º Ano Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism) João Luís Ferreira Sobral Departamento do Informática Universidade

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Princípios de projeto para computadores modernos... 3 1.1.2. Paralelismo...

Leia mais

Pipelining. Professor: Carlos Bazilio. Pólo Universitário rio de Rio das Ostras

Pipelining. Professor: Carlos Bazilio. Pólo Universitário rio de Rio das Ostras Pipelining Professor: Carlos Bazilio Contextualizando Após apresentação da arquitetura interna de processadores Memória de Controle Microprograma Linguagem de Máquina... Motivação Idéia Geral Estágios

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO Geração de código Ivan Ricarte 2008 Sumário Geração de código intermediário Código de três endereços Notação pós-fixa Otimização de código Heurísticas de otimização Geração de código em linguagem simbólica

Leia mais

Montadores, Link-editores e o Simulador SPIM

Montadores, Link-editores e o Simulador SPIM A Montadores, Link-editores e o Simulador SPIM James R. Larus Microsoft Research Microsoft O receio do insulto sério não pode justificar sozinho a supressão da livre expressão. Louis Brandeis Whitney v.

Leia mais

Guilherme Quentel Melo Modelagem do processador Nios2 para uma plataforma de SoCs

Guilherme Quentel Melo Modelagem do processador Nios2 para uma plataforma de SoCs Guilherme Quentel Melo Modelagem do processador Nios2 para uma plataforma de SoCs Florianópolis SC 2006/2 Guilherme Quentel Melo Modelagem do processador Nios2 para uma plataforma de SoCs Trabalho de conclusão

Leia mais

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br MIPS Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br Introdução Plataforma projetada da parceria entre NEC, Nintendo, Silicon Graphics e Sony Possui um conjunto de instruções que e

Leia mais

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

28/9/2010. Paralelismo no nível de instruções Processadores superescalares Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados

Leia mais

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO Rafael Vargas Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Leia mais

FEN- 06723 Processamento Digital de Imagens. Projeto 2 Utilização de máscaras laplacianas

FEN- 06723 Processamento Digital de Imagens. Projeto 2 Utilização de máscaras laplacianas FEN- 06723 Processamento Digital de Imagens Projeto 2 Utilização de máscaras laplacianas Marcelo Musci Mestrado Geomática/UERJ-2004 Abstract The Laplacian is also called as second difference function,

Leia mais

Processador ARM Cortex-A9

Processador ARM Cortex-A9 Erick Nogueira Nascimento (032483) Franz Pietz (076673) Lucas Watanabe (134068) 11 de junho de 2012 Introdução Alto desempenho e economia de energia Arquitetura ARMv7-A Características do processador super-escalável

Leia mais

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014. Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.1 1/21 1 Linguagens de programação 2 Compilação 2/21 Layout 1

Leia mais

Scilab. Introdução ao Scilab. Como obter ajuda

Scilab. Introdução ao Scilab. Como obter ajuda Scilab Scilab é uma linguagem de programação associada a uma rica coleção de algoritmos numéricos cobrindo muitos aspectos dos problemas de computação científica. Do ponto de vista do software, Scilab

Leia mais

http://www.risesecurity.org Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@risesecurity.org

http://www.risesecurity.org Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@risesecurity.org Ataques Polimórficos Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@risesecurity.org A idéia - Detectores de intrusos utilizam-se de assinaturas de ataques para identificação dos mesmos - Sistemas

Leia mais

DISCIPLINA: Arquitetura e Organização de Computadores II 2ECOM.027

DISCIPLINA: Arquitetura e Organização de Computadores II 2ECOM.027 DISCIPLINA: Arquitetura e Organização de Computadores II CÓDIGO: 2ECOM.027 Validade: a partir do 1º semestre de 2007 Carga Horária: Total: 0 h/a Semanal: 04 aulas Créditos: 04 Modalidade: Teórica Classificação

Leia mais

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Diminui o gargalo existente entre processador e memória principal; Diferença de velocidade 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Tecnologia semelhante à da CPU e,

Leia mais

T Ã O B O M Q U A N T O N O V O

T Ã O B O M Q U A N T O N O V O D I S S E R T A Ç Ã O D E M E S T R A D O M A S T E R I N G D I S S E R T A T I O N A V A L I A Ç Ã O D A C O N D I Ç Ã O D E T Ã O B O M Q U A N T O N O V O U M A A P L I C A Ç Ã O E N V O L V E N D O

Leia mais