Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Multiciclo

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

Download "Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Multiciclo"

Transcrição

1 Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Mateus Beck Rutzig Universidade Federal do Rio Grande do Sul Instituto de Informática - Av. Bento Gonçalves, 95 Campus do Vale - Porto Alegre, Brasil mbrutzig@inf.ufrgs.br RESUMO O mercado de sistemas embarcados está em constante crescimento. O aumento da complexidade do software embarcado está demandando processadores mais poderosos. Uma maneira de aumentar o desempenho dos sistemas é trocar lógica seqüencial por lógica combinacional. Neste trabalho é explorado o espaço de projeto da inserção de um Array Reconfigurável em um simples microprocessador, tornando a plataforma praticamente Dataflow. 1. INTRODUCÃO Atualmente, o crescimento da produção de eletroeletrônicos faz com que a tecnologia se encontre cada vez mais presente em nosso cotidiano, facilitando as tarefas do dia-a-dia. Exemplos destes são celulares, PDA, tocadores de mp3, sistemas de alarmes e mecanismos de injeção eletrônica de combustíveis [1]. Estes dispositivos são denominados de sistemas embarcados, que cada vez mais disponibilizam serviços mais sofisticados como: acesso à Internet; tela colorida com gráficos animados; rádio; televisão; jogos, entre outros. Conseqüentemente, estas características fazem com que estes dispositivos necessitem de uma capacidade computacional ainda maior. Alguns problemas são encontrados quando este assunto é tratado em sistemas embarcados. Existem duas particularidades nestes dispositivos que necessitam de uma atenção especial: os sistemas embarcados, na sua grande maioria, são produzidos com o objetivo de diminuir de tamanho; e também, em sistemas embarcados portáteis, por estes serem geralmente dependentes de uma bateria, existe a necessidade dos mesmos permanecerem ligados o máximo de tempo possível sem necessitar de recarga. Assim, há a preocupação adicional pelo consumo de energia. Entretanto, quando a capacidade computacional do sistema aumenta a tendência é que ocorra também um crescimento da área do dispositivo e ao mesmo tempo um consumo maior de energia. Conclui-se então que o objetivo, em sistemas embarcados, não é focado somente em obter a máxima capacidade computacional, e sim obter o desempenho suficiente para atender aos requisitos da aplicação, economizando-se em potência. Com o crescimento da quantidade e a diversidade de dispositivos embarcados no mercado, a Sun Microsystems implementou uma tecnologia que portasse Java para sistemas embarcados. Assim Java tornou-se bastante atrativa para ser usada nestes sistemas, por obter características que facilitam a implementação de aplicativos para os mesmos. Dentre estas características está a sua portabilidade, assim, os sistemas implementados em Java podem ser simulados e testados em quaisquer plataformas para após ser implantado na arquitetura final. Outras características de Java são a robustez, segurança e a orientação a objetos. Por esta última característica, a modelagem e programação destes sistemas são facilitadas, visto que estes podem ser projetados em um nível mais alto de abstração, diminuindo o tempo de projeto. Por todas estas facilidades, Java está cada vez mais sendo utilizada em sistemas embarcados. É previsto que no mínimo 8% dos telefones celulares em 27 irão suportar Java [2]. Diversas técnicas de extração de paralelismo em nível de instrução (ILP) são encontradas na literatura, estas trazem um grande aumento de desempenho e diminuição de consumo de energia. No entanto, estas técnicas não são válidas para aplicações que não fornecem a extração de um desejável grau de paralelismo, devido a características da própria aplicação. Outra forma potencial de conseguir um aumento de desempenho e diminuição de consumo de energia é utilizar um array reconfigurável que faz a execução de um fluxo de instruções em um circuito totalmente combinacional.

2 Unindo a idéia de execução de fluxo de instruções em um Array Reconfigurável com tradução binária para detectar on-the-fly seqüência de instruções que podem ser executadas no array, se alcança ao mesmo tempo um aumento de desempenho mantendo compatibilidade de software. Neste trabalho, o processador FemtoJava é utilizado para ser alvo de exploração de espaço de projeto na inserção de um Array Reconfigurável em um simples microcontrolador. Assim tornando a arquitetura praticamente Dataflow. Na Seção 2, são demonstrados alguns trabalhos relacionados e exemplos de algumas arquiteturas reconfiguráveis. Uma breve descrição do processador Femtojava é demonstrada na Seção 3. O Array Reconfigurável e o Dynamic Instruction Merging são apresentados na Seção 4. Na Seção 5 são demonstrados os resultados de desempenho, energia, potência e área obtidos no trabalho proposto. Finalmente, na Seção 6 são feitas conclusões e citados alguns trabalhos futuros. 2. TRABALHOS RELACIONADOS Muitos trabalhos que utilizam um array reconfigurável para alcançar um melhor desempenho e diminuição de enrgia são encontrados na literatura. Processadores como Chiamera [3] e ConCISe [4] possuem um array reconfigurável firmemente acoplado ao core do processador. Nestes, o array nada mais é que uma unidade funcional adicional no pipeline do processador, compartilhando os meus recursos com as outras unidades. Por este motivo a lógica de controle se torna muito simples, diminuindo o overhead de comunicação entre o array e o resto do sistema. O processador Femtojava [5] possui um Array Reconfigurável de granularidade grossa, o mesmo utiliza um abordagem chamada Dynamic Instruction Merging para detectar on-the-fly os basic blocks que serão executados no array. Neste trabalho foi proposto a inserção de um array reconfigurável idêntico ao que é formalizado para o Femtojava em uma processador muito mais simples, que fornece a mesma arquitetura que o anterior, mas a sua organização é muito menos complexa. A família Femtojava é um exemplo de arquiteturas que foram criadas especificamente para sistemas embarcados, visando restrições de área e potência. A organização de memória é baseada na alocação de quadros (frames) como manda a especificação da linguagem Java. Além do mais, o Femtojava implementa o sistema de E/S mapeado em memória. Outras características do Femtojava são o conjunto reduzido de instruções, arquitetura Harvard, pequeno tamanho e facilidade de inserção e remoção de instruções. Assim, a proposta do trabalho é acoplar um processador simples, que praticamente só irá executar instruções de controle, em um array reconfigurável, tornando a arquitetura praticamente Dataflow. Diferentemente das propostas anteriores que acoplam um array em processadores mais complexos. 4. ARRAY RECONFIGURÁVEL E DIM A organização do Array reconfigurável proposta por [7] é ilustrada na Figura 1. A mesma é composta por células, cada célula contém unidades lógicas e aritméticas, load/store, deslocadores e um multiplicador. Nesta abordagem existe um mecanismo de detecção de basic blocks que serão executados no array on-the-fly, este é denominado Dynamic Instruction Merging[8] (DIM). 3. PROCESSADOR FEMTOJAVA O processador utilizado na abordagem foi o Femtojava [6]. Este é um processador que executa nativamente bytecodes Java, desta forma é um processador de pilha, já que a máquina virtual Java possui esta característica. Esta versão, diferentemente da versão, não possui nenhum abordagem que extraia paralelismo em nível de instruções. Figura 1- Array Reconfigurável [8]

3 O funcionamento da técnica ocorre da seguinte forma: enquanto o primeiro fluxo de instruções esta sendo executado no processador o DIM está detectando os basic blocks para futura execução no array. Quando houver a ocorrência de um basic block, este não será executado no processador e sim em um mecanismo mais eficiente, o Array Reconfigurável. A configuração dos basic blocks são armazenados em uma cache de reconfigurações. E o número de células podem ser variados de acordo com os requisitos e restrições do sistema. 5. RESULTADOS Para avaliar os resultados obtidos foi realizada uma comparação entre a arquitetura proposta e a arquitetura Femtojava dotada do mesmo array reconfigurável. Todos resultados foram validados através de simulação utilizando os seguintes benchmarks: compress, check, jess, raytrace, db, javac, mpegaudio, mtrt, jack, todos estes do pacote SPECjvm98; além de binary search, float sums, imdct, mp3, sequence search, bubble1, quick1 e select1. É importante ressaltar que os algoritmos propostos possuem características tanto control flow como data flow, fazendo com que se possa melhor explorar o espaço de projeto. Para todos os benchmarks apresentados anteriormente foram realizados experimentos com 1, 2, 3, 4 e 5 células no Array Reconfigurável, tanto para o Femtojava quanto para o Femtojava. Outra questão a ser observada é a penalidade por branches condicionais que é imposta ao Femtojava, então para realizar uma comparação imparcial foi utilizada uma penalidade de 5% para todos os resultados demonstrados nas próximas sub-seções. 5.1 Desempenho Primeiramente, na Tabela 1 pode ser observado todos os resultados obtidos nos benchmarks anteriormente citados em todos os experimentos executados para ambos processadores. A Figura 2 mostra o número de ciclos gastos com o Array Reconfigurável dotado de 3 células. Pode-se observar que em alguns benchmarks o Femtojava obtém um melhor desempenho comparado ao, este fenômeno é explicado pela diferença nas características das aplicações. Jess, db e Javac possuem uma porcentagem maior de instruções de controle e chamada de método, em relação ao total de instruções executadas, que o mp3. Aplicação como Jess favorecem o processador, pois instruções de controle e chamadas de métodos executam em um mesmo número de ciclos que no processador. Ou seja, quanto mais control flow for a aplicação menor será o ganho de ciclos do processador em relação ao. # ciclos jess db javac mp3 Figura 2- Número de ciclos com 3 células no Array A média de ciclos calculada para todos os benchmarks avaliados é demonstrada na figura 3, no eixo horizontal é variado o número de células do Array Reconfigurável. Pode-se observar nesta figura que o crescimento do número de células do Array faz com que ocorra uma maior diminuição do número de ciclos do processador em relação ao. Quando existe somente uma célula o número de instruções executadas no Array é menor do que cinco células, assim várias instruções que poderiam ser executadas no Array acabam sendo executadas no processador por falta de células. Este nicho de instruções (soma, deslocamentos, negações) é executado mais rapidamente no processador do que o. Entretanto, quando mais células são acrescidas ao sistema, a tendência é que a diferença de ciclos diminua entre os processadores pelo fato destas instruções passarem a ser executadas no Array Reconfigurável e apenas instruções de desvios e chamadas de métodos continuam sendo executadas no processador, sendo que nestas instruções ambos possuem o mesmo desempenho. # ciclos células Figura 3 Média de número de ciclos variando-se o número de células do Array Reconfigurável

4 Tabela 1 Desempenho, em número de ciclos, variando-se o número de células Uma célula Duas células Três células Quatro células Cinco células check compress jess raytrace db javac mpegaudio mtrt jack binary_search float_sum imdct mp seq_search bubble quick select Energia Na tabela 2 estão demonstrados o consumo de energia de todos os algoritmos propostos em todas as opções de quantidades de células no Array Reconfigurável executadas para ambos processadores. A figura 4 mostra a energia consumida para quatro benchmarks utilizando três células no array. Podese observar que, semelhante com o desempenho, alguns algoritmos possuem maior diferença de energia consumida no do que no. A razão é a mesma demonstrada anteriormente, a porcentagem de instruções de controle e de chamadas de métodos em alguns algoritmos é maior que em outros, favorecendo assim a sua execução no processador. Também pode-se notar na figura 4 e na tabela 2 que o processador consome, em todos os benchmarks, menos energia que o pipeline. Em benchmarks como jack o, com o mesmo número de células, consome 14% a mais de energia que o. Energia javac mpegaudio mtrt jack Figura 4 Energia consumida com o Array dotado de 3 células Na figura 5 é mostrado a média de consumo de energia de todos os benchmarks propostos, variando o número de células do Array Reconfigurável. Diferentemente da figura 3 de média de desempenho, a figura 5 ilustra que no aumento do número de células não ocorre uma elevação do consumo de energia do processador. Isto é explicado pelo fato de as instruções executadas no dotado do Array com cinco células acabam sendo, na sua maioria, instruções de desvios e chamadas de métodos, sendo que na execução destas o consome menos energia que o. Portanto, comparando as duas figuras discutidas anteriormente, o aumento no número de células provoca, no, um aumento de desempenho proporcionalmente maior que no e o consumo de energia diminui com uma grandeza similar em ambos. Energia 2,5E+13 2E+13 1,5E+13 1E+13 5E+12 células Figura 5 Média de energia consumida variandose o número de células do Array Reconfigurável

5 Tabela 2 Energia (x1 3 ) consumida pelos benchmarks variando-se o número de células Uma célula Duas células Três células Quatro células Cinco células check compress jess raytrace db javac mpegaudio mtrt jack binary_search float_sum imdct mp seq_search bubble quick select Como citado anteriormente, em todos os resultado mostrados são computados 5% de penalidade de desvios condicionais no. Isto deve-se ao fato da organização do possuir no seu estágio de busca de instruções na memória um buffer de 9 bytes. Este buffer é gerenciado de modo que se houver a possibilidade de inserir uma palavra de 4 bytes neste, esta é buscada da memória e alocada no buffer. Entretanto, quando um desvio ou uma chamada/retorno de método ocorre no processador, este buffer tem de ser esvaziado e acessos anteriores à memória de instruções são perdidos. Como a priori, os dados de entrada não são conhecidos pelo processador, quando um desvio condicional for executado pode ocorrer do mesmo ser ou não tomado. Entretanto, a porcentagem de desvios tomados variam dentre as aplicações, então para tornar a comparação imparcial, foi calculado três porcentagens diferentes de penalidades por desvios condicionais: 1,5 e zero. A figura 6 mostra a energia consumida com penalidade de esvaziamento do buffer com as penalidades calculadas. Ou seja, com penalidade 1% toma-se por principio que todos os desvios condicionais foram tomados e o buffer foi esvaziado. Com 5% tem-se que somente a metade dos desvios foram tomados e por fim %, nenhum desvio foi tomado, conseqüentemente nenhum acesso a memória de instruções foi desnecessário. Nota-se, nesta figura, que mesmo com % de penalidade o processador, em todas as configurações de células no Array, permanece com um ganho alto de consumo de energia comparado ao. Energia células Penalidade 1% Penalidade 5% Penalidade % Figura 6 Média de energia consumida com diferentes penalidades no em todas as configurações do Array 5.3 Potência A figura 7 mostra média de potência consumida pelos benchmarks em todas as configurações de células executadas. Nesta figura mostra-se que a potência consumida pelo é muito menor em todas as configurações do Array. Fato que se comprova pelos mesmos motivos citados anteriormente.

6 Na figura 8 e 9 são mostrados dados de energia e desempenho dos mesmos algoritmos executados no dotado do Array reconfigurável com 5 células e no dotado do mesmo com 1 célula. Nota-se que o desempenho, em ciclos, dos algoritmos é similar, até mesmo em alguns casos o executa em menos ciclos que o. Entretanto, a energia consumida pelo é maior em todos os casos, no benchmark seq_search esta diferença chega a 19.5 vezes mais que consumido no Potência Energia / Ciclos Ciclos 5 células Ciclos 1 célula Energia 5 células Energia 1 célula Energia / Ciclos raytrace mpegaudio mtrt jack Ciclos 5 células Ciclos 1 célula Energia 5 células Energia 1 célula Média Potência Média Potência células Figura 7 Média de potência consumida em todas as configurações do Array Figura 8 Energia e ciclos comparados entre os dois processadores 5.4 Área O simples acoplamento do array no processador causa um enorme aumento da área da plataforma. Como pode ser observada na figura 1, a retirada do e a inserção do processador traz uma diminuição de área proporcional a uma célula no Array Reconfigurável. Portanto, para o experimento anterior onde comparou-se o processador dotado de 5 células com o com um Array Reconfigurável de 1 célula o overhead de área do multiciclo não é de quatro células e sim de três pelo motivo explicitado anteriomente. VLIW 2 6. CONCLUSÕES E TRABALHOS FUTUROS Neste trabalho foi inserido um Array Reconfigurável em um simples microprocessador, tornando a arquitetura praticamente DataFlow. Foi observado que esta abordagem proposta traz benefícios energéticos comparados a abordagens anteriores. Além disso, desconsiderando compromissos com área, pode-se alcançar o mesmo desempenho de um processador mais complexo com um consumo menor de energia. Seguindo a mesma abordagem, é desejável obter estes mesmos resultados variando o tamanho e a política de substituição da cache de reconfigurações para observar qual o impacto que estas variações trazem para o desempenho, energia, potência e área do sistema. 7. REFERÊNCIAS CACHE RECONFIGURAÇÕES D.I.M. CACHE DADOS REDUÇÃO DE ÁREA!!! Figura 1 Blocos ilustrando a diferença proporcional de área dos diferentes componentes do Array Reconfigurável binary_search seq_search bubble1 quick1 select1 [1] Schlett, M. Trends in Embedded-Microprocessor Design. In Computer, vol. 31, n. 8, 1998, [2] G. Lawton, Moving Java into Mobile Phones, Computer, vol. 35, n. 6, 22, pp [3] Hauck, S., Fry, T., Hosler, M., Kao, J., The Chimaera reconfigurable functional unit. In Proc. IEEE Figura 9 Energia e ciclos comparados entre os dois processadores

7 Symp. FPGAs for Custom Computing Machines, Napa Valley, CA, 1997, [4] Kastrup, B., Bink, A., Hoogerbrugge, J., ConCISe: a compiler-driven CPLD-based instruction set accelerator. In Proc. 7th Annu. IEEE Symp Field-Programmable Custom Computing Machines, Napa Valley, CA, 1999, [5] Beck, A.C.S., Carro, L A VLIW Low Power Java Processor for Embedded Applications. December (23) [6] S. Ito, L. Carro, R. Jacobi, Making Java Work for Microcontroller Applications. IEEE Design & Test, vol. 18, no. 5, Set-Oct. 21, pp [7] Beck, A. C. S.., Carro, L. Dynamic Reconfiguration with Binary Translation: Breaking the ILP Barrier with Software Compatibility. In Design Automation Conference (DAC), 25 [8] Gomes, V.F., Beck, A.C.S., Carro, L. Trading Time and Space on Low Power Embedded Architectures with Dynamic Instruction Merging, In Journal of Low Power Eletronics, Vol. 1, 1-1, 25.

Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Multiciclo

Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Multiciclo Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Mateus Beck Rutzig mbrutzig@inf.ufrgs.br OUTLINE 1. Conceitos 1.1.Sistemas Embarcados

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

ESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA

ESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA ESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA Alba S. B. Lopes Departamento de Informática e Matemática Aplicada da UFRN

Leia mais

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

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

Leia mais

Implementação de Mecanismo de Sincronização entre Threads para a Plataforma FemtoJava

Implementação de Mecanismo de Sincronização entre Threads para a Plataforma FemtoJava Implementação de Mecanismo de Sincronização entre Threads para a Plataforma FemtoJava Rita Kalile Almeida Andrade UFRGS - Universidade Federal do Rio Grande do Sul Instituto de Informática Porto Alegre

Leia mais

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA PROPOSTA DE TRABALHO

Leia mais

Uma Arquitetura Reconfigurável de Granularidade Grossa Para Multicore

Uma Arquitetura Reconfigurável de Granularidade Grossa Para Multicore Uma Arquitetura Reconfigurável de Granularidade Grossa Para Multicore Francisco Carlos Silva Junior 1, Ivan Saraiva Silva 1 1 Departamento de Computação Universidade Federal do Piauí (UFPI) Teresina PI

Leia mais

Algoritmo para carga dinâmica de tarefas em processadores heterogêneos

Algoritmo para carga dinâmica de tarefas em processadores heterogêneos Algoritmo para carga dinâmica de tarefas em processadores heterogêneos Daniel Barcelos danielb@inf.ufrgs.br Emilena Specht emilenas@inf.ufrgs.br Resumo Este artigo apresenta uma versão do algoritmo threshold

Leia mais

Software retargeting

Software retargeting Software retargeting Luigi & Flavio CMP502 2002/II Binary translation z Arquitetura é uma camada de software z é uma tecnologia disruptiva? z Suporte a novo paradigma: virtual IT shop PARA MAIS INFORMAÇÕES...

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA CURSO DE ENGENHARIA DE COMPUTAÇÃO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA CURSO DE ENGENHARIA DE COMPUTAÇÃO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA CURSO DE ENGENHARIA DE COMPUTAÇÃO EXPLORANDO A UNIÃO ENTRE MEMÓRIA DE CONTEXTOS E DE INSTRUÇÕES DE UMA ARQUITETURA RECONFIGURÁVEL VISANDO A REDUÇÃO

Leia mais

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis Álamo G. Silva, Leonardo A. Casillo Departamento de Ciências Exatas e Naturais Universidade Federal Rural do Semi- Árido

Leia mais

Um estudo do ILP baseado em Tradução Binária

Um estudo do ILP baseado em Tradução Binária III Escola Regional de Informática do Piauí. Livro Anais - Artigos e Minicursos, v. 1, n. 1, p. 52-57, jun, 2017. www.eripi.com.br/2017 - ISBN: 978-85-7669-395-6 Um estudo do ILP baseado em Tradução Binária

Leia mais

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

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

Leia mais

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ENGENHARIA DE SISTEMAS MICROPROCESSADOS ENGENHARIA DE SISTEMAS MICROPROCESSADOS Prof. Pierre Vilar Dantas Turma: 0040-A Horário: 4N Aula 01-26/07/2017 Plano de ensino Professor www.linkedin.com/in/pierredantas/ TÓPICOS Conceitos gerais. Evolução

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

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

Dispositivos de Lógica Programável

Dispositivos de Lógica Programável Dispositivos de Lógica Programável Evolução Válvula no início de 1940 Transistor em 1947 Não aquece como as válvulas Fisicamente menor 1961 primeiro integrado TTL 74LSXX Década de 1970 surge SPLD Simple

Leia mais

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia Informática e de Computadores

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

AULA 1 INTRODUÇÃO AO JAVA

AULA 1 INTRODUÇÃO AO JAVA AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede

Leia mais

Dispositivo Lógico Programável(PLD)

Dispositivo Lógico Programável(PLD) Dispositivo Lógico Programável(PLD) Para reduzir o número de CI's(Circuitos Integrados) a serem usados num projeto digital, é necessário colocar mais funções em um mesmo chip. Isso tem sido feito com evolução

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 1. Descreva as funções desempenhadas pelos escalonadores de curto, médio e longo prazo em um SO. 2. Cite três motivos pelos quais o controle do processador

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

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Ferramenta para Desenvolvimentode Sistemas EmbarcadosUtilizando Linguagem de Alto Nível p.1/25

Ferramenta para Desenvolvimentode Sistemas EmbarcadosUtilizando Linguagem de Alto Nível p.1/25 Universidade Federal do Rio Grande do Sul Escola de Engenharia - Instituto de Informática Graduação em Engenharia de Computação Ferramenta para Desenvolvimento de Sistemas Embarcados Utilizando Linguagem

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

Implementação em hardware de um Módulo de Tradução Binária para uma Arquitetura Reconfigurável

Implementação em hardware de um Módulo de Tradução Binária para uma Arquitetura Reconfigurável UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE ENGENHARIA DE COMPUTAÇÃO ALEXIS ANTON LAZZAROTTO Implementação em hardware de um Módulo de Tradução Binária para uma Arquitetura

Leia mais

Tecnologias Digitais

Tecnologias Digitais Tecnologias Digitais MicroControlador Portas Lógicas PAL Processado r ARM CPLD FPGA Sinais analógicos e Digitais Sinais analógicos e Digitais Os sinais são analógicos quando as tensões medidas ao longo

Leia mais

http://www.ic.uff.br/~debora/fac! 1 Conceito de família IBM System/360 1964 DEC PDP-8 Separa arquitetura de implementação Unidade de controle microprogramada Idéia de Wilkes 1951 Produzida pela IBM S/360

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Computadores vetoriais Fontes dos slides: Livro Patterson e Hennessy, Quantitative Approach e site do curso EE 7722, GPU Microarchitecture do Prof. David Koppelman Graphical

Leia mais

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES Euzébio da Costa Silva 1, Victor Pereira Ribeiro 2, Susana Brunoro Costa de Oliveira 3 1 29520-000, euzebioprogramacao@gmail.com 2 29520-000, victor3ifes@gmail.com

Leia mais

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Infraestrutura de Hardware Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem

Leia mais

FPGA & VHDL. Tutorial

FPGA & VHDL. Tutorial FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves

Leia mais

FPGA & VHDL. Tutorial Aula 1. Computação Digital

FPGA & VHDL. Tutorial Aula 1. Computação Digital FPGA & VHDL Tutorial Aula 1 Computação Digital FPGA Field Programmable Gate Array Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programáveis ) para desempenhar uma

Leia mais

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável Prof. Antonio Heronaldo de Sousa Agenda - Introdução - Lógica Programável - Dispositivos de Lógica Programável - Arranjos Lógicos Programáveis

Leia mais

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h Curso de Tecnologia em Sistemas Eletrônicos CÂMPUS FLORIANÓPOLIS MATRIZ CURRICULAR Módulo I /Semestre 1 Carga horária total: 400h Circuitos Elétricos 1 80 Lógica Combinacional 80 Física Geral 80 Comunicação

Leia mais

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

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

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar - Aula 1 - O NÍVEL DA LÓGICA DIGITAL 1. INTRODUÇÃO Na parte inferior da hierarquia da figura abaixo encontramos o nível da lógica digital, o verdadeiro hardware do computador. Este nível situa-se na fronteira

Leia mais

Multiprogramação leve em arquiteturas multi-core

Multiprogramação leve em arquiteturas multi-core Multiprogramação leve em arquiteturas multi-core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Arquiteturas multi-core Programação multithread Ferramentas de programação

Leia mais

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE Especificação do Projeto Simulador MIPS Superescalar CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até três alunos Última atualização: 5/junho/2018 1. Objetivo Exercitar e

Leia mais

Implementação da Especificação de Tempo Real Java para o EPOS

Implementação da Especificação de Tempo Real Java para o EPOS UNIVERSIDADE FEDERAL DE SANTA CATARINA Curso de Ciências da Computação Implementação da Especificação de Tempo Real Java para o EPOS ANDERSON LUIS ZAPELLO Florianópolis, julho de 2005 ANDERSON LUIS ZAPELLO

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

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto 1 DESEMPENHO SISTEMA COMPUTACIONAIS A melhoria do desempenho de sistemas computacionais pode ser conseguido através de diversas maneiras:

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 2018.1 Computador O computador é uma máquina que realiza processamento de dados automaticamente. Ela é formada por um hardware e um software. O Engenho Analítico é o primeiro

Leia mais

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

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

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Lista de Exercícios entrega em 25/09/2018 Prof. Cláudio C. Rodrigues Problemas: P1) A Tabela abaixo apresenta o mix de instruções

Leia mais

Estudo sobre a Arquitetura AVR32. Bruno George de Moraes Gustavo Henrique Nihei

Estudo sobre a Arquitetura AVR32. Bruno George de Moraes Gustavo Henrique Nihei Estudo sobre a Arquitetura AVR32 Bruno George de Moraes Gustavo Henrique Nihei Motivação Século XX - advento dos dispositivos portáteis Alto poder computacional Baixo consumo de energia Grande parte dos

Leia mais

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para UM ESTUDO SOBRE O MECANISMO DE PAGINAÇÃO DE MEMÓRIA E OS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS FIFO E LRU Fernando Sales Ferreira, fernandobrabat@hotmail.com William Antônio Faria Da Silva, William_8716@hotmail.com

Leia mais

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano Técnico de Gestão e Programação de Sistemas Informáticos Sistemas Operativos 10º ano Introdução aos Sistemas Embebidos Vivemos num mundo onde o software desempenha um papel crítico Mas a maior parte deste

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

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

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

Leia mais

Simulador de Arquiteturas Pipeline Superescalares

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

Leia mais

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

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

Análise empírica de algoritmos de ordenação

Análise empírica de algoritmos de ordenação Análise empírica de algoritmos de ordenação Mario E. Matiusso Jr. (11028407) Bacharelado em Ciências da Computação Universidade Federal do ABC (UFABC) Santo André, SP Brasil mario3001[a]ig.com.br Resumo:

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

Arquitetura e Organização de computadores

Arquitetura e Organização de computadores Arquitetura e Organização de computadores Aula 1: Organização e evolução de computador, parte 2 Prof. MSc. Pedro Brandão Neto, pedroobn@gmail.com Sistemas de Informação - UNDB Introdução 2 Máquinas Multiníveis

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

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

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

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE Especificação do Projeto Simulador MIPS Superescalar Especulativo CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até quatro alunos 1. Objetivo Exercitar e fixar conhecimentos

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES RCM00014 Haswell wafer ARQUITETURA DE COMPUTADORES Prof. Luciano Bertini Site: http://www.professores.uff.br/lbertini/ Objetivos do Curso Entendimento mais aprofundado do funcionamento

Leia mais

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5 PREFÁCIO 1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO 1 1.1 Bases de Numeração 3 1.1.1 Representação de Números Inteiros em Base b 3 1.1.2 Representação de Números em Base 2 5 1.1.3 Representação de Números Fraccionários

Leia mais

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1) Introdução Arquitetura de Hardware Introdução (Aula 2) Organização Estruturada de Computadores 01- Monitor 02- Placa-Mãe 03- Processador 04- Memória RAM 05- Placas de Rede, Som, Vídeo, Fax... 06- Fonte

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

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

PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018

PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018 PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3 Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018 Disciplina PréRequisito Semestral Quadrimestral PCS3115 Sistemas Digitais I

Leia mais

Circuitos Lógicos. Prof. Odilson Tadeu Valle

Circuitos Lógicos. Prof. Odilson Tadeu Valle Introdução Circuitos Lógicos Prof. Odilson Tadeu Valle Instituto Federal de Santa Catarina IFSC Campus São José odilson@ifsc.edu.br 1/44 Sumário 1 Introdução 2 Analógico Versus Digital 3 Bits, Bytes e

Leia mais

Hardware Reconfigurável

Hardware Reconfigurável Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Hardware Reconfigurável DCA0119 Sistemas Digitais Heitor Medeiros Florencio Tópicos Alternativas de projeto

Leia mais

Projeto e Implementação do Decodificador PBIW em Hardware. Felipe de Oliveira de Araújo Felipe Yonehara

Projeto e Implementação do Decodificador PBIW em Hardware. Felipe de Oliveira de Araújo Felipe Yonehara Projeto e Implementação do Decodificador PBIW em Hardware Felipe de Oliveira de Araújo Felipe Yonehara A técnica de codificação PBIW A técnica PBIW ( Pattern Based Instruction Word) é composta por um algoritmo

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma

Leia mais

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador 1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática

Leia mais

Gerenciamento Automático de Recursos Reconfiguráveis Visando a Redução de Área e do Consumo de Potência em Dispositivos Embarcados

Gerenciamento Automático de Recursos Reconfiguráveis Visando a Redução de Área e do Consumo de Potência em Dispositivos Embarcados UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO MATEUS BECK RUTZIG Gerenciamento Automático de Recursos Reconfiguráveis Visando a Redução de Área

Leia mais

Introdução. (Aula 2) Organização Estruturada de Computadores

Introdução. (Aula 2) Organização Estruturada de Computadores Introdução (Aula 2) Organização Estruturada de Computadores Introdução Arquitetura de Hardware 01- Monitor 02- Placa-Mãe 03- Processador 04- Memória RAM 05- Placas de Rede, Som, Vídeo, Fax... 06- Fonte

Leia mais

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

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

Leia mais

Arquitetura e Organização de 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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 2 Introdução: conceitos, máquinas de níveis. Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva O que é um sistema operacional? um provedor de abstrações

Leia mais

2. A influência do tamanho da palavra

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

Leia mais

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro Arquitetura e Organização de Computadores Processador Registrador Memória Professor Airton Ribeiro Processador A função de um computador é executar tarefas com a finalidade de resolver problemas. Uma tarefa

Leia mais

Introdução à Ciência da Computação Correção da AV1 de Prof. Fred Sauer

Introdução à Ciência da Computação Correção da AV1 de Prof. Fred Sauer Introdução à Ciência da Computação Correção da AV1 de 2018-2 Prof. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1ª questão 1 (0,9 ponto) Assinale a definição CORRETA: ( ) Um ALGORITMO é um script

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Conhecida pelo PROCESSADOR Conhecida pelo Usuário COMPILADOR LINGUAGEM DE ALTO NÍVEL LINGUAGEM ASSEMBLY 2 INSTRUÇÕES EM ASSEMBLY Para programar

Leia mais

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro Arquitetura e Organização de Computadores Processador Registrador Memória Professor Airton Ribeiro airton.ribeiros@gmail.com Processador A função de um computador é executar tarefas com a finalidade de

Leia mais

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto 1 DESEMPENHO SISTEMA COMPUTACIONAIS A melhoria do desempenho de sistemas computacionais pode ser conseguido através de diversas maneiras:

Leia mais

SSC304 Introdução à Programação Para Engenharias

SSC304 Introdução à Programação Para Engenharias Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Estrutura de um Computador GE4 Bio GE4Bio Grupo de Estudos

Leia mais

Memória interna para Projeto de Sistema Computacionais com Capacidade de Detecção de Erro de Escrita e Configuração de Recursos de Redundância

Memória interna para Projeto de Sistema Computacionais com Capacidade de Detecção de Erro de Escrita e Configuração de Recursos de Redundância Memória interna para Projeto de Sistema Computacionais com Capacidade de Detecção de Erro de Escrita e Configuração de Recursos de Redundância Francisco Carlos Silva Junior (bolsista do PIBITI/CNPq), Ivan

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

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

Termos Gerais Paralelismo, Desempenho Palavras-Chave Chip Multiprocessing, Paralelismo em Nível de Thread, Processador Java

Termos Gerais Paralelismo, Desempenho Palavras-Chave Chip Multiprocessing, Paralelismo em Nível de Thread, Processador Java Utilização do Barramento CoreConnect para Implementação de CMP com Processadores Java Rodrigo Bittencourt Motta Universidade Federal do Rio Grande do Sul Instituto de Informática - Av. Bento Gonçalves,

Leia mais

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 Arquitetura de Von Neumann CPU Unidade de controle Unidade de entrada Unidade de saída ULA Von Neumann era um gênio. Falava muitos

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

Sistemas Embarcados (embutidos) Paulo C. Masiero

Sistemas Embarcados (embutidos) Paulo C. Masiero Sistemas Embarcados (embutidos) Paulo C. Masiero Caracterização São usados para controlar sistemas de diferentes tipos: máquinas domésticas, fábricas, carros, jogos etc. O software é embutido no hardware

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

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 055/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

ACOPLAMENTO E VALIDAÇÃO FUNCIONAL DO SISTEMA RECONFIGURÁVEL DIM

ACOPLAMENTO E VALIDAÇÃO FUNCIONAL DO SISTEMA RECONFIGURÁVEL DIM UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA CURSO DE ENGENHARIA DE COMPUTAÇÃO ACOPLAMENTO E VALIDAÇÃO FUNCIONAL DO SISTEMA RECONFIGURÁVEL DIM TRABALHO DE CONCLUSÃO DE CURSO Sandro Pedroso

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Endereçamento O Campo de endereço em uma instrução é pequeno. Para referenciar uma faixa de endereços maior na memória principal, ou em alguns

Leia mais