9. Software de Sistema - Montadores (capítulo 9 do livro texto)
|
|
- Lucinda Guterres Minho
- 6 Há anos
- Visualizações:
Transcrição
1 9. Software de Sistema - Montadores (capítulo 9 do livro texto) Compiladores Programas de Aplicação Depuradores Usuário Processador de Macro Montador Programas Utilitários Ligadores Carregadores Sistema Operacional (Gerenciador de Processador, Memória, E/S, etc) Software Aplicativo Software de Sistema Microprogramas Circuitos Físicos Hardware DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 459
2 Software de Sistema cont. Software de Sistema é um conjunto de programas que define a maneira como os diversos elementos do hardware devem operar de modo a resolver os problemas dos usuários de forma simples e eficiente. SISTEMA COMPUTACIONAL = HARDWARE + SOFTWARE DE SISTEMA DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 460
3 Software de Sistema cont. Sem um software de sistema os usuários seriam responsáveis pelo controle direto de todas as operações executadas pelos elementos de hardware. os programas seriam escritos em linguagem de máquina; o programador seria responsável pelo carregamento, na memória, do programa a ser executado; não seria fácil utilizar os mecanismos de entrada e saída, exigindo-se conhecimento das peculiaridades de cada periférico e fazendo com que o esforço de programação fosse desviado do problema a ser resolvido; o programador seria responsável pelo gerenciamento do uso da memória para garantir a completa execução de um programa; em caso de sistemas com múltiplos usuários, o gerenciamento dos recursos existentes e a sincronização entre os diversos programas seriam extremamente complexos; etc. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 461
4 9.1 Montadores (Assemblers) Um Montador é um programa cujos dados de entrada são sequências de caracteres que constituem o programa em Linguagem Simbólica, de Montagem ou "Assembly", e cujo resultado é um conjunto de palavras de máquina (sequências de bits) que constituem o programa em linguagem de máquina. O programa gerado, em linguagem de máquina, pode ser carregado na memória e executado ("load and go"), ou ser a entrada de outro programa, o Carregador, que após algum processamento para adequar os endereços ao bloco de memória disponível, carrega-o na memória para ser executado. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 462
5 Montadores (Assemblers) cont. Esquema de funcionamento de um Montador típico Programa em linguagem de montagem ( Assembly ) MONTADOR Programa em linguagem de máquina tabelas DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 463
6 9.2 Linguagem de Montagem L. Assembly FORMATO GENÉRICO DE INSTRUÇÃO <RÓTULO> <CÓDIGO DE OPERAÇÃO> <OPERANDOS/MODIFICADORES> <COMENTÁRIOS> RÓTULO - composto de variáveis alfanuméricas, iniciando com letras, identifica endereços onde são armazenados instruções e dados; CÓDIGO DE OPERAÇÃO - conjunto de letras que formam mnemônicos para as instruções; OPERANDOS - identificam variáveis, pelos rótulos, ou registradores da UCP; MODIFICADORES - identificam modos de endereçamento; COMENTÁRIOS - descrevem o programa. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 464
7 Linguagem de Montagem cont. Exemplo ROT MOVE R1,R2 ; armazena o conteúdo do registrador R1 em R2 DELIMITADORES Os campos da instrução em linguagem simbólica são separados por delimitadores. Novamente, estes delimitadores são definidos pelo projetista do MONTADOR. Exemplos de delimitadores espaço - entre campos - separa o rótulo ; - separa o comentário, - separa operandos DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 465
8 Linguagem de Montagem cont. Exemplos de Instruções Assembly Máquina de 1 endereço LDA S1 ; load S1 em Acc ou Acc (S1) ADD S2 ; Acc (Acc) + (S2) STORE R ; store R ou R (Acc) Exemplo de programa de Saída de dado (isolada) LOOP IN RS ; leitura do registrador RS TSTBIT 2 ; bit 2 de RS=1? JNZ LOOP ; loop de espera ou saída de dado? LDA dado ; Acc (dado) OUT RD ; porta RD (Acc) RS EQU ; porta de status da interface RD EQU ; porta de dados (saída) DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 466
9 Linguagem de Montagem cont. Exemplos de Instruções Assembly cont. Máquina de 2 endereços MOVE S1, R ; R (S1) ADD S2, R ; R (R) + (S2) Exemplo de programação de Interface (E/S mapeada) PROG MOVE #10, RC ; RC 10 RC EQU 1000A ; porta de controle da interface DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 467
10 Linguagem de Montagem cont. Exemplos de Pseudo-Instruções Pseudo-instruções facilitam a programação. São diretrizes para os programas montadores, não gerando código executável. DC / DW / DB - atribui a uma posição da memória um valor (dado); CINCO DW 5 ; a posição de memória referenciada por CINCO recebe o valor 5 DS - define área alocada em quantidade de palavras/bytes AREA DS 20 MOVE #3,AREA+5 ; reserva 20 posições ; acesso à área especificada EQU - define rótulo ABC EQU 1028 ; o rótulo ABC equivale à posição de memória 1028 DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 468
11 Linguagem de Montagem cont. Exemplos de Pseudo-Instruções cont. ORG - define origem ORG 1000 ; o que segue (dado ou instrução) estará na posição 1000 ADR - define que a posição contém o endereço do rótulo especificado X1 DW 12 AX1 ADR X1 ; a posição AX1 contém o endereço X1 END - define fim de programa Exemplo... ORG 5000 X1 DW 12 AX1 ADR X1 ; conteúdo de AX1 é o end. de X1 DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 469
12 9.3 Tarefas de um Montador Para traduzir o programa em linguagem simbólica para um programa em linguagem de máquina, o Montador deve a. substituir os mnemônicos da instrução e modificadores de endereço pelos equivalentes binários; b. determinar posições de memória, relativas ao programa, para os endereços simbólicos (rótulos); c. substituir todas as referências a um dado endereço simbólico pelo endereço binário correspondente. Para determinar posições de memória para os endereços simbólicos (b), o montador utiliza a informação dada pelo programador nas pseudoinstruções; estas não são traduzidas para Linguagem de Máquina, servindo somente para orientar o montador na geração do programa em linguagem de máquina. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 470
13 Tarefas de um Montador-cont. exemplo de tradução por um montador (palavra de 16 bits) Motorola N comando n Instrução A DW 10 B DW 20 C DS 7 MOVE A,D1 LOOP ADD B, D1 MOVE D1, C END End. Relativo Código Objeto DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 471
14 Tarefas de um Montador-cont. exemplo de tradução por um montador (palavra de 16 bits) Motorola N comando Instrução End. Relativo Código Objeto byte 0 A DW , 1 1 B DW , 3 2 C DS modo Abs. - Reg. 7 x 2 bytes MOVE A,D end.a 4 LOOP ADD B, D end.b 5 MOVE D1, C end.c n END DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 472
15 Código de máquina (68000) ( bytes Na transparência 472 endereços 18 a 21 (em end. 18 size op.destino op.fonte 0 0 x x y y y z z z y y y z z z word= MOVE A, D modo 000 end. 20 seguido do valor do rótulo A (seu endereço) DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 473
16 9.4 Estruturas de dados no processo de montagem T S Tabela de Símbolos P F Programa Fonte Montador (ASM) P L M Programa em Linguagem de Máquina T I M Tabela de Instruções de Máquina T P I Tabela de Pseudo-Instruções DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 474
17 Estruturas de dados no processo de montagem cont. Tabela de Instruções de Máquina - TIM TIM associa o mnemônico de uma instrução com a instrução de máquina em binário a tabela TIM a seguir - pode possuir vários campos com informações relevantes. O número de campos que compõe a tabela TIM depende de características específicas do processador e da sintaxe da linguagem simbólica. Dois campos estão sempre presentes na tabela TIM MNEMÔNICO - onde estão os mnemônicos das instruções, definidos pela sintaxe da linguagem simbólica. CÓDIGO DE OPERAÇÃO - onde estão os códigos de operação das instruções de máquina. Outros campos podem completar a informação COMPRIMENTO DA INSTRUÇÃO (em bytes) - contém o comprimento da instrução. ROTINA DE TRATAMENTO DE OPERANDOS - onde estão relacionadas as rotinas que o montador deve ativar para gerar o endereço dos operandos, quando estes são expressões ou dependem dos modos de endereçamento. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 475
18 Estruturas de dados no processo de montagem cont. Tabela de Instruções de Máquina TIM cont. Exemplo de tabela TIM - TABELA DE INSTRUÇÕES DE MÁQUINA Mnemônico Código de Operação Comprimento (bytes) Rotina de Tratamento de operandos MOVE 00xx?????????????? 2 a 6 RMOV RTS RRTS 00=byte; 10=long; 11=word DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 476
19 Estruturas de dados no processo de montagem cont. Tabela de Pseudo-Instruções TPI relaciona o mnemônico da pseudoinstrução com a rotina que o montador deve ativar para processar a pseudoinstrução a tabela TPI pode possuir vários campos com informações relevantes. Dois campos estão sempre presentes na tabela TPI MNEMÔNICO - onde estão os mnemônicos das pseudoinstruções, definidos pela sintaxe da linguagem simbólica. ROTINA DE TRATAMENTO DE OPERANDOS - onde estão relacionadas as rotinas que o montador deve ativar para processar a pseudoinstrução. Outros campos podem completar a informação, como COMPRIMENTO DA PSEUDOINSTRUÇÃO - contém o número de bytes ou palavras que deve ser reservado para pseudoinstruções como em DB (Define Byte) ou DW (Define Word). DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 477
20 Estruturas de dados no processo de montagem cont. Tabela de Pseudo-Instruções TPI cont. Exemplo de tabela TPI Tabela de Pseudoinstruções Mnemônico Comprimento (bytes) Rotina de Tratamento ORG DW DC.B DC.W DC.L RORG RDW DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 478
21 Estruturas de dados no processo de montagem cont. Tabela de Símbolos - TS A Tabela de Símbolos é construída durante a montagem e relaciona cada símbolo (ou rótulo) definido no código fonte com um valor em representação binária do seu endereço de memória. Exemplo de tabela TS Tabela de Símbolos (para o exemplo da transparência 472) Símbolo A B C LOOP Valor (em decimal) DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 479
22 9.5 O processo de montagem Para realizar a tradução, os Montadores são geralmente implementados como Montadores de dois Passos. Os dois Passos significam que o Montador deverá ler o programa fonte duas vezes. Existem Montadores de 1 Passo, onde o programa fonte é lido uma única vez; porém, este fato implica em restrições no programa fonte (ver Exercícios 3, 5 e 6 do livro texto). Para o Montador de dois Passos. no primeiro passo o Montador lê o código fonte e determina os endereços para as referências simbólicas, construindo a Tabela de Símbolos.. no segundo passo o código fonte é lido novamente e os mnemônicos das instruções e referências simbólicas são substituídos por códigos de máquina. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 480
23 O processo de montagem cont. As tarefas associadas aos dois passos são PASSO 1 - Definir símbolos (rótulos) processar pseudoinstruções, utilizando a Tabela de Pseudoinstruções; determinar o comprimento da instrução de máquina, de acordo com a Tabela de Instruções de Máquina; atualizar o contador de posições CP, de acordo com o comprimento de cada instrução ou pseudoinstrução; guardar os valores dos símbolos (endereço equivalente) na Tabela de Símbolos. PASSO 2 - Gerar o programa em linguagem de máquina substituir símbolos por valores indicados na Tabela de Símbolos; gerar instruções de máquina; gerar dados (constantes definidas). DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 481
24 O processo de montagem cont. Passo 1 processar símbolos CP 0 lê ERRO não encontrou busca TPI busca TIM encontrou L comprimento da instrução encontrou não encontrou DW DS L comprimento dos dados EQU L 0 ORG END PASSO 2 CP valor guardar rótulo = CP na TS CP CP + L DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 482
25 O processo de montagem cont. CP 0 lê encontrou busca TPI DW não encontrou calcula / insere busca TIM constante encontrou L comprimento da instrução processa C.O. processa operandos insere no PLM CP CP + L DS L comprimento dos dados Passo 2 gerar códigos ORG EQU END CP valor FIM No Passo 2 o contador de posições CP é zerado e o programa fonte é lido novamente. A cada instrução lida é feita a busca nas tabelas TPI e TIM. No Passo 2 não é necessário prover um tratamento de erro quando a instrução não pertencer às tabelas TIM e TPI; o tratamento de erro é ativado no Passo 1 e o Passo 2 não é executado. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 483
26 O processo de montagem Fluxo de Dados As estruturas de dados manipuladas nos passos 1 e 2 são Programa Montador (ASM); Contador de posições (CP); Tabela de Instruções de Máquina (TIM); Tabela de Pseudoinstruções (TPI); Tabela de Símbolos (TS); Programa em linguagem de Máquina (PLM). ASM PLM CP PASSO 1 PF PASSO 2 CP TIM TPI TS DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 484
27 9.6 Exemplo ORG 0100H START MOVE DADO,R0 VOLTA DCR R0 JNZ VOLTA MVI #11H,R1 HLT DADO DW 20H END Para ilustrar as diferenças entre processadores, neste exemplo, diferentemente do apresentado na transparência 472 temos palavra de 8 bits (1 byte) bem como outros códigos de operação e comprimentos de instrução. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 485
28 Exemplo cont. TIM - TABELA DE INSTRUÇÕES DE MÁQUINA Mnemônico (*) Código de Operação (hexadecimal) Comprimento (bytes) Rotina de Tratamento de operandos MOVE R RMOV MVI R RMVI HLT 00 1 RHLT JNZ 60 3 RJMP DCR R RDCR (*) só está representada a parte que gera o C.O. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 486
29 Exemplo cont. TPI - TABELA DE PSEUDOINSTRUÇÕES Mnemônico ORG END DS DW Rotina de Tratamento RORG REND RDS RDW DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 487
30 Exemplo cont. No Passo 1 é gerada a tabela TS a partir do processamento do comprimento das instruções conforme mostrado a seguir. Endereço (CP) 0100 START MOVE DADO,R VOLTA DCR R JNZ VOLTA MVI #11H,R HLT 010A DADO DW 20H DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 488
31 Exemplo cont. No Passo 1 é gerada a tabela TS a partir do processamento do comprimento das instruções conforme mostrado a seguir. Endereço (CP) 0100 START MOVE DADO,R VOLTA DCR R JNZ VOLTA MVI #11H,R HLT 010A DADO DW 20H Tabela de Símbolos Símbolo Valor START 0100 VOLTA DADO A DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 489
32 Exemplo cont. Seguindo o algoritmo descrito no Passo 2 e utilizando a tabela gerada no Passo 1, obtemos o seguinte PLM (devemos observar que os endereços dos operandos estão armazenados em 2 bytes, por exemplo nos endereços e ) Endereço PLM (em hexadecimal) A A 20 DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 490
33 9.7 Exercícios 1. Resolva os exercícios (1) a (6) do livro texto. DCA-FEEC-UNICAMP Introdução à Computação Digital Prof. Léo Pini Magalhães 491
Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk
Assembly 8051 Num sistema microprocessado, geralmente, não existe um sistema operacional; O programa desenvolvido pelo programador deve cuidar tanto da lógica do programa, bem como da configuração e acesso
Leia maisLinguagem de Montagem do NeanderX
Universidade Estácio de Sá Curso de Informática Arquitetura de Computadores Linguagem de Montagem do NeanderX 11.5.2006 Geração Programa Executável Linguagens de Programação As linguagens de programação
Leia maisFORMATO DO PROGRAMA FONTE
FORMATO DO PROGRAMA FONTE As declarações do programa fonte são constituídas pelos seguintes campos: 1) Campo do Rótulo: o primeiro caractere deve ser alfabético
Leia maisConceitos básicos sobre computadores (continuação)
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores (continuação) Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário O que é um computador e
Leia maisNEANDERWIN. Algumas características do processador Neander são:
NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui
Leia maisUniversidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever
Leia maisCompiladores. Introdução à Compiladores
Compiladores Introdução à Compiladores Cristiano Lehrer, M.Sc. Introdução (1/2) O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem
Leia maisSistemas Operacionais
Visão geral de montadores, ligadores e carregadores 2 a edição Revisão: Fev/2003 Sistemas Operacionais Montadores, ligadores e carregadores Anexo A Como um programa é construído até ser executado? Montadores
Leia maisOrganização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção
Organização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção 1 Modo de Endereçamento Determina como o operando é obtido durante a execução de uma ins trução.
Leia maisPrimeiro Trabalho de POO Emulador para o Processador Winter
Primeiro Trabalho de POO Emulador para o Processador Winter Prof. Pedro Carlos da Silva Lara Entrega: 21/10/2014 1 Informações Gerais Winter é um processador hipotético especificado com fim puramente acadêmico.
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características
Leia maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisMicroprocessadores CPU. Unidade de Controle. Prof. Henrique
Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um
Leia maisPorque usar um montador? Formato de uma linha de código fonte:
Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob
Leia maisIntrodução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis 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 maisUtilização do montador Daedalus. O montador e os simuladores Formatos de instruções
Utilização do montador Daedalus O montador e os simuladores Formatos de instruções 1 O montador Daedulus! Desenvolvido para os simuladores Ahmes, Ramses e Cesar! Simuladores possuem arquiteturas distintas!
Leia maisUnidade de Controle. UC - Introdução
Unidade de Controle Prof. Alexandre Beletti (Cap. 3 Weber, Cap.8 Monteiro, Cap. 10,11 Stallings) UC - Introdução Para gerenciar o fluxo interno de dados e o instante em que ocorrem as transferências entre
Leia maisSSC510 Arquitetura de Computadores 1ª AULA
SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura
Leia maisPROGRAMAÇÃO I. Introdução
PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação
Leia maisTecnó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 maisProgramação de Computadores:
Instituto de C Programação de Computadores: Introdução a Linguagens de Programação Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Seis Camadas Problema
Leia maisSistema Computacional
Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.
Leia maisConjunto 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 maisORGANIZAÇÃO DE COMPUTADORES
ORGANIZAÇÃO DE COMPUTADORES AULA 03 PROFº RITIELLE SOUZA DISTRIBUIÇÃO LÓGICA DISTRIBUIÇÃO LÓGICA Arquitetura de Von Neumann Uma unidade central de processamento recebe informações através de uma unidade
Leia maisIntroduçã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 maisProcedimentos. Sistemas de Computação
Procedimentos Chamada de Procedimentos Utilização de procedimentos: Facilitar entendimento do programa Reutilização de código Passos necessários para execução de um procedimento: Os parâmetros a serem
Leia maisAULA 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 maisMATA49 Programação de Software Básico
MATA49 Programação de Software Básico Leandro Andrade leandrojsadcc.ufba.br PROF. LEANDRO ANDRADE 1 Introdução a linguagem de montagem com Nasm PROF. LEANDRO ANDRADE 2 Sintaxe básica Não é sensível
Leia maisOrganização e Arquitetura de Computadores INTRODUÇÃO
Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo
Leia mais1: 2: 2, [1] [2] 0x x001f8021 $16,$0,$31 13 [3] 0x x
Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 14/setembro/2012 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome
Leia maisSistemas Operacionais
Sistemas Operacionais CAP 2: Conceitos de Hardware e Software Prof. MSc. Diego R. Moraes diegorm@anhanguera.com Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads
Leia maisConjunto 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 maissumário 1 bases numéricas 1 2 sistemas de numeração em computação introdução representação de números... 3
sumário 1 bases numéricas 1 1.1 introdução... 2 1.2 representação de números... 3 1.3 transformação entre bases... 4 1.3.1 método polinomial...4 1.3.2 método de subtrações...5 1.3.3 método das divisões...6
Leia maisConversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação
Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação Para executar uma tarefa qualquer, um computador precisa receber instruções precisas sobre o que fazer. Uma seqüência adequada
Leia maisLinguagens de Programação
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.
Leia maisInfraestrutura 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 maisCONJUNTO DE INSTRUÇÕES
CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar
Leia maisIntroduçã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 maisIII.2 - Princípios de Arquitetura
Conjunto de Instruções e Modo de Endereçamento Ciclo de busca decodificação execução de instruções Programação de um processador Arquitetura de Von Neumann e Componentes Arquiteturas 4, 3, 2, 1 e 0 Tabela
Leia maisIntroduçã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ção de Computadores I
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura
Leia maisIntrodução à Computação
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Histórico da Computação Prof. Yandre
Leia maisIntrodução à Computação
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Histórico da Computação Prof. Yandre
Leia maisIntrodução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação
Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And
Leia maisProgramação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1
Programação de Computadores IV Introdução a Linguagens de Programação Simone Martins simone@ic.uff.br SLIDES CEDIDOS POR BRUNO MARQUES 1 Arquitetura de programação 2 O Que é um Dado? Dado é o elemento
Leia maisCompiladores. Geração de Código Objeto
Compiladores Geração de Código Objeto Cristiano Lehrer, M.Sc. Atividades do Compilador Arquivo de origem Arquivo de destino Análise Otimização Geração de Código Intermediário Geração de Código Final Síntese
Leia maisUniversidade Católica de Pelotas Bacharelado em Ciência da Computação Linguagens Formais e Autômatos TEXTO 6 Introdução à Compilação
Universidade Católica de Pelotas Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 6 Introdução à Compilação Prof. Luiz A M Palazzo Maio de 2011 Um COMPILADOR é um programa
Leia maisIntrodução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?
Leia maisSistemas Operacionais I
Sistemas Operacionais I Revisão de conceitos Sistemas Operacionais I Dionisio Gava Junior Componentes básicos Componentes Básicos da Tecnologia da Informação Hardware CPU, Memória e Periféricos de E/S.
Leia maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 11 Conjuntos de instruções: Modos de endereçamento e formatos slide 1 Diagrama do endereçamento imediato Instrução Opcode
Leia maisDispositivos de Entrada e Saída
Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Problemas com Entrada e Saída ü Periféricos possuem características
Leia maisII.1 Conceitos Fundamentais. Uma delas é programar o =>
II.1 Conceitos Fundamentais II.2 Gerações das Linguagens de Programação II.3 Linguagem de Programação II.4 Sistema Operacional II.5 Tradutores II.5.1 Estrutura de um tradutor II.5.1.1 Análise Léxica II.5.1.3
Leia maisProf. Sandro Wambier
Prof. Sandro Wambier São elementos da Arquitetura de um computador: conjunto de instruções de um processador, os modos de endereçamentos, o tipo e tamanho dos dados manipulados pelo processador, ex.: Intel
Leia maisMODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES
MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES Alexandre Lucas Chichosz Graduando em Engenharia da Computação, Faculdades Integradas de Três Lagoas FITL/AEMS Calwann de Souza Freire Graduando em Engenharia
Leia maisINFORMÁTICA: Informação automática
INTRODUÇÃO INFORMÁTICA: Informação automática Definição: é a ciência que estuda o tratamento automático e racional da informação (encarregada pelo estudo e desenvolvimento de máquinas e métodos para processar
Leia maisMODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES
MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES Alexandre Lucas Chichosz Discente do curso Engenharia da Computação Calwann de Souza Freire Discente do curso Engenharia da Computação Myke Albuquerque Pinto
Leia maisPCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca
PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada
Leia maisNível da Linguagem de Montagem
Nível da Linguagem de Montagem (Aula 15) Linguagem de Montagem Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Introdução Tradutores Programas que convertem um programa
Leia maisNEANDERWIN - Resumo operacional
NEANDERWIN - Resumo operacional Sumário Listagem geral das instruções... 2 NOP... 2 LDI imed... 2 STA ender... 2 LDA ender... 3 ADD ender... 3 SUB ender... 3 OR ender... 4 AND ender... 4 NOT... 4 JMP ender...
Leia maisLinguagens de Programação
Capítulo 4 Linguagens de Programação 4.0 Índice Capítulo 4 1 4.0 Índice 1 4.1 Programação de Computadores 2 4.2 Níveis de Linguagens de Programação 2 4.2.1 Linguagem de Máquina 2 4.2.2 Linguagem Hexadecimal
Leia maisProf. Adilson Gonzaga
Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários armazenados em memória. Prof. Adilson Gonzaga 1 As ordens ou comandos
Leia maisPeriféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída
Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e Memória Necessita-se de módulos
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que
Leia maisUCP 8051 (parte 02) Professor Adão de Melo Neto
UCP 85 (parte 2) Professor Adão de Melo Neto Barramento de endereços UCP 85 É unidirecional (6 BITS), porque a informação flui apenas em uma direção, da CPU para a memória ou para os elementos de E/S.
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 3ª Aula Visão Geral e Conceitos Básicos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Copyright William Stallings & Adrian J Pullin Tradução, revisão e
Leia maisArquitetura de Computadores. Ciclo de Busca e Execução
Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções
Leia maisIntrodução. Nível da Linguagem de Montagem. Linguagem de Montagem (2) Linguagem de Montagem (1) Linguagem de Montagem
Nível da Linguagem de Montagem (Aula 15) Linguagem de Montagem Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Introdução Tradutores Programas que convertem um programa
Leia mais18/10/2010. Unidade de Controle Controle. UC Microprogramada
Arquitetura de Computadores Unidade de Controle Controle Microprogramado Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO UC Microprogramada
Leia maisExistem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.
Aula 3 SOFTWARE (programas) Um programa (software) consiste em uma sequência de instruções escritas numa linguagem precisa chamada linguagem de programação. Estas instruções são traduzidas em um compilador,
Leia maisCONJUNTO 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 maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código
Leia maisProf. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior
Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Meio pelo qual se pode indicar os passos que devem ser realizados pelo computador para resolver problemas; Através da linguagem,
Leia maisOFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO
OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Compiladores e Interpretadores Compiladores
Leia maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções
Leia maisFundamentos de Arquiteturas de Computadores Turma :A1 Lista 3 Profa.: Simone Martins
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Fundamentos de Arquiteturas de Computadores Turma :A Lista 3 Profa.: Simone Martins. A figura abaixo mostra
Leia maisa) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. Resposta:
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação 2016.2 Profa.: Simone Martins Lista 1 - Gabarito 1. Um programa P foi compilado com
Leia maisInfraestrutura de Hardware. Implementação Monociclo de um Processador Simples
Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço
Leia maisIntrodução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And Calculator (ENIAC).
Leia maisSâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina
Sâmia Rodrigues Gorayeb Arquitetura de Computadores Linguagem de Máquina Arquitetura de Computadores Agenda: Linguagem de máquina 1. Introdução 2. Característica 3. Programas Compilados 4. Programas Interpretados
Leia maisUNIDADE DE CONTROLE (IMPLEMENTAÇÃO POR HARDWARE) Adão de Melo Neto
UNIDADE DE CONTROLE (IMPLEMENTAÇÃO POR HARDWARE) Adão de Melo Neto 1 UNIDADE DE CONTROLE Técnicas de implementação da Unidade de Controle Implementação Microprograma Implementação por Hardware 3 UNIDADE
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores
Leia maisLinguagens de Programação
Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas
Leia maisIntrodução ao Estudo dos Computadores
1 Capítulo 1 Introdução ao Estudo dos Computadores A execução de instruções é um dos pontos centrais num sistema computacional. Vários aspectos na definição e implementação da arquitetura de um computador
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Leia maisMemó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 maisComputador Cleópatra
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Interface Hardware e Software Alexandre Amory Edson Moreno 2 / 9 Nas Aulas Anteriores Vimos como descrever e implementar circuitos combinacionais
Leia maisProgramação Estruturada
Programação Estruturada Organização de um ambiente computacional Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC
Leia maisCompiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores
Motivação Prof. Sérgio Faustino Compiladores Conhecimento das estruturas e algoritmos usados na implementação de linguagens: noções importantes sobre uso de memória, eficiência, etc. Aplicabilidade freqüente
Leia maisProblemas com Entrada e Saída
Problemas com Entrada e Saída Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e
Leia mais2.4 Processadores Micro-instruções Desvios Desvios Condicionais Instruções e Programação em Assembler
Aula Expositiva 4 2.4 Processadores 2.4.1 Micro-instruções 2.4.2 Desvios 2.4.3 Desvios Condicionais 2.4.4 Instruções e Programação em Assembler DCC 001 Programação de Computadores 2 o Semestre de 2011
Leia maisClassificação das linguagens de programação
Introdução Linguagem É um meio de comunicação entre pessoas. Faculdade de expressão audível e articulada do homem. Conjunto de sinais falados, escritos ou gesticulados de que se serve o homem para demonstrar
Leia mais7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova
7. PROGRAMANDO O MICROCONTROLADOR 1 7. PROGRAMANDO O MICROCONTROLADOR: Hardware parte física do circuito eletrônico CPU onde está localizado o microcontrolador. Dentro do microcontrolador existe um conjunto
Leia maisInstruções. Maicon A. Sartin
Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis
Leia maisORGANIZAÇÃO DE COMPUTADORES
Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e
Leia maisSistemas de Computação. Instruções de Linguagem de Máquina
Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de
Leia maisCompiladores e Computabilidade
Compiladores e Computabilidade Prof. Leandro C. Fernandes UNIP Universidade Paulista, 2013 GERAÇÃO DE CÓDIGO INTERMEDIÁRIO Geração de Código Intermediário Corresponde a 1ª etapa do processo de Síntese
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes
Leia maisDEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 2 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 2 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS Aluno: Escore: Assinale a resposta que considerar mais correta.
Leia mais