MODELAGEM FUNCIONAL EM MATLAB DE UM PROCESSADOR RISC- 16 BITS EM UM SISTEMA EM CHIP PARA APLICAÇÕES SEM FIO
|
|
- Talita Castro Rodrigues
- 8 Há anos
- Visualizações:
Transcrição
1 MODELAGEM FUNCIONAL EM MATLAB DE UM PROCESSADOR RISC- 16 BITS EM UM SISTEMA EM CHIP PARA APLICAÇÕES SEM FIO M. D. B. Melo, R. P. Jacobi, J. C. Costa Universidade de Brasília-Brasil RESUMO Este artigo trata do modelamento funcional de um processador RISC de 16 bits para aplicações sem fio em MATLAB. O processador é modelado em nível comportamental, utilizando-se blocos funcionais em MATLAB. As funções foram desenvolvidas em linguagem de MATLAB e uma hierarquia de chamada foi construída no sentido de simular o comportamento do processador. O principal objetivo deste trabalho foi o de estudar a utilização de MATLAB como ferramenta para modelamento e simulação de sistemas digitais. Os resultados indicam que sistemas baseados em microprocessadores podem ser descritos com relativa simplicidade em MATLAB, permitindo assim o projeto de sistemas mistos digitais e analógicos utilizando-se um único ambiente de trabalho. SUMMARY This paper presents the functional modeling of a 16 bit RISC processor for wireless computing in MATLAB. The processor is described in a behavioral level, using MATLAB functional blocks. The functions were developed in MATLAB language and a hierarchy of function calls was built in order to simulate the processor s behavior. The main goal of this work was to study the use of MATLAB as a tool to model and simulate digital systems. The results indicate that microprocessor based systems may be modelled straightforwardly in MATLAB, which can be used as a framework to modeling, simulation and design of mixed analog and digital systems.
2 MODELAGEM FUNCIONAL EM MATLAB DE UM PROCESSADOR RISC-16 BITS EM UM SISTEMA EM CHIP PARA APLICAÇÕES SEM FIO M. D. B. Melo, R. P. Jacobi, J. C. Costa Universidade de Brasília-Brasil RESUMO Este artigo trata da modelagem funcional de um processador RISC 16 bits para aplicação sem fio em MATLAB. O processador é modelado por blocos funcionais em MATLAB. O principal objetivo deste trabalho foi o de conseguir, de maneira simples e rápida, uma ferramenta que auxilia o desenvolvimento do projeto, permitindo uma descrição funcional do processador, bem como emular o processador para o teste de códigos de programação. Funções foram desenvolvidas em linguagem de MATLAB e uma hierarquia de chamada foi construída no sentido de simular o comportamento do processador. Este trabalho demonstra de forma clara a utilidade do MATLAB para simulações funcionais de processadores. 1. INTRODUÇÃO O MATLAB é uma ferramenta bastante prática para diversas aplicações onde simulações físicas e matemáticas são necessárias. O tempo de aprendizagem é uma figura de mérito importante para escolha desta ferramenta [1]. Em descrições comportamentais em níveis funcionais esta ferramenta se mostra bastante poderosa. A escolha do MATLAB deve-se a flexibilidade vetorial que este software possui, permitindo a compilação de qualquer código através de cargas em vetores [1]. Vetores permitem diversas simplificações em programas com caráter funcional. O processador estudado neste trabalho é parte integrante de um sistema de controle de irrigação, capaz de melhorar a gestão no uso da água e aumentar a produtividade num campo com um sistema de irrigação inteligente. Através de comunicação sem fio, dados sobre a umidade do solo são medidos e transmitidos por nós coletores a estações de campo e, posteriormente, a uma estação base. Cada nó é composto de coletor solar, bateria, antena, atuador eletromecânico, sensor de umidade e um SoC (microprocessador, transceptor de RF, interface e conversor A/D) [2]. Nas seções seguintes deste texto, serão descritos a arquitetura do processador, a implementação em linguagem de MATLAB e os resultados das simulações. 2.O PROCESSADOR O processador possui dezesseis registradores que são encarados no ambiente de trabalho do MATLAB como variáveis. Cada registrador tem um propósito específico e este pode ser visualizado na tabela 1. Na tabela 2 mostra-se as dezesseis instruções usadas para esta arquitetura. São instruções comuns mantendo a filosofia de que a simplicidade é favorecida pela regularidade[3]. O esquemático em diagrama de bloco deste processador está mostrado na Figura 1 [3]. Tabela 1: registradores [3],[4] Símbolo Função Obs $zero Constante 0 Constante 0 de 16bits $t0,$t1,$t2 Temporários Registradores. Auxiliares $a0, $a1 Argumentos para operações Argumento $a2 aritméticas e procedimentos $s0, $s1 Armazena valores durante Salvos $s2, $s3 chamadas de procedimento $int Interrupção Contém status das interrupções e ender. da instrução com erro $gp Apontador Aponta para as variáveis globais Global no interior da pilha $sp Apontador Pilha Aponta para o topo da pilha $pc Contador de Programa Aponta para a próxima instrução $ra Endereço de Aponta para o endereço de Retorno retorno de uma subrotina
3 Figura 1: Caminho de dados e linhas de controle [3] Tabela 2:conjunto de instruções do processador [3],[4] Instr Exemplo Significado Add Add Adiciona $s2 a $s3 e armazena o $s1,$s2,$s3 resultado em $s1 Sub Sub Subtrai $s3 a $s2 e armazena o $s1,$s2,$s3 resultado em $s1 Addi Addi Adiciona $s1 a constante e $s1,100 armazena o resultado em $s1 Shift Sft $s1,8 Desloca $s1 da constante e armazena o resultado em $s1. Se o valor da constante for negativo, desloca à esquerda. And And AND booleano bit a bit entre $s2 e $s1,$s2,$s3 $s3 e armazena resultado em $s1 Or Or Or booleano bit a bit entre $s2 e $s1,$s2,$s3 $s3 e armazena resultado em $s1 Not Not $s1 NOT booleano bit a bit de $s1 e armazena resultado em $s1 Xor Xor XOR booleano bit a bit de $s2 e $s1,$s2,$s3 $s3 e armazena resultado em $s1 Slt Slt Torna $s1 = 1 se $s2 < $s3 senão $s1,$s2,$s3 $s1 = 0 Lw Carrega palavra armazenada no Lw endereço $s2 deslocado de $s3 e $s1,$s2,$s3 salva o resultado em $s1 Sw Lui Beq Sw $s1,$s2,$s3 Lui $s1,100 Beq $s1,$s2,5 Carrega palavra armazenada em $s1 e salva o resultado no endereço $s2 deslocado de $s3 Carrega a constante nos oito bits mais significativos de $s1 Se $s1 = $s2 desvia programa para $pc + CONST Instr Exemplo Significado Blt J Blt $s1,$s2,5 J $s1,100 Se $s1 < $s2 desvia programa para $pc + CONST Desvia para o endereço $s1 deslocado da constante Desvia para end. $s1 deslocado da Jal Jal $s1,100 constante salvando origem em $ra As instruções, nesta arquitetura, tendem a trabalhar com fluxo de dado registrador-registrador com intuito de melhorar a performance do hardware. Cada uma dessas instruções foi implementada através de uma função (arquivo *.M em MATLAB) e sua chamada causa a sua execução. Basicamente, o processo de fluxo de dado em um processador simples como esse resulta no conhecido ciclo de busca e execução de seu conjunto de instruções. O que foi implementado nesta simulação foi o comportamento do processador RISC-16 bits [3] mostrado na Figura 1. Existem simuladores para processadores com algumas facilidades evidentes [5] e [6] pois os blocos funcionais podem ser modelados diretamente. A escolha do MATLAB é o passo inicial para a simulação completa do sistema em chip, desde suas seções digitais até os sensores de pressão, seção de RF, interface A/D, Interface serial, etc.. No momento, uma seção de RF, de caráter analógico, é simulada através de um registrador de 128 bits na forma de vetor. 4. O MODELO EM MATLAB O diagrama de bloco da Figura 2 foi a metodologia de projeto usada neste trabalho para o desenvolvimento do processador em modo funcional no MATLAB.
4 Compreensão do fluxo de dados do processador Desenvolvimento de funçoes para as intruções Definição de hierarquia para chamada das funções Transformação das variáveis em vetores de 16 bits Construção de subprogramas para as ações do processador Teste das funções e subprogramas Erro Funções Ok Teste de programas práticos Falhas detectadas Erro em alguma execução? Ok Disponibilização do simulador para a equipe de projeto do SoC Figura 2. Metodologia de projeto para um modelo funcional em MATLAB.
5 Memória Comportamento Unidade de RF Banco_reg Busca_e_deco Executa_inst Reg_atual Inter_user Add Addi or and shift not xor slt Conjunto de instruções do RISC lw sw lui beq blt j jal sub SoC Memória RISC-16 Bits Unidade RF Interface A/D Interface Serial Figura 3:Hierarquia das funções em MATLAB para este trabalho.
6 A metodologia mostrada na Figura 2 leva ao diagrama de bloco que pode ser visto na Figura 3. Dada a descrição comportamental do processador cria-se um diretório onde todos blocos funcionais são dispostos. Existe um programa chamado COMPORTAMENTO de onde todos os outros blocos funcionais são chamados. Neste processador não existe instrução de parada e como conseqüência temos que usar uma instrução de desvio para parar a execução de um código. Isto foi usado em algumas simulações. O problema de modelar um processador no MATLAB é entender como se translada do caminho de dados, na Figura 1, para uma descrição funcional da Figura 3. Na descrição funcional desenvolvida neste trabalho o papel do controlador é exercido pela função COMPORTAMENTO. Cada programador teria um modo relativamente diferente para desenvolver a função COMPORTAMENTO, logo, diversas soluções podem ser propostas para diferentes processadores. As funções chamadas por COMPORTAMENTO são: banco_reg: inicia os registradores devidamente zerados; busca_e_deco: busca as instruções na memória e as decodificam; executa_inst: executa a instrução atual; reg_atual: atualiza os registradores e os demais flags; inter_user: interface com o usuário. Essas funções, por sua vez, chamam funções num nível hierárquico abaixo que são as instruções do processador. As funções que representam as instruções tratam das variáveis do processador e assim por diante. De modo que pode-se chegar a uma representação do SoC inteiro através da integração de seus blocos e seus níveis hierárquicos. Na Figura 4 mostra-se a decodificação das instruções na memória feita pela função BUSCA_E_DECO.M. Os dados são tratados ora como decimais e ora como cadeias binárias. Pode-se notar que a variável op (op-code) existe tanto na versão binária (op) como na versão decimal (op_dec). vet=' '; aux=dec2bin(mem(pc+1)); N=max(size(aux)); for j=(16-n+1):16, vet(j)=aux(j-16+n); end op=[vet(1) vet(2) vet(3) vet(4)]; regs=[vet(5) vet(6) vet(7) vet(8)]; regs2=[vet(9) vet(10) vet(11) vet(12)]; regd=[vet(13) vet(14) vet(15) vet(16)]; consti=regd; constj=[regs2 regd]; op_dec=bin2dec(op); regs_dec=bin2dec(regs); regs2_dec=bin2dec(regs2); consti_dec=bin2dec(regd); regd_dec=consti_dec; constj_dec=bin2dec(constj); Figura 4: Função para buscar e decodificar os dados a memória A função que executa as instruções (EXECUTA_INST.M) é um case que chama instruções armazenadas no registrador do código de operação (op). Na Figura 5 mostra-se a interessante instrução lui. Essa instrução, para um caso de lui $s1,100, carrega a constante nos oito bits mais significativos de $s1. aux_lui_1=' ' aux_lui_2=dec2bin(banco(regs_dec+1)); N_lui=max(size(aux_lui_2)); for j=(16-n_lui+1):16, aux_lui_1(j)=aux_lui_2(j-16+n_lui); end aux_lui_1=[constj aux_lui_1(9) aux_lui_1(10) aux_lui_1(11)aux_lui_1(12)aux_lui_1(13) aux_lui_1(14) aux_lui_1(15) aux_lui_1(16)]; banco(regs_dec+1)=bin2dec(aux_lui_ 1); banco(15)=banco(15)+1; pc=banco(15); Figura 5: Função para instrução lui. Na Figura 6 temos o simples código para a instrução de desvio condicional beq. Veja que o contador de programa (pc) é incrementado de uma constante no caso em que os dois regis tradores são idênticos, caso contrário, o processador executa a instrução seguinte.
7 if banco(regs_dec) == banco(regs2_dec) banco (15)= banco(15)+consti_dec; pc=banco(15); else banco(15)=banco(15)+1; pc=banco(15); end Figura 6: Função para instrução beq. O importante da representação funcional em MATLAB de um processador interfaceado com uma seção digital de RF é que pode-se simular e detectar diversos aspectos de fluxo de dados, bem como, em um estágio mais avançado do projeto, problemas de compatibilidade entre os blocos no SoC. 5 RESULTADOS DE SIMULAÇÃO As Figuras 7 e 8 mostram o resultado das simulações para duas instruções: addi (soma imediata) e lui (carrega uma constante nos 8 bits mais significativos de um registrador). Inicialmente, na Figura 7, o conteúdo inicial da memória é o decimal que equivale a 8146 em hexadecimal. Isso significa carregar a constante 46 em hexadecimal (ou 70 em decimal) no registrador t0. Esse resultado é obtido. Na Figura 07, a instrução a ser executada é o código em decimal que equivale ao hexadecimal B82F. Isso significa que o objetivo é carregar a constante 2F nos 8 bits mais significativos do registrador s1, que tem como conteúdo anterior o valor zero. Ao final da execução dessa instrução o valor de s1 será 2F00 ou em decimal. Como se pode ver todos os resultados obtidos estão corretos. 6. CONCLUSÕES Foi implementado um simulador para um processador RISC-16 bits em MATLAB num modo funcional. O maior interesse desta experiência foi de estudar a possibilidade de modelar módulos digitais neste ambiente, usualmente utilizado para descrição de sistemas analógicos. A implementação em MATLAB se mostrou extremamente simples, mostrando a viabilidade de modelar sistemas mistos digitais e analógicos usando apenas MATLAB. Esse processador faz parte de um SoC que será usado para um sistema irrigação. Todas as instruções foram devidamente testadas com sucesso. Esse trabalho é o primeiro passo para a simulação do SoC inteiro, incluindo os conversores AD/DA e o módulo de comunicação em RF em MATLAB/SIMULINK. 7. AGRADECIMENTOS Ao CNPq e à CAPES pelo apoio financeiro. 8. REFERÊNCIAS [1] Malay Haldar, Anshuman Nayak, NagrajShenoy, Alok Choudhary, and Prith Banerjee, FPGA Hardware Synthesis from MATLAB, MACH Design Systems, Inc. Schaumberg, IL. USA, pp , 2000 [2] J. D. Costa, M D. B. Melo, W. H. Veneziano, R. P. Jacobi, A. F. Roch, J. C. Costa, Módulo I.P. de um Processador para Aplicações Embarcadas sem fio, IX Workshop IBERCHIP, Havana, Cuba, [3] G. M. Benício, Projeto de Microprocessador RISC 16-Bit para Sistema de Comunicação sem Fio em Chip, (dissertação de mestrado em engenharia elétrica), Universidade de Brasília, Brasília, [4] R. R. Linder, Linguagem de Máquina para um processador num sistema em chip (SoC), (dissertação de mestrado em engenharia elétrica), Universidade de Brasília, Brasília, A.B. Smith, C.D. Jones, and E.F. Roberts, Article Title, Journal, Publisher, Location, pp. 1-10, Date. [5] Suovik Basu, Rajat Moona, High Level Synthesis from Sim-nML Processor Models, 16 th International Conference on VLSI Desing, IEEE Computer Society, [6] Sandro Neves Soares, Flávio Rech Wagner, T&D-Bench+- A software Environment for Modeling and Simulation of Stateof-the-Art Processors, Euromicro Symposium on Digital System Desing, IEEE Computer Society, 2003.
8 Figura 7. Execução da instrução addi $t0, 46.
9 Figura 8. Execução da instrução lui $s1,2f.
MÓDULO I.P. DE UM PROCESSADOR PARA APLICAÇÕES EMBARCADAS SEM FIO
MÓDULO IP DE UM PROCESSADOR PARA APLICAÇÕES EMBARCADAS SEM FIO J D Costa +, M D B Melo +, W H Veneziano*, R P Jacobi +, A F Rocha, J C Costa + + Universidade de Brasília-Brasil, *CEFET-PR janaina_costa@igcombr,
Leia maisProcessadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:
Processadores BIP A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo
Leia maisULA Sinais de Controle enviados pela UC
Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Leia maisMODOS DE ENDEREÇAMENTO
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO
Leia mais2 Formalidades referentes ao trabalho
Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores 1 o Semestre de 2006 MICO-v12.r0 07/03/2006 Profs. Luis Allan Künzle e Armando Luiz Nicolini Delgado Atenção: Este
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Leia maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisOrganização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores
Leia maisOrganização de Computadores 1
Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).
Leia maisPROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 2 - O NÍVEL DA MICROARQUITETURA 1. INTRODUÇÃO Este é o nível cuja função é implementar a camada ISA (Instruction Set Architeture). O seu projeto depende da arquitetura do conjunto das instruções
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações
Leia mais3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:
Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de
Leia maisFigura 1 - O computador
Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...
Leia maisULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação
Leia maisO processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.
O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);
Leia maisPCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação
PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação Aula 02 Anarosa Alves Franco Brandão (PCS 2302) Jaime Simão Sichman (PCS 2302) (PCS 2024) Ricardo Luís de Azevedo da Rocha (PCS 2024) Monitores:
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados
Leia mais28/9/2010. Unidade de Controle Funcionamento e Implementação
Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do
Leia maisCALCULADORA SIMPLES COM ULA
CALCULADORA SIMPLES COM ULA Versão 2012 RESUMO 1 Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas para o desenvolvimento de circuitos que executam
Leia maisAMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
Leia maisArquitetura de Computadores - Revisão -
Arquitetura de Computadores - Revisão - Principais funções de um Sistema Operacional Componentes básicos da Arquitetura Barramentos Registradores da CPU Ciclo de Instruções Interrupções Técnicas de E/S
Leia maisCapítulo 3 Processadores de Propósito Geral: Software
Capítulo 3 Processadores de Propósito Geral: Software Prof. Romis Attux EA075 2015 Obs: Os slides são parcialmente baseados nos dos autores do livro texto Processadores de Propósito Geral Um processador
Leia mais3 Sistemas de Numeração:
3 Sistemas de Numeração: Os computadores eletrônicos têm como base para seu funcionamento a utilização de eletricidade. Diferente de outras máquinas que a presença ou ausência de eletricidade apenas significam
Leia maisArchC. Wesley Nunes Gonçalves
Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores
Leia maisArquitetura de Computadores. Linguagem de Máquina
Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisQuadro de consulta (solicitação do mestre)
Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta
Leia mais3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Leia maisA Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.
A ARQUITETURA DE UM COMPUTADOR A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957),
Leia maisOrganização de Computadores Hardware
Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta
Leia maisUnidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano
Arquitetura e Organização de Computadores 1 Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Objetivo: Apresentar as funções o mecanismo de atuação da
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 5 Estrutura de Sistemas de Computação Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisAula 14: Instruções e Seus Tipos
Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos
Leia maisComponentes do Computador e. aula 3. Profa. Débora Matos
Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e
Leia maisArquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios
Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios 1) Explore conversões de números a partir de números binárias com sinal e sem sinal para decimal:
Leia maisCONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO
CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO O seguinte artigo apresenta uma UCP hipotética construída no software simulador DEMOWARE Digital Works 3.04.39. A UCP (Unidade Central de Processamento)
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos
Leia maisArquitetura de Computadores - Princípio de Funcionamento da CPU. Por Helcio Wagner da Silva
Arquitetura Computadores - Princípio Funcionamento da CPU Por Helcio Wagner da Silva Arquitetura Von Neumann Memória Principal CPU ULA UC Dispositivo E/S ULA : Unida Lógica Aritmética UC : Unida Controle
Leia maisPRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira kilmer_pereira@yahoo.com.br
PRONATEC FUNDAMENTOS DE HARDWARE Prof. Kilmer Pereira kilmer_pereira@yahoo.com.br Processamento de Dados Etapas do Processamento de Dados Dado: inserido no computador Processamento: organização, transformação
Leia maisCircuitos Digitais Cap. 5
Circuitos Digitais Cap. 5 Prof. José Maria P. de Menezes Jr. Objetivos Aritmética Digital Adição Binária Subtração Binária Representação de números com sinal Complemento de 2 Negação Subtração como soma
Leia maisSistemas Computacionais II Professor Frederico Sauer
Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não
Leia 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 maisARQUITETURA DE COMPUTADORES
01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100
Leia maisInformática I. Aula 4. http://www.ic.uff.br/~bianca/informatica1/ Aula 4-11/09/2006 1
Informática I Aula 4 http://www.ic.uff.br/~bianca/informatica1/ Aula 4-11/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisEstrutura de um Computador
SEL-0415 Introdução à Organização de Computadores Estrutura de um Computador Aula 7 Prof. Dr. Marcelo Andrade da Costa Vieira MODELO DE VON NEUMANN PRINCÍPIOS A arquitetura de um computador consiste de
Leia maisLinguagem de Montagem Funcionamento de CPU e Assembly Rudimentar
Componentes de um Computador (5) Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/01 - INF02597 Com slides de Roberta Lima Gomes
Leia maisCircuitos Combinacionais. Sistemas digitais
Circuitos Combinacionais Sistemas digitais Agenda } Codificador X Decodificador } Código BCD 8421, código BCH, código 9876543210 } Display de 7 segmentos } Multiplexador X Demultiplexador } Comparadores
Leia maisINTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO
Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele
Leia maisIndustrial SOLUÇÕES EM AUTOMAÇÃO
Industrial SOLUÇÕES EM AUTOMAÇÃO Soluções em Automação INDUSTRIAL TRAINING. STEP 5 Standard ( Básico). Duração: 40 horas. Público Alvo. Este curso se destina a profissionais das áreas de planejamento,
Leia maisCAPÍTULO 6 ARITMÉTICA DIGITAL
CAPÍTULO 6 ARITMÉTICA DIGITAL Introdução Números decimais Números binários positivos Adição Binária Números negativos Extensão do bit de sinal Adição e Subtração Overflow Aritmético Circuitos Aritméticos
Leia maisProf. Rafael Gross. rafael.gross@fatec.sp.gov.br
Prof. Rafael Gross rafael.gross@fatec.sp.gov.br Todo protocolo define um tipo de endereçamento para identificar o computador e a rede. O IP tem um endereço de 32 bits, este endereço traz o ID (identificador)
Leia maisUnidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01
Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal
Leia maisSimulador do Processador Neander T&D-Bench Simulator Manual do Usuário. por Júlio César Maccali. revisado por Prof. Christian Zambenedetti
UNIVERSIDADE DE CAXIAS DO SUL CAMPUS UNIVERSITÁRIO DA REGIÃO DOS VINHEDOS CENTRO DE CIÊNCIAS EXATAS, DA NATUREZA E DE TECNOLOGIA CURSO DE TECNOLOGIA EM PROCESSAMENTO DE DADOS Simulador do Processador Neander
Leia maisCAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
Leia maisIntrodução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1
Introdução à Organização e Arquitetura de Computadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Evolução dos Computadores; Considerações da Arquitetura de von Neumann; Execução de uma instrução
Leia maisO Processador: Caminho de Dados e Controle
22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos
Leia maisProgramação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1
Conteúdo Página Operações Lógicas Binárias: AND, OR...2 Operações Lógicas Binárias: OR Exclusivo (XOR)...3 Contatos Normalmente Abertos e Normalmente Fechados. Sensores e Símbolos... 4 Exercício...5 Resultado
Leia maisEntradas e Saídas Analógicas
Entradas e Saídas Analógicas O PS4-21-MM1 possui 2 entradas e 1 saída analógica. A tensão aplicada às entradas pode variar de a 1 volts, e a tensão obtida na saída pode variar de a 1 volts. A resolução
Leia mais3. Arquitetura Básica do Computador
3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,
Leia maisSistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2
INFORMÁTICA Sistemas de Numeração Professor: Rogério R. de Vargas 2014/2 Sistemas de Numeração São sistemas de notação usados para representar quantidades abstratas denominadas números. Um sistema numérico
Leia maisMáquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.
Máquina Multinível Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Uma instrução pode ser definida como um comando para o processador.
Leia maisPROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto
Leia maisORGANIZAÇÃO DE COMPUTADORES MÓDULO 13
ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13 Índice 1. Circuitos Digitais - Continuação...3 1.1. Por que Binário?... 3 1.2. Conversão entre Bases... 3 2 1. CIRCUITOS DIGITAIS - CONTINUAÇÃO 1.1. POR QUE BINÁRIO?
Leia mais4 Estrutura do Sistema Operacional. 4.1 - Kernel
1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,
Leia maisMaterial apresentado exclusivamente aos alunos da disciplina, com conteúdo referenciado da literatura e disponível na www NÃO CIRCULAR
Coletor automático de dados (datalogger) e sensores elétricos Disciplina ACA 221 Instrumentos Meteorológicos e Métodos de Observação Humberto Ribeiro da Rocha, Helber Freitas, Eduardo Gomes apoio à Aula
Leia maisCaminho dos Dados e Atrasos
Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém
Leia maisSistemas de Numerações.
Matemática Profº: Carlos Roberto da Silva; Lourival Pereira Martins. Sistema de numeração: Binário, Octal, Decimal, Hexadecimal; Sistema de numeração: Conversões; Sistemas de Numerações. Nosso sistema
Leia maisArquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados
Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing
Leia maisAperfeiçoamento Técnico com respeito ao Profissional.
Política de Treinamento DME Aperfeiçoamento Técnico com respeito ao Profissional. A DME é uma empresa voltada para o atendimento das necessidades em conclusão e consumo de Energia Elétrica, consagrou-se
Leia maisPROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS
1 PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS INTRODUÇÃO O processamento interno do CLP é digital e pode-se, assim, aplicar os conceitos de lógica digital para compreen8 der as técnicas e as linguagens
Leia mais1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos
1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisSistemas de Numeração
Sistemas de Numeração Um numeral é um símbolo ou grupo de símbolos que representa um número em um determinado instante da evolução do homem. Tem-se que, numa determinada escrita ou época, os numerais diferenciaram-se
Leia maisBARRAMENTO DO SISTEMA
BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade
Leia maisAula 8 Circuitos Integrados
INTRODUÇÃO À ENGENHRI DE COMPUTÇÃO PONTIFÍCI UNIVERSIDDE CTÓLIC DO RIO GRNDE DO SUL FCULDDE DE ENGENHRI ula Circuitos Integrados Introdução Portas Lógicas em Circuitos Integrados Implementação de Funções
Leia maisEdeyson Andrade Gomes
Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador
Leia maisGUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO
GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO Agosto/2004 V2 INTRODUÇÃO Este guia foi preparado para auxilio às aulas de laboratório para o curso de Engenharia
Leia maisALP Algoritmos e Programação. . Linguagens para Computadores
ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos
Leia maisControladores Lógicos Programáveis CLP (parte-3)
Controladores Lógicos Programáveis CLP (parte-3) Mapeamento de memória Na CPU (Unidade Central de Processamento) de um CLP, todas a informações do processo são armazenadas na memória. Essas informações
Leia maisRepresentação de Dados
Representação de Dados Introdução Todos sabemos que existem diferentes tipos de números: fraccionários, inteiros positivos e negativos, etc. Torna-se necessária a representação destes dados em sistema
Leia maisPipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.
O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução
Leia maisArquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva
Arquitetura de Computadores - Arquitetura RISC por Helcio Wagner da Silva Introdução RISC = Reduced Instruction Set Computer Elementos básicos: Grande número de registradores de propósito geral ou uso
Leia maisAritmética Binária e. Bernardo Nunes Gonçalves
Aritmética Binária e Complemento a Base Bernardo Nunes Gonçalves Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Sinal e magnitude Complemento a base. Adição binária
Leia maisIntrodução à Arquitetura de Computadores
1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de
Leia maisOrganização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)
Leia maisOrganização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária
Organização de Computadores Capítulo 4 Cálculos Binários e Conversão entre Bases Aritmética Binária Material de apoio 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 7: 29 de abril de 2010 1 2 Subrotinas Um procedimento ou função é uma subrotina armazenada que executa uma tarefa específica baseada nos parâmetros de entrada
Leia maisApplication Note FBEE Comunicação Serial Wireless REV01. - 1 - Rev01
Application Note FBEE Comunicação Serial Wireless REV01-1 - Rev01 1. INTRODUÇÃO Aplicações com redes sem fio vêm se tornando bastante comuns. De aplicações industriais a projetos específicos, criou-se
Leia maisCAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA
8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3
Leia maisImplementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I
UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO Rafael Vargas Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I
Leia maisO cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.
Editor de Ladder para VS7 Versão Teste O editor de ladder é um software de programação que permite que o VS7 e o µsmart sejam programados em linguagem de contatos. Esse editor está contido na pasta Público
Leia maisArquitetura de Computadores
Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,
Leia maisTutorial de Matlab Francesco Franco
Tutorial de Matlab Francesco Franco Matlab é um pacote de software que facilita a inserção de matrizes e vetores, além de facilitar a manipulação deles. A interface segue uma linguagem que é projetada
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 maisUsando o simulador MIPS
Usando o simulador MIPS O objetivo desta aula prática será a utilização do simulador MipsIt para executar programas escritos em linguagem de máquina do MIPS. 1 Criando um projeto Cada programa a ser executado
Leia maisArquitetura de Von Neumann. Computador ISA
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA DEPARTAMENTO DE ELETRÔNICA E COMPUTAÇÃO Arquitetura de Von Neumann Computador ISA Professor: André Luís Kirsten, Me. Eng. Revisão Um computador
Leia maisIntrodução à Arquitetura de Computadores IFES Campus Serra
Os computadores atuais possuem seis ou mais níveis de máquinas conforme podemos observar no quadro abaixo Nível de linguagem orientada para problemas Nível de linguagem de montagem Nível de sistema operacional
Leia mais