Subconjunto de instruções de comunicação e sincronização entre processos em uma arquitetura multicore
|
|
- Afonso Peralta Martins
- 8 Há anos
- Visualizações:
Transcrição
1 Subconjunto de instruções de comunicação e sincronização entre processos em uma arquitetura multicore Laysson Oliveira Luz 1, Ivan Saraiva Silva 2 1 Departamento de Computação Universidade Federal do Piauí (UFPI) Caixa Postal Teresina PI Brazil 2 Departamento de Computação Universidade Federal do Piauí (UFPI) Caixa Postal Teresina PI Brazil {layssonluz,ivan}@edu.ufpi.br Abstract. Multicore programming model and multicore programming support becomes an important key on the industry and research centers. Actually, it is expected that with the increase of processing cores in a single chip, the number of process/threads executing concurrently increase proportionally. For many reasons this does not necessarily happen. This paper presents the design and implementation of a multicore architecture that integrates the communication and synchronization instruction set of IPNoSys programming model. The design was implemented in VHDL language and synthesized to FPGA technology. A programming methodology and environment were developed and tuned for programmers. Resumo. Modelo de programação e suporte a programação multicore tornaram-se chave importante na indústria e centros de pesquisa. Atualmente, espera-se que o número de processos/threads executando concorrentemente, aumente proporcionalmente com o aumento do número de núcleos. Por muitas razões isto não necessariamente acontece. Este artigo apresenta o projeto e implementação de uma arquitetura multicore baseada em MIPS que integra instruções de comunicação e sincronização do modelo de programação IPNoSys. O projeto foi implementado em VHDL e sintetizado em FPGA (Field-Programable Gate Array). Uma metodologia e um ambiente de programação foram desenvolvidos e disponibilizados para programadores. 1. Introdução O desenvolvimento de arquiteturas multicore evoluiu mais rápido que modelos de programação para este tipo de arquiteturas, dessa forma os programadores só com dificuldade conseguem explorar ao máximo tais arquiteturas. A partir de então, têm-se focado no desenvolvimento de programas paralelos, isto é, o desenvolvimento de aplicações destinadas a processadores multicore. O que exige compiladores, linguagens de programação e frameworks [McCool 2008] destinados a arquiteturas multicore, ao passo que, estas mesmas devem fornecer suporte a tais linguagens de programação paralela. Em arquiteturas multicore o modelo de memória é determinante quando se trata de programação paralela, pois isso determina se a comunicação inter-processos ocorre
2 por meio de troca de mensagens (memória distribuída) ou se ocorre por meio de variáveis compartilhadas (memória compartilhada)[diaz et al. 2012]. O subconjunto de instruções de comunicação e sincronização apresentado neste artigo foi implementado em um processador multicore que dispõe de uma memória compartilhada, tais instruções se baseiam, portanto, no compartilhamento de variáveis, o subconjunto de instruções basea-se no modelo de programação IPNoSys [de Araujo 2012] e inclui ordens de execução síncronas e assíncronas, sinais de sincronização, além de envio e recepção de dados. 2. Modelo de Programação IPNoSys IPNoSys é um acrônimo para Integrated Processing NoC System. É uma arquitetura de computador não convencional e modelo de programação baseado em características de rede em chip, onde os roteadores, além da função de rotear, podem também executar instruções lógico-aritméticas. Estes roteadores, denominados Routing and Processing Unit (RPU), estão conectados por intermedio de uma topologia em malha-2d e são responsáveis pela execução das aplicações. Além da malha-2d, a arquitetura IPNoSys inclui quatro Memory Access Units (MAU), distribuídas nos cantos da NoC (Network-on-Chip), as quais são responsávieis pelo gerenciamento dos acessos à memória e por injetar as aplicações na rede de RPU s. Uma das MAUs é responsável por entradas e saídas, e portanto é chamada de IOMAU. Figura 1 mostra a Arquitetura IPNoSys [de Araujo 2012]. Figura 1. Arquitetura IPNoSys Na arquitetura IPNoSys as aplicações são compiladas como um conjunto de pacotes. Cada pacote representa um processo de aplicação que deve ser executado. Cada pacote tem um par identificador (Program_ID, Packet_ID) no seu cabeçalho. A (ISA) Instruction Set Architecture de IPNoSys inclui 6 instruções de sincronização e acesso à memória (LOAD,STORE,SEND,EXEC,SYNEXEC e SYNC), as quais são executadas somente por MAU s. Portanto, quando RPU s decodificam estas instruções, elas enviam, através de um pacote de controle, para uma MAU alvo. As operações realizadas por tais instruções são: LOAD/STORE: Carrega ou grava dados da/para a memória de dados do/para o pacote atualmente sendo executado; SEND: Esta instrução é usada para enviar dados gerados pelo pacote atualmente sendo executado para o pacote esperando execução;
3 EXEC: Ordena uma execução assíncrona de um pacote. O pacote deve ser injetado tão logo seja possível, pela MAU recebendo a instrução EXEC; SYNEXEC: Ordena uma execução síncrona de um pacote. A execução do pacote depende do sinal de sincronização que será enviado por um número de pacotes específico, pela instrução SYNEXEC; SYNC: Sinaliza que um pacote alcançou um ponto de sincronização. O evento de sincronização é enviado para a MAU que está esperando eventos de sincronização para injetar um pacote para execução; Com tais instruções é possível desenvolver aplicações onde o programador indica o paralelismo explicitamente. Figura 2 mostra o design de uma aplicação (execução paralela de Run Length Encoding Algorithm - decodificando processo). Figura 2. Representação esquemática de uma aplicação para IPNoSys Seis pacotes compõem esta aplicação, um pacote de inicialização, quatro de execução e um pacote de finalização da aplicação. As instruçãos de comunicação e sincronização controlam o fluxo de execução e a troca de dados. O subconjunto de instruções apresentado nesta seção foi implementado em um microprocessador MIPS usando linguagem VHDL e tal microprocessador foi usado para o projeto de uma arquitetura multicore. Esta implementação será apresentada na próxima seção. 3. Arquitetura Proposta 3.1. MIPNoSys A arquitetura multicore, MIPNoSys, esquematizada na figura 3, inclui cinco núcleos de processamento. Um núcleo de processamento é definido como núcleo mestre e é responsável pelo gerenciamento de tarefas, os demais núcleos, denominados escravos, são responsáveis pela execução de tarefas (threads) enviadas pelo mestre. Os núcleos são conectados entre si e com a memória compartilhada por meio de uma rede de interconexão crossbar, por intermédio da qual dados são enviados quando instruções SEND e RECEIVE são executadas. Na memória local do núcleo mestre é armazenado o programa de inicialização da aplicação. Além da memória local, o mestre possui ainda três ROM s, cada uma contendo
4 um código da rotina de tratamento da trap gerada por uma das instruções de sincronização EXEC, SYNC ou SYNEXEC. MIPNoSys inclui também uma unidade de gerenciamento de trap. Esta unidade recebe os sinais de trap gerados nos núcleos escravos e, apropriadamente, interrompe o núcleo mestre. Além das traps geradas pelas instruções de sincronização, a arquitetura reconhece a trap gerada pela instrução HALT. Tal instrução é usada para indicar que um núcleo escravo terminou suas tarefas e espera uma nova do núcleo mestre. Figura 3. Arquitetura MIPNoSys 3.2. Implementação do Subconjunto de Instruções As instruções do modelo de programação IPNoSys que foram implementadas no microprocessador MIPS foram SEND, EXEC, SYNC e SYNEXEC. Estas instruções IPNoSys foram implementadas como segue: SEND : Foi implementada como um par de instruções, uma instrução SEND nãobloqueante, que coloca um dado em registrador X, e uma instrução RECEIVE bloqueante, que lê o dado armazenado no registrador X; EXEC : Esta instrução é uma ordem de execução assíncrona de uma thread ou processo, ou seja, a thread ou processo deve ser executado tão rapidamente quanto possível; SYNEXEC : Esta instrução é uma ordem de execução síncrona de uma thread ou processo, ou seja, a execução da thread ou processo depende de sinal de sincronização enviados por outras threads ou processos; SYNC : Esta instrução sinaliza que a thread ou processo atual encontraram um ponto de sincronização; Todas as instruções de sincronização geram traps e necessitam do gerenciador de traps para serem executadas. A próxima seção explica o ambiente de programação da arquitetura proposta. 4. Ambiente de programação O ambiente de desenvolvimento de aplicações para uma arquitetura ainda em fase de projeto representa um grande desafio. No caso da arquitetura apresentada neste artigo o desafio apresentou peculiaridades devido aos seguintes aspectos: O microprocessador MIPS foi utilizado como núcleo e este já apresenta características próprias referentes a programação; Foram acrescentadas instruções a este microprocessador, oriundas de uma
5 outra arquitetura com modelo de programação paralelo; As instruções acrescentadas intrinsecamente fazem referência a threads ou processos, requerendo portanto auxílio de um sistema operacional; A arquitetura deve ser validada não só funcionalmente, mas também quanto a sua programabilidade visando o desenvolvimento de aplicações paralelas. Tais peculiaridades conduziram ao desenvolvimento de um ambiente e metodologia de desenvolvimento de aplicações que: Utiliza software pré existente tal como o Cross-Compiler C to MIPS disponível no GCC da GNU; Utiliza software desenvolvido no escopo deste trabalho como o conversor ELF2mif; Considera a existência de múltiplas threads ou processos onde cada um deles pode ser desenvolvido separadamente em um arquivo.c ; Dispensa o uso de um sistema operacional (SO), mas considera a existência de funções de SO representadas na forma de um arquivo.h ; possibilita a configuração da memória compartilhada por intermédio de um script. Como resultado da compilação de cada arquivo C, o Cross-Compiler gera um arquivo ELF (Executable and Linking Format), que pode ser ligado á outro arquivo para executar. Entretanto, neste caso, interessa a simulação da arquitetura em dispositivos reconfiguráveis, que é uma tecnologia que permite o desenvolvimento de protótipos de hardware. Assim faz-se necessário converter os arquivos ELF para arquivos MIF (Memory Initialization File), utilizável nesta tecnologia. Portanto, desenvolveu-se uma ferramenta para transformar este arquivo em um MIF, o qual é suportado pelos softwares de compilação e simulação da Altera, Quartus II e ModelSim. 5. Experimentos e Resultados Afim de avaliar o subconjunto de instruções implementado e explorar ao máximo a capacidade do processador, foram escolhidas duas aplicações: Multiplicação de Matrizes e o algotimo de alinhamento de cadeias genéticas chamado Smith-Walterman [Zhang et al. 2002]. Essas aplicações são distintas no que diz respeito ao paralelismo. Na multiplicação de matrizes o cálculo de cada elemento da matriz resultante é completamente independente do cálculo dos demais elementos. O algoritmo de Smith-Waterman também calcula uma matriz de similaridades, entretanto, o cálculo do elemento H(i,j) depende do cálculo dos elementos H(i-1,j), H(i,j-1) e H(i-1, j-1). Nas figuras 4 e 5, a execução do algoritmo de Smith-Waterman demora quase ciclos, enquanto que a multiplicação de matrizes leva Em Smith- Waterman um núcleo espera por outros processadores para calcular um elemento da matriz de similaridades, o que ocorre de modo sistemático sem um sincronismo baseado em interrupções, como na multiplicação de matrizes, devido a isso, o algoritmo de multiplicação de matrizes demora um pouco mais para disparar a tarefa final, mas ambos demonstram a eficiência do sistema de comunicação e sincronização. 6. Conclusão Este trabalho tem como objetivo apresentar um subconjunto de instruções de comunicação e sincronização inter-processos em uma arquitetura multicore, MIPNoSys, e por meio dos experimentos e resultados obtidos observa-se, além da funcionalidade, a facilita para desenvolver aplicações para MIPNoSys, com a metodologia e o ambiente de programação desenvolvidos.
6 Figura 4. Gráfico da simulação de multiplicação de matrizes Figura 5. Gráfico da simulação de Smith-Walterman Como projeto futuro, fica o compromisso de aumentar a quantidade de escravos da arquitetura MIPNoSys, afim de obter melhor desempenho durante a execução das aplicações e aprimorar a comunicação entre os núcleos. Os experimentos mostram grande ociosidade do núcleo mestre, períodos de tempo nos quais o poder de processamento do núcleo mestre será melhor explorado. Referências de Araujo, S. R. F. (2012). Projeto De Sistemas Integrados De Proposito Geral Baseados Em Redes Em Chip - Expandindo As Funcionalidades Dos Roteadores Para Execucao De Operacoes: A Plataforma Ipnosys. PhD thesis, Universidade Federal do Rio Grande do Norte. Diaz, J., Munoz-Caro, C., and Nino, A. (2012). A survey of parallel programming models and tools in the multi and many-core era. Parallel and Distributed Systems, IEEE Transactions on, 23(8): McCool, M. (2008). Scalable programming models for massively multicore processors. Proceedings of the IEEE, 96(5): Zhang, F., Qiao, X.-Z., and Liu, Z.-Y. (2002). A parallel smith-waterman algorithm based on divide and conquer. In Algorithms and Architectures for Parallel Processing, Proceedings. Fifth International Conference on, pages
ÁREA: CV ( ) CHSA ( ) ECET ( )
ADAPTAÇÃO E INTEGRAÇÃO DO PROCESSADOR RISCO A UMA ARQUITETURA MULTI-CORE PARA SISTEMAS EMBARCADOS DE PROPOSITO GERAL Laysson Oliveira Luz (Bolsista PIBIC/CNPq), Ivan Saraiva Silva (Orientador, Departamento
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisComputador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.
Introdução Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos
Leia maisIntrodução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: O Computador como uma Máquina Multinível (cont.) José Gonçalves - LPRM/DI/UFES Introdução à Engenharia de Computação Máquina Multinível Moderna Figura 1 Máquina
Leia maisSistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS
1 PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS Os projetos com circuitos digitais mais complexos podem se tornar inviáveis devido a vários problemas, tais como: - Elevado número de C.I. (circuitos integrados)
Leia mais8 Threads. 8.1 Introdução
1 8 Threads 8.1 Introdução Uma thread, também chamada de tarefa, pode ser definida como uma parte ou rotina de um processo em execução que compartilha o mesmo espaço de endereçamento, mas tem seu próprio
Leia maisProjetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5
Projetos I Resumo de TCC Luiz Rogério Batista De Pieri Mat: 0413829 5 MAD RSSF: Uma Infra estrutura de Monitoração Integrando Redes de Sensores Ad Hoc e uma Configuração de Cluster Computacional (Denise
Leia maisIntrodução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01
Introdução à Arquitetura de Computadores Renan Manola Introdução ao Computador 2010/01 Introdução Conceitos (1) Computador Digital É uma máquina que pode resolver problemas executando uma série de instruções
Leia maisComputador Digital Circuitos de um computador (Hardware)
Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções
Leia maisAula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW
Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto
Leia maisManual de Instalação da Plataforma Scorpion. 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit
Manual de Instalação da Plataforma Scorpion 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit Para começar a ler este manual, é bom que você conheça os componentes desta conexão. Plataforma
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisSistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software. Prof. MSc.
Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software Prof. MSc. Hugo Souza Continuando nossas aulas relativas ao Módulo 1, veremos a seguir
Leia maisDispositivos Lógicos Programáveis
PARTE 1 - TEORIA Dispositivos Lógicos Programáveis Os dispositivos lógicos programáveis (PLD Programmable Logic Device) são circuitos integrados programáveis, que possuem um grande número de portas lógicas,
Leia maisORGANIZAÇÃO DE COMPUTADORES MÓDULO 1
ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 Índice 1. Introdução...3 1.1. O que é um Computador?... 3 1.2. Máquinas Multiníveis... 3 2 1. INTRODUÇÃO 1.1 O QUE É UM COMPUTADOR? Para estudarmos como um computador
Leia maisGuia de utilização da notação BPMN
1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação
Leia maisCurso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase
Curso Superior de Sistemas de Telecomunicações Unidade São José Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase Bases tecnológicas Dispositivos Lógicos Programáveis. Introdução à Tecnologia
Leia maisTRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.
Leia maisGBD PROF. ANDREZA S. AREÃO
GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação
Leia maisSIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)
SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver
Leia maisConceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio
Conceito de Rede e seus Elementos Prof. Marciano dos Santos Dionizio Conceito de Rede e seus Elementos O conceito de rede segundo Tanenbaum é: um conjunto de módulos processadores capazes de trocar informações
Leia maisNo projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.
No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. Essa estratégia foi deixada para trás. Atualmente, o software de rede é altamente
Leia maisC O B I T Control Objectives for Information and related Technology
C O B I T Control Objectives for Information and related Technology Goiânia, 05 de Janeiro de 2009. Agenda Evolução da TI Desafios da TI para o negócio O que é governança Escopo da governança Modelos de
Leia maisDEFINIÇÃO DE UMA REDE DE SENSORES SEM FIO PARA A ARQUITETURA AGROMOBILE 1
DEFINIÇÃO DE UMA REDE DE SENSORES SEM FIO PARA A ARQUITETURA AGROMOBILE 1 Marcos Sulzbach Morgenstern 2, Roger Victor Alves 3, Vinicius Maran 4. 1 Projeto de Pesquisa Agromobile - Uma Arquitetura de Auxílio
Leia maisAtualizações de Software Guia do Usuário
Atualizações de Software Guia do Usuário Copyright 2009 Hewlett-Packard Development Company, L.P. Windows e Windows Vista são marcas registradas da Microsoft Corporation nos EUA. Aviso sobre o produto
Leia maisTencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software
Leia maisEngenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Leia maisUMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1
UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1 Igor G. Haugg 2, Rafael Z. Frantz 3, Fabricia Roos-Frantz 4, Sandro Sawicki 5. 1 Pesquisa
Leia maisIntrodução. Hardware (Parte I) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação Hardware (Parte I) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br Carga
Leia maisUNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores
UNIP - UNIVERSIDADE PAULISTA Arquitetura de computadores ORGANIZAÇÃO DE COMPUTADORES Bibliografia: MONTEIRO, M. A. Introdução à organização de computadores. 4 ed. RJ. LTC 2001. TANEMBAUM, A. S. Organização
Leia maisMemórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)
Memórias O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Essas informações são guardadas eletricamente em células individuais. Chamamos cada elemento
Leia maisProf. Esp. Lucas Cruz
Prof. Esp. Lucas Cruz O hardware é qualquer tipo de equipamento eletrônico utilizado para processar dados e informações e tem como função principal receber dados de entrada, processar dados de um usuário
Leia maisBanco de Dados Orientado a Objetos
Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),
Leia maisSistemas Distribuídos (DCC/UFRJ)
Sistemas Distribuídos (DCC/UFRJ) Aula 1: 4 de abril de 2016 1 Conceitos básicos sobre sistemas distribuídos 2 Computação distribuída Computação distribuída A computação distribuída envolve o projeto, implementação
Leia maisInformá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 maisANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1
ANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1 Francisco Berti Da Cruz 2, Cleber Cristiano Sartorio 3, Edson Luiz Padoin 4, Emilio Hoffmann 5. 1 Trabalho
Leia maisIntrodução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br
Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes
Leia maisAutoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisDesenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre
Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Fabrício Viero de Araújo, Gilse A. Morgental Falkembach Programa de Pós-graduação em Engenharia de Produção - PPGEP Universidade
Leia maisIntrodução aos Computadores
Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas
Leia maisTurno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº
UNIDADE 1I: SISTEMA COMPITACIONAL Elementos hardware e periféricos Um sistema computacional consiste num conjunto de dispositivos eletrônicos (hardware) capazes de processar informações de acordo com um
Leia maisGABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios
CURSO - TADS TURMA 2008.1 2 PERÍODO 3 MÓDULO AVALIAÇÃO MP2 DATA 02/10/2008 SISTEMAS OPERACIONAIS 2008/2 GABARITO COMENTADO SISTEMAS OPERACIONAIS PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida,
Leia maisEstudo Qualitativo e Quantitativo de Linguagens Paralelas para Arquiteturas Multicore
Estudo Qualitativo e Quantitativo de Linguagens Paralelas para Arquiteturas Multicore Título do capítulo Mst. Raffael B. Schemmer André L. Tibola Junior F. Barros Prof. Mst. Julio C. S. Anjos Prof. Dr.
Leia maisCapítulo 7 Nível da Linguagem Assembly
Capítulo 7 Nível da Linguagem Assembly Presente em quase todos os computadores modernos. Implementado por tradução. Linguagem fonte => Linguagem alvo. O programa no arquivo fonte não é executado diretamente
Leia maisInvenções Implementadas por Computador (IIC) Patentes
Invenções Implementadas por Computador (IIC) Patentes O que é uma IIC? Uma IIC é uma invenção que recorre a um computador, a uma rede de computadores ou a qualquer outro dispositivo programável (por exemplo
Leia mais1. Introdução - contextos de aplicações
Universidade Federal de Pelotas Sumário da Aula Fundamentos de Informática Aula 1 Noções sobre Informática, Hardware, Software e Plataformas Prof. Carlos R. Medeiros gil.medeiros@ufpel.edu.br Material
Leia maisCapítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
Leia maisSistemas Microcontrolados
Sistemas Microcontrolados Uma Abordagem com o Microcontrolador PIC 16F84 Nardênio Almeida Martins Novatec Editora Capítulo 1 Introdução Os microcontroladores estão presentes em quase tudo o que envolve
Leia maisSistemas Operacionais Arquitetura e organização de sistemas operacionais: Introdução. Prof. MSc. Hugo Souza
Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Introdução Prof. MSc. Hugo Souza Começando nossa disciplina sobre os sistemas operacionais modernos iremos abordar inicialmente
Leia maisPrefeitura de Belo Horizonte. Sistema de Controle de Protocolo
Prefeitura de Belo Horizonte Sistema de Controle de Protocolo Relatório apresentado para concorrer ao 2º Prêmio Inovar BH conforme Edital SMARH nº 001/2014 Belo Horizonte Julho de 2014 Resumo Sendo grande
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisGerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger
Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.
Leia maisSDN-WISE: Design, prototyping and experimentation of a stateful SDN solution for WIreless SEnsor networks
SDN-WISE: Design, prototyping and experimentation of a stateful SDN solution for WIreless SEnsor networks Universidade Federal Fluminense - UFF Instituto de Computação - IC Disciplina: Engenharia de Redes
Leia maisperspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010).
1 Introdução Os avanços na tecnologia da informação, bem como o crescimento da sociedade da informação através do uso da Internet, obrigaram os governos de inúmeros países, em seus mais variados níveis,
Leia maisRelatorio do trabalho pratico 2
UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Suporte do Sistema Operacional Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Objetivos
Leia maisOrganização de Computadores 1. Prof. Luiz Gustavo A. Martins
Organização de Computadores 1 1 - INTRODUÇÃO Prof. Luiz Gustavo A. Martins Arquitetura Define os elementos que impactuam diretamente na execução lógica do programa. Corresponde aos atributos visíveis veis
Leia maisConceitos Básicos de Rede. Um manual para empresas com até 75 computadores
Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos
Leia maisImplementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis
Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Tiago dos Santos Patrocinio, Ivan Saraiva Silva Departamento de Computação Universidade Federal do Piauí
Leia maisITIL v3 - Operação de Serviço - Parte 1
ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes
Leia maisUm 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 maisREDES DE COMPUTADORES HISTÓRICO E CONCEITOS
REDES DE COMPUTADORES HISTÓRICO E CONCEITOS BREVE HISTÓRICO A década de 60 Surgiram os primeiros terminais interativos, e os usuários podiam acessar o computador central através de linhas de comunicação.
Leia maisSistemas Operacionais
Sistemas Prof. Ms. Márcio Andrey Teixeira A Caracterização dos Sistemas Funções do S.O Administração de Processos Administração da Memória Principal Administração do Armazenamento Secundário Administração
Leia maisSINOPSE. Leandro Gomes Matos Diretor da RNC
SINOPSE Neste trabalho procurou-se compilar textos de diversos autores de renome, sob uma ótica baseada em experiência profissional em cargos de chefia e como consultor de empresas, durante estes quase
Leia maisIntrodução à Computação: Sistemas de Computação
Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisPermite a coleta de dados em tempo real dos processos de produção, possuindo, também, interfaces para a transferência dos dados para os sistemas
Permite a coleta de dados em tempo real dos processos de produção, possuindo, também, interfaces para a transferência dos dados para os sistemas administrativos da empresa. Nessa configuração, o PC é a
Leia maisProgramação de Computadores. Turma CI-180-B. Josiney de Souza. josineys@inf.ufpr.br
Programação de Computadores Turma CI-180-B Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 2 (06/03/15) Como está organizado um computador Computadores antigos Modelo von-neumann Quais suas partes
Leia maisIntrodução a Computação
O que é um SO? Introdução a Computação Sistemas Operacionais PII Consiste em: Hardware Programas de Sistema Programas de Aplicativos 1 2 O que é um SO? Hardware não proporciona controle de alto nível disponível
Leia maisIntrodução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização
Prof. Ricardo José Pfitscher Material elaborado com base em: José Luiz Mendes Gerson Volney Lagemann Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento
Leia maisImplementadas por Computador
«Título Dia Aberto da Acção» da PI «Nome Ricardo Formador» Pereira «Título Invenções do Módulo» Implementadas por Computador «Função Desempenhada» Examinador de Patentes Universidade de «Local» Évora «dd.mm.aaaa»
Leia maisNORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO
NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.02.01 http://www.unesp.br/ai/pdf/nt-ai.04.02.01.pdf Data: 27/07/2000 STATUS: EM VIGOR A
Leia maisNotas da Aula 6 - Fundamentos de Sistemas Operacionais
1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a
Leia maisUNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC
UNIVERSIDADE FEDERAL DE SANTA CATARINA DANIEL CARLOS CASAROTTO JOSE OTÁVIO CARLOMAGNO FILHO MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC Florianópolis, 2004 DANIEL CARLOS
Leia maisCopyright Proibida Reprodução. Prof. Éder Clementino dos Santos
NOÇÕES DE OHSAS 18001:2007 CONCEITOS ELEMENTARES SISTEMA DE GESTÃO DE SSO OHSAS 18001:2007? FERRAMENTA ELEMENTAR CICLO DE PDCA (OHSAS 18001:2007) 4.6 ANÁLISE CRÍTICA 4.3 PLANEJAMENTO A P C D 4.5 VERIFICAÇÃO
Leia maisIntrodução à Sistemas Operacionais. Glauber Magalhães Pires
Introdução à Sistemas Operacionais Glauber Magalhães Pires Agenda O que são sistemas operacionais? Histórico Primeira geração (1945-1955) Segunda geração (1955-1965) Terceira geração (1965-1980) Quarta
Leia maisWMS e TMS. A integração entre os sistemas de gerenciamento de armazéns e transportes é fundamental para a otimização dos fluxos de trabalho
WMS e TMS A integração entre os sistemas de gerenciamento de armazéns e transportes é fundamental para a otimização dos fluxos de trabalho O que um jogador de futebol e uma bailarina profissional têm em
Leia maisAté o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;
CAPÍTULO VI THREADS 6.1 INTRODUÇÃO Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; O sistema operacional Toth, em 1979, foi o primeiro a implementar
Leia maisTransformação de um Modelo de Empresa em Requisitos de Software
Transformação de um Modelo de Empresa em Requisitos de Software Fábio Levy Siqueira 1 and Paulo Sérgio Muniz Silva 2 1 Programa de Educação Continuada da Poli-USP, São Paulo, Brazil 2 Escola Politécnica
Leia maisTopologia de rede Ligação Ponto-a-Ponto
TIPOS DE REDE Tipos de Redes Locais (LAN - Local Area Network), Redes Metropolitanas (MAN - Metropolitan Area Network) e Redes Remotas (WAN - Wide Area Network). Redes que ocupam um pequeno espaço geográfico
Leia maisSistema de Computação
Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU
Leia maisMINISTÉRIO DO PLANEJAMENTO, ORÇAMENTO E GESTÃO DIRETORIA DE ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE AQUISIÇÕES
MINISTÉRIO DO PLANEJAMENTO, ORÇAMENTO E GESTÃO DIRETORIA DE ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE AQUISIÇÕES BANCO INTERAMERICANO DE DESENVOLVIMENTO REPRESENTAÇÃO NO BRASIL SOLICITAÇÃO DE MANIFESTAÇÃO DE
Leia maisAula 03-04: Modelos de Sistemas Distribuídos
UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)
Leia maisFACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é
Leia maisnatureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues
Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas
Leia maisProf. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior
Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação
Leia maisO mundo em que vivemos contém uma larga variedade de sinais a que somos sensíveis, tais como, o som a temperatura e a luz.
1 --Introdução O mundo em que vivemos contém uma larga variedade de sinais a que somos sensíveis, tais como, o som a temperatura e a luz. O som é detectado pelos ouvidos que o transformam em sinais eléctricos
Leia mais18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB
18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ
Leia mais3. Fase de Planejamento dos Ciclos de Construção do Software
3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de
Leia maisARQUITETURA DE COMPUTADORES
1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula
Leia maisCircuitos de Memória: Tipos e Funcionamento. Fabrício Noveletto
Circuitos de Memória: Tipos e Funcionamento Fabrício Noveletto Memória de semicondutores São dispositivos capazes de armazenar informações digitais. A menor unidade de informação que pode ser armazenada
Leia maisAula 11. 1. Memória principal e 2. Memória de armazenagem em massa.
Aula 11 Memórias Semicondutoras Introdução Em termos gerais, a memória de um computador pode ser dividida em dois tipos: 1. Memória principal e 2. Memória de armazenagem em massa. A memória principal é
Leia maisCONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO
4 CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO CONCEITOS BÁSICOS MS-DOS MICROSOFT DISK OPERATION SYSTEM INSTALAÇÃO E CONFIGURAÇÃO DE UM SISTEMA OPERATIVO LIGAÇÕES À INTERNET O que é um sistema operativo?
Leia maisSistemas Distribuídos Processos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Processos I Prof. MSc. Hugo Souza Até agora vimos a organização como um todo dos SDS, com o mapeamento estrutural e suas devidas características descritas em elementos, regras, conceitos,
Leia maisIntrodução. Software (Parte I)
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Introdução à Computação Software (Parte I) Prof. a Joseana Macêdo Fechine Régis
Leia mais2. Conceitos e Arquitetura de Bancos de Dados
Bancos de Dados 2. Conceitos e Arquitetura de Bancos de Dados 1 Arquitetura Moderna de SGBD SGBD antigos eram monolíticos e rígidos, voltados para funcionamento em ambientes centralizados (mainframes e
Leia maisSistemas supervisórios
Sistemas supervisórios O software supervisório utiliza a representação de objetos estáticos e animados para representar todo o processo de uma planta, assim como uma interface IHM. Ela opera em dois modos:
Leia maisDesmistificando o Programa de Computador
Desmistificando o Programa de Computador Hoje vou explicar, da maneira mais simples possível, como funciona um programa de computador. Na sua essência um programa de computador nada mais é que uma coletânea
Leia maisO Uso da Inteligência Competitiva e Seus Sete Subprocessos nas Empresas Familiares
O Uso da Inteligência Competitiva e Seus Sete Subprocessos nas Empresas Familiares O uso da Inteligência Competitiva como processo para monitorar tecnologias, legislação, ambiente regulatório, concorrência,
Leia maisMINISTÉRIO DA EDUCAÇÃO
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA CAMPUS SÃO JOSÉ REDES DE COMPUTADORES Laboratório 2 Wireshark
Leia mais