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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Implementação de pipelines

Implementação de pipelines Implementação de pipelines João Canas Ferreira Novembro de 2005 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP JCF, 2005 AAC (FEUP/LEIC) Implementação

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

O que influi no desempenho de CPU

O que influi no desempenho de CPU Lei de Amdahl O ganho de desempenho possível de um dado melhoramento é limitado pela fração de tempo que a característica melhorada é usada. Suponha que um aperfeiçoamento ofereça um ganho de desempenho

Leia mais

Ultimate Pipeline Simulator: Simulador do Pipeline do MIPS

Ultimate Pipeline Simulator: Simulador do Pipeline do MIPS Ultimate Pipeline Simulator: Simulador do Pipeline do MIPS Cézar da Cunha Barcellos¹, Henrique Magalhães Simões² Pontifícia Universidade Católica de Minas Gerais {cezar.opaleiro¹, henriquems²}@gmail.com

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

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

ESTUDO SOBRE PROCESSADOR ARM7

ESTUDO SOBRE PROCESSADOR ARM7 UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: LINGUAGEM ASSEMBLY PROFESSOR GUTO ESTUDO SOBRE PROCESSADOR ARM7 ALUNOS: ERICH

Leia mais

Serviços: API REST. URL - Recurso

Serviços: API REST. URL - Recurso Serviços: API REST URL - Recurso URLs reflectem recursos Cada entidade principal deve corresponder a um recurso Cada recurso deve ter um único URL Os URLs referem em geral substantivos URLs podem reflectir

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

Conjunto de Instruções

Conjunto de Instruções Conjunto de Instruções Para comandar o hardware do computador, é necessário que falemos sua língua: As palavras da linguagem de máquina são chamadas de instruções; O vocabulário forma o conjunto de instruções,

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

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

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

Software Pipeline. Maria Angélica Lopes de Souza 2.SOFTWARE PIPELINE, CONCEITOS RESUMO. Palavras-Chave 1.INTRODUÇÃO. 2.1 Grafo de dependência

Software Pipeline. Maria Angélica Lopes de Souza 2.SOFTWARE PIPELINE, CONCEITOS RESUMO. Palavras-Chave 1.INTRODUÇÃO. 2.1 Grafo de dependência Software Pipeline Maria Angélica Lopes de Souza RA: 079762 RESUMO Cada vez mais busca-se melhorar o desempenho da execução de programas e técnicas como Software Pipeline, que visam paralelizar o código

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

Arquitectura de Sistemas Paralelos e Distribuídos

Arquitectura de Sistemas Paralelos e Distribuídos Docentes Arquitectura de Sistemas Paralelos e Distribuídos 0. Introdução Prof. Paulo Marques Dep. Eng. Informática, Univ. Coimbra pmarques@dei.uc.pt Prof. Luís Silva Dep. Eng. Informática, Univ. Coimbra

Leia mais

Educação Vocacional e Técnica nos Estados Unidos. Érica Amorim Simon Schwartzman IETS

Educação Vocacional e Técnica nos Estados Unidos. Érica Amorim Simon Schwartzman IETS Educação Vocacional e Técnica nos Estados Unidos Érica Amorim Simon Schwartzman IETS Os principais modelos Modelo europeu tradicional: diferenciação no secundário entre vertentes acadêmicas e técnico-profissionais

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

UNIVERSIDADE DE LISBOA FACULDADE DE LETRAS ÁREA DAS CIÊNCIAS DA LINGUAGEM

UNIVERSIDADE DE LISBOA FACULDADE DE LETRAS ÁREA DAS CIÊNCIAS DA LINGUAGEM UNIVERSIDADE DE LISBOA FACULDADE DE LETRAS ÁREA DAS CIÊNCIAS DA LINGUAGEM Imagens convencionalizadas na Tradução Técnica Relatório de estágio em Tradução na Onoma de Ana Raquel Moço Meirim Pinto Mestrado

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

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

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

Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL

Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL José Carlos Pereira Itatiba São Paulo Brasil Dezembro de 2006 ii Curso de Engenharia de Computação DESENVOLVIMENTO DE UM

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

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CURSO DE ESPECIALIZAÇÃO EM IMPLANTODONTIA KELLIN PIVATTO

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CURSO DE ESPECIALIZAÇÃO EM IMPLANTODONTIA KELLIN PIVATTO UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CURSO DE ESPECIALIZAÇÃO EM IMPLANTODONTIA KELLIN PIVATTO ANÁLISE COMPARATIVA ENTRE IMPLANTES CÔNICOS E IMPLANTES CILÍNDRICOS PASSO FUNDO 2008 KELLIN

Leia mais

RELAÇÕES ENTRE O DESEMPENHO NO VESTIBULAR E O RENDIMENTO ACADÊMICO DOS ESTUDANTES NO CURSO DE GRADUAÇÃO EM ENGENHARIA DE MATERIAIS DA UFSCAR

RELAÇÕES ENTRE O DESEMPENHO NO VESTIBULAR E O RENDIMENTO ACADÊMICO DOS ESTUDANTES NO CURSO DE GRADUAÇÃO EM ENGENHARIA DE MATERIAIS DA UFSCAR RELAÇÕES ENTRE O DESEMPENHO NO VESTIBULAR E O RENDIMENTO ACADÊMICO DOS ESTUDANTES NO CURSO DE GRADUAÇÃO EM ENGENHARIA DE MATERIAIS DA UFSCAR Walter Libardi libardi@power.ufscar.br Pedro Ferreira Filho

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

Aula Prática 1 Introdução à programação Assembly no DOS usando TASM Bruno Silva bs@cin.ufpe.br lauro Moura lauromoura@gmail.com

Aula Prática 1 Introdução à programação Assembly no DOS usando TASM Bruno Silva bs@cin.ufpe.br lauro Moura lauromoura@gmail.com Interface Hardware Software Aula Prática 1 Introdução à programação Assembly no DOS usando TASM Bruno Silva bs@cin.ufpe.br lauro Moura lauromoura@gmail.com Conteúdo Visão geral do processo TASM / TLINK

Leia mais

NetApp Visão Geral Alguns Desafios de uma Infraestrutura em Nuvem Integração com o System Center 2012

NetApp Visão Geral Alguns Desafios de uma Infraestrutura em Nuvem Integração com o System Center 2012 Agenda NetApp Visão Geral Alguns Desafios de uma Infraestrutura em Nuvem Integração com o System Center 2012 Monitoramento, Relatórios e Recomendações Pronto para sua Nuvem: System Center Orchestrator

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

5/10/10. Implementação. Building web Apps. Server vs. client side. How to create dynamic contents?" Client side" Server side"

5/10/10. Implementação. Building web Apps. Server vs. client side. How to create dynamic contents? Client side Server side 5/10/10 Implementação Mestrado em Informática Universidade do Minho! 6! Building web Apps How to create dynamic contents?" Client side" Code runs on the client (browser)" Code runs on a virtual machine

Leia mais

ArcGIS 10 - Instalação e Licenciamento da versão Student Trial

ArcGIS 10 - Instalação e Licenciamento da versão Student Trial ArcGIS 10 - Instalação e Licenciamento da versão Student Trial Este documento descreve os passos necessários para efectuar a activação e instalação da licença de ArcGIS 10 Desktop Student Trial. Índice

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

Modelamento Banco de Dados e modelos de tendencia

Modelamento Banco de Dados e modelos de tendencia Modelamento Banco de Dados e modelos de tendencia NOTA: Cada barra representa o grau de partidas de uma determinada origem de um conhecido percurso. Por exemplo, em Dezembro o fator sazonal para Chicago

Leia mais

Como monitorar seu processo de esterilização. com segurança e qualidade. Nome do autor

Como monitorar seu processo de esterilização. com segurança e qualidade. Nome do autor Como monitorar seu processo de esterilização Nome do autor com segurança e qualidade Richard Bancroft Engenheiro Albert Browne (Inglaterra) Gessilene Barbosa Enfermeira Mack Medical (Brasil) Agenda Mapeamento

Leia mais

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1 Arquiteturas que Exploram Paralismos: VLIW e Superscalar Ch9 1 Introdução VLIW (Very Long Instruction Word): Compilador empacota um número fixo de operações em uma instrução VLIW As operações dentro de

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

Introdução à Arquitetura de Computadores IFES Campus Serra

Introdução à Arquitetura de Computadores IFES Campus Serra Os computadores atuais possuem seis ou mais níveis de máquinas conforme podemos observar no quadro abaixo Nível de linguagem orientada para problemas Nível de linguagem de montagem Nível de sistema operacional

Leia mais