Um Conjunto de Softwares Básicos Integrados para Arquitetura SIC/XE
|
|
- Lucca da Mota de Caminha
- 6 Há anos
- Visualizações:
Transcrição
1 Um Conjunto de Softwares Básicos Integrados para Arquitetura SIC/XE Argemiro Soares de Aliança Neto, Sílvio Roberto Fernandes de Araújo Departamento de Ciências Exatas e Naturais - DCEN Universidade Federal Rural do Semi-Árido -UFERSA Av. Francisco Mota, 572 Bairro Pres. Costa e Silva CEP Mossoró - RN argemiront@gmail.com, silvio@ufersa.edu.br Abstract. The study of basic softwares include the study of compilers, assemblers, linkers and loaders, as well as their target architecture. SIC architecture is approached in this paper for its importance in basic software courses. However, testing SIC architecture based softwares is complicated because there is not a real machine model. This paper suggests an SIC and an SIC/XE simulator able to read an object program of this instructional machine and to show the step-by-step execution of each instruction; along with this simulator, an assembler, a memory controller and a linking and loader are presented, thus eliminating the problem of the absence of a real machine model Resumo. O estudo dos softwares básicos inclui o estudo de compiladores, assemblers, linkers e loaders, além da arquitetura alvo de tais softwares básicos. Utilizamos a arquitetura SIC no desenvolvimento deste trabalho pela sua importância em cursos de software básico. Entretanto, os testes de softwares em arquitetura SIC apresentam a dificuldade de não possuirem um modelo real da máquina. O presente artigo propõe um simulador da arquitetura SIC e SIC/XE capaz de ler um programa em formato objeto dessa máquina didática e mostrar passo-a-passo a execução de cada instrução; juntamente com este simulador, são apresentados um montador de arquivos objeto, um controlador de memória e um link/loader, eliminando o problema da ausência de um modelo real. 1. Introdução Softwares básicos se diferenciam dos softwares aplicativos devido a sua dependência com relação à máquina em que será executado. Softwares básicos têm como objetivo possibilitar a operação e o uso da máquina seja qual for a aplicação utilizada. Eles possuem uma relação muito próxima com o equipamento no qual devem ser executados. Dentre os principais softwares básicos conhecidos estão os compiladores, montadores (do inglês assemblers), ligadores (linkers), carregadores (loaders), sistemas operacionais etc [Aho 2008]. [Beck 1993] propôs o computador didático simplificado (SIC - Simplified Instructional Computer), que apesar de ser uma máquina hipotética, possui a maioria das características das reais e oi proposta para fins didáticos no estudo de softwares básicos. Além da arquitetura, [Beck 1993] apresenta o assembly da máquina e discute a
2 implementação de um assembler e um linking loader, em suas versões standard e extended. Apesar de todos os detalhes para implementação dos softwares básicos da arquitetura proposta, há ainda uma grande dificuldade para testar a funcionalidade dos softwares desenvolvidos, uma vez que não existe um modelo real da arquitetura. Desse modo, este artigo propõe um simulador da arquitetura SIC e SIC/XE obedecendo ao conjunto de instruções, ao banco de registradores e aos modos de endereçamento da memória para visualizar o estado da arquitetura durante a execução de programas. Tal simulador é uma ferramenta para auxílio dos desenvolvedores de softwares básicos para a arquitetura SIC e SIC/XE. A primeira versão interpretava o código em assembly [Aliança Neto 2010]. A nova versão simula a execução de um programa em formato binário do SIC e SIC/XE permitindo visualizar o estado de cada registrador, da memória e dados importantes da instrução a ser executada. A ferramenta também inclui um montador capaz de gerar um programa objeto equivalente ao programa escrito em assembly. O artigo está organizado da seguinte forma: a seção 2 faz a descrição do montador, a seção 3 apresenta o link/loader, a seção 4 o controlador de memória, a seção 5 o simulador e a seção 6 apresenta as considerações finais. 2. O Montador O montador recebe como entrada um código assembly compatível com a plataforma e tem como saída um código objeto executável com as mesmas funcionalidades do programa original. O arquivo objeto contém todas as informações necessárias para a correta identificação, carga na memória, endereçamento, carga de bibliotecas externas e execução do programa. O arquivo objeto é dividido em, no máximo, seis seções. Cada seção tem uma funcionalidade específica, como segue: Header: contém o nome do programa, o tamanho do código objeto, e o endereço de carga na memória. Esse último também indica se o programa deve ser alocado em uma posição específica ou em qualquer posição disponível (relocável); Definitions: tem a proposta de publicar variáveis internas para serem acessadas por outros programas. Essa seção é opcional; References: indica bibliotecas e/ou variáveis externas usadas no programa. Essa seção é opcional; Text: contém as instruções, variáveis e ponteiros para os dispositivos de entrada e saída. De fato, somente os dados desta seção são carregados na memória; Modifiers: armazena informações para ajuste do endereçamento de memória em programas relocáveis e link com bibliotecas externas. Essa seção é opcional; End: marca o fim do código executável e indica em que posição de memória está o primeiro código executável do programa. O montador cria arquivos executáveis em formato binário. Para facilitar o entendimento do processo, são criados adicionalmente um arquivo assembly e um
3 ASCII. O primeiro contém o código original e o resultado da montagem. O segundo o código objeto em formato ASCII para cada seção do programa original. A Figura 1(a) mostra um exemplo de arquivo binário e a Figura 1(b) mostra o equivalente em padrão ASCII. Figura 1. Exemplo de programa objeto em binário e em ASCII A montagem de programas SIC Standard têm características diferentes do padrão SIC/XE. O simulador provê opção de montagem e execução nos dois padrões. Foi adicionado ao código objeto um byte que indica o fim de cada linha representada no código objeto em ASCII para eliminar a ambiguidade existente entre os cabeçalhos e os dados da seção, no entanto, o mesmo não é carregado na memória no momento da execução. 3. O Link/Loader O link/loader é o software básico responsável, basicamente, pela carga do programa na memória, suas dependências (outros programas ou bibliotecas) e resolução dos endereços de memória. O link/loader armazena informações importantes sobre os programas que estão sendo carregados na memória, tais como: nome, tamanho, posição de alocação e uma tabela de variáveis externas com seus respectivos endereços. Tais informações são necessárias para evitar que um mesmo programa seja alocado duas vezes, como realizar a desalocação de memória e para que as variáveis públicas do programa sejam acessíveis por outros programas. Ao realizar a carga de um programa, se uma biblioteca ou variável externa é referenciada no programa então o link/loader a procura primeiramente na lista de programas carregados, se não a encontra procura no mesmo diretório do programa que está sendo carregado, caso ainda não encontre o usuário é questionado para informar o endereço do arquivo. Na alocação do programa é feita uma solicitação de memória ao controlador de memória de acordo com o tamanho do programa informado na seção Header do arquivo objeto. Caso não haja memória disponível para a carga do programa ou as posições de memória necessárias para a carga de programas não-relocáveis se encontram ocupadas o programa não é carregado e uma mensagem de erro é mostrada.
4 4. O Controlador de Memória O controlador de memória gerencia todo acesso à memória, seja para leitura ou para escrita. O controlador fornece acesso à memória e trabalha de forma semelhante à E/S programada [Stallings 2000], onde uma solicitação é feita fornecendo o endereço inicial e a quantidade de bytes a serem lidos ou escritos, no último caso também é fornecido o valor a ser lido. O controlador mantém também as chaves de acesso à memória, disponíveis na arquitetura SIC/XE. Um gerenciador de alocação de memória baseado em mapa de bits [Tanenbaum 2007] foi implementado para alocação contínua. Ao receber uma solicitação de alocação o controlador verifica no mapa se há memória disponível e então retorna a posição da alocação. Na desalocação somente o mapa de bits é alterado, os dados continuam na memória. 5. O Simulador O simulador une todas as ferramentas desenvolvidas em um ambiente com interface gráfica completa, onde o usuário poderá montar programas objeto e executá-los no mesmo ambiente. Verificando o passo-a-passo da execução. O software simulador foi desenvolvido em C#, baseado nas tecnologias mais avançadas do.net Framework 4, sendo compatível apenas com o Sistema Operacional Windows, nas versões Windows Vista e posteriores. 5.1 Funcionamento Básico Modos de Operação O sistema tem dois modos de operação, Passo-a-passo ou Contínuo, disponíveis no menu Executar. No modo contínuo deverá ser informado o tempo de passo em milissegundos na barra de tarefas de controle de execução. Esse tempo indica quanto tempo o sistema fica em espera entre a execução de duas instruções. No modo passo-apasso o botão play deverá ser acionado para cada execução de instrução Fluxo Normal de Trabalho O usuário seleciona o arquivo do programa através do menu Arquivo Executar Programa Objeto, o modo de operação e executa o programa com o Play. Caso queira pausar, clica em Pause e Play para retornar. Caso queira abortar, clica em Stop. Ao executar uma instrução os valores alterados nos flags, registradores e na memória são indicados através de uma animação onde o campo alterado fica com o segundo plano verde por alguns instantes, como na Figura 2.
5 Figura 2. Tela do simulador em execução No campo Offset da memória o usuário pode definir um valor em hexadecimal a partir do qual o campo de memória irá mostrar os valores Programas que usam E/S Se o programa a ser executado utiliza dispositivos de E/S então o arquivo contendo os dados que serão lidos dos dispositivos de entrada deve ser carregado. A carga pode ser logo após a carga do programa através do menu Arquivo Carregar arquivo de dados. Nesse caso, um arquivo contendo o registro dos dispositivos de E/S também deve ser carregado no menu Configurar Carregar E/S O Montador de Arquivos Objeto O arquivo a ser montado pode ser carregado no menu Arquivo Montar arquivo objeto. O usuário pode escolher entre montagem para objeto SIC padrão ou SIC/XE no menu Configurar Montador SIC Compatível, selecionando para a primeira opção. O arquivo a ser montado deverá estar no formato *.asm e ser compatível com o assembly do SIC ou SIC/XE. Os arquivos montados serão salvos com o nome do programa constante no assembly e não com o nome do arquivo lido. Caso haja seções no programa cada seção é salva em um arquivo diferente com o nome respectivo da seção. Temos também a opção de salvar o arquivo original com os códigos de montagem produzidos pelo montador. Nesse caso, o nome do arquivo será NOME_DO_PROGRAMA MONTADO.asm.
6 6. Considerações Finais O simulador da arquitetura SIC/XE foi implementado em C# usando.net Framework, permitindo a visualização do estado de cada registrador, dos flags da ULA e da memória durante a execução de cada instrução de um programa objeto em formato binário compatível com a arquitetura. São disponibilizados dois modos de execução: passo-a-passo ou contínuo. A ferramenta ainda permite a geração do código objeto no formato especificado por [Beck 1993]. Trabalhos futuros incluem a animação das linhas indicadoras de fluxo de acordo com sequencia dos eventos, a utilização de um desmontador de código objeto para exibir todas as instruções do programa sendo executado em formato assembly com animação de transição entre as instruções e a disponibilização do aplicativo com manual de operação na WEB. Referências Aho, Alfred V. et al (2008), Compiladores: princípios, técnicas e ferramentas, Addison Wesley, 2ª. edição. Aliança Neto, Argemiro S. de; Araújo, Silvio R. F. (2010) Um Simulador Didático para a Arquitetura SIC/XE, In: I Workshop Técnico Científico de Computação. Beck, Leland L (1993), Desenvolvimento de Software Básico, Campus, 2ª edição. Microsoft (2010). URL: Acessado: set Tanenbaum, Andrew S. (2007). Sistemas Operacionais Modernos, Prentice Hall, 2ª edição. Stallings, William (2000). Computer Organization and Architecture, Prentice Hall, 5ª edição.
Nivel de Linguagem de Montagem (Assembly)
Nivel de Linguagem de Montagem (Assembly) Orlando Loques setembro 2006 Referências: Structured Computer Organization (capítulo 7), A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization and
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 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 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 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 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 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 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 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 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 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 maisAula 2 - Programação de Computadores - CI208 1/21
Aula 2 - Programação de Computadores - CI208 Professor: Leonardo Gomes leonardog@inf.ufpr.br Universidade Federal do Paraná Brazil 2016 - Segundo semestre Aula 2 - Programação de Computadores - CI208 1/21
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 maisRoteiro de utilizaça o do SOAC
Roteiro de utilizaça o do SOAC O SOAC (Simulador de Organização e Arquitetura de Computadores) é uma ferramenta didática para auxiliar, principalmente, o ensino de Organização e Arquitetura de Computadores.
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 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 maisGerência de Memória Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será o compartilhamento
Leia maisESTRUTURA E FUNCIONAMENTO DO COMPUTADOR
ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema
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 maisAGT0001 Algoritmos Aula 01 O Computador
AGT0001 Algoritmos Aula 01 O Computador Karina Girardi Roggia karina.roggia@udesc.br Departamento de Ciência da Computação Centro de Ciências Tecnológicas Universidade do Estado de Santa Catarina 2016
Leia maisIntrodução à Organização de Computadores. Aula 8
SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo
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 maisHardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD
Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Hardware 2 Unidades Funcionais Processador / U C P Unidade Lógica e Aritmética Unidade de Controle Registradores Memória Principal Dispositivos de
Leia maisGerência de Dispositivos. Adão de Melo Neto
Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Gerência de Dispositivos Dispositivos de E/S Device Drivers Controladores Subsistema de E/S 2 Gerência de Dispositivos A gerência de
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 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 maisCapítulo 6 Nível do Sistema Operacional
Capítulo 6 Nível do Sistema Operacional - Sistema Operacional: Programa que, do ponto de vista do programador, adiciona uma grande quantidade de instruções e funcionalidades bem além das disponibilizadas
Leia maisIntrodução. Considerações:
Gerência de Memória Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será o compartilhamento
Leia maisProjeto de ensino MONITORIA NÃO-SUBSIDIADA Fundamentos de Organização de Computadores
Universidade Federal de Santa Maria Centro de Tecnologia Curso de Ciência da Computação Núcleo de Ciência da Computação Projeto de ensino MONITORIA NÃO-SUBSIDIADA Fundamentos de Organização de Computadores
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO
Leia maisSoftware Básico. Silvio Fernandes Aula 15: Carregamento dinâmico
Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Software Básico Aula 15: Carregamento dinâmico Silvio Fernandes 2009.1 1 Introdução Bibliotecas
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 maisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Leia mais9. Software de Sistema - Montadores (capítulo 9 do livro texto)
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
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 maisArquitetura de Computadores
Arquitetura de Computadores Prof. Eduardo Simões de Albuquerque Instituto de Informática UFG 1o. Semestre / 2006 Adaptado do material do prof. Fábio Moreira Costa Programa e Introdução Assunto do curso
Leia maisPuca Huachi Vaz Penna
BCC201 Introdução à Computação Turmas 31, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca puca@iceb.ufop.br Aula 2 Introdução:
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 maisIntrodução. Arquitetura e Organização de Computadores I. Programa. Arquitetura e Organização de. Computadores. Capítulo 1.
Arquitetura e Organização de Computadores I Prof. Cláudio C. Rodrigues Arquitetura e Organização de Computadores I Objetivo: Entender a regra dos componentes de um sistema computador e como eles trabalham
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 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 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 maisA Memória do MSX (I)
A Memória do MSX (I) Resumo O objetivo deste artigo é mostrar como funciona o esquema de memória do MSX, que possui ROMs e RAMs compartilhadas em um espaço de 64 KB. Este é o primeiro de três artigos,
Leia maisArquiteturas RISC e CISC. Adão de Melo Neto
Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções
Leia maisGerência de Memória. Execução de um Programa (1) Introdução. Introdução
Introdução Gerência de Memória (Aula 18) Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será
Leia maisCOMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto
COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais
Leia maisArquitetura de Computadores. Conjunto de Instruções
Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas
Leia maisExercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída
Nome: Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída 1. A gerência de dispositivos de entrada e saída é uma das principais e mais complexas funções de um sistema
Leia maisGerência de Dispositivos. Adão de Melo Neto
Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Introdução Acesso ao Subsistema de E/S Subsistema de E/S Device Drivers Controladores Dispositivos de E/S Discos Magnéticos Desempenho,
Leia maisIDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias
1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo
Leia maisELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR
ELETRÔNICA DIGITAL II AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br 1º SEMESTRE 2009 CONTEÚDO PROGRAMADO: 1 O que é um computador digital? 2 Como funcionam os computadores 3 O agente
Leia maisSistemas Operacionais. Conceitos de Hardware e Arquitetura de computadores
Sistemas Operacionais Conceitos de Hardware e Arquitetura de computadores Arquitetura de Von Neumann Criada em 1945 Memória Unidade Lógica-Aritmética Unidade de Controle Entrada e Saída Um desktop atual
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 maisAula 1: Apresentação do Curso
Aula 1: Apresentação do Curso Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Fernanda Passos (UFF) Apresentação do Curso FAC 1 / 30 Estrutura da Disciplina
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 maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de
Leia maisAula 1: Apresentação do Curso
Aula 1: Apresentação do Curso Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Apresentação do Curso FAC 1 / 30 Estrutura da Disciplina Diego
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 maisCompiladores I Prof. Ricardo Santos (cap 1)
Compiladores I Prof. Ricardo Santos (cap 1) Compiladores Linguagens de programação são notações que permitem descrever como programas devem executar em uma máquina Mas, antes do programa executar, deve
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 maisTRABALHO PRÁTICO Nro. 01
USP ICMC SSC SSC0510 - Arquitetura de Computadores Professor responsável: Fernando Santos Osório Semestre: 2010/2 Horário: Quarta 21h00 E-mail: fosorio.at. icmc.usp.br fosorio.at. gmail.com Web: http://www.icmc.usp.br/~fosorio
Leia maisLABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO
LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistema Operacional Conteúdo retirado do livro Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo
Leia mais1.1 Linguagens de Programação
Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode
Leia maisPONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA DEPARTAMENTO: Fundamentos da Computação CURSO: Ciência da Computação DISCIPLINA: Organização e Arquitetura de Computadores
Leia maisInfra-Estrutura de Software. Introdução
Infra-Estrutura de Software Introdução Objetivos das duas próximas aulas Ao final da aula de quinta-feira você deverá ser capaz de: Descrever os componentes básicos de um computador Explicar como o sistema
Leia maisSistemas de Computação. Gerenciamento de memória
Gerenciamento de memória Localização de processos Um programa fica armazenado em disco como um arquivo executável binário e tem que ser colocado na memória para começar a ser executado Os processos podem
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 maisInstalação Serviço de Acompanhamento de Projeto (PCSIS007) Sistema de Gestão da Qualidade
Página 1 de 37 Instalação Serviço de Acompanhamento de Projeto Página 2 de 37 ÍNDICE Atividades...3 1. Instalação...3 1.1. Instalação do framework4...3 1.2. Instalação do serviço de acompanhamento de projetos
Leia maisApresentação. Sistemas Operacionais. Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D.
GSI018 Sistemas Operacionais Apresentação Sistemas Operacionais Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Nesta Aula Motivação acerca da disciplina;
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 maisSistemas Operacionais
Brainstormig Sistemas Operacionais Processos e multiprogramação Aula 2 Quais são os componentes de um programa? Como podemos representar um programa em execução? Onde ele inicia a executar? Como se mapeia
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO Profª Danielle Casillo Ambiente de software desenvolvido para a programação, configuração, depuração e documentação de programas
Leia maisNotas de Aula Guilherme Sipahi Arquitetura de Computadores
Notas de Aula Guilherme Sipahi Arquitetura de Computadores Endereçamento O Campo de endereço em uma instrução é pequeno. Para referenciar uma faixa de endereços maior na memória principal, ou em alguns
Leia maisArquitetura de Von Neumann
Arquitetura de Von Neumann Leandro Tonietto Algoritmos e Programação em C++ Curso de Segurança da Informação ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/tsi/apc/arqvonneumann.pdf Fev-2008
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais GERÊNCIA DE MEMÓRIA SUMÁRIO 5. GERÊNCIA DE MEMÓRIA: 5.1 Introdução; 5.2 Funções Básicas; 5.3 Alocação Contígua Simples; 5.4 Técnica de Overlay; ; 5.6 Swapping.
Leia maisIntrodução à Ciência da Computação ICC0001 Prof. Diego Buchinger
Sistemas Operacionais Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Inicializando o Sistema BIOS verifica os componentes instalados (RAM, teclado etc.) e verifica se dispositivos estão
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 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 maisEstrutura do Sistema Operacional
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional
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 maisORGANIZAÇÃO DE COMPUTADORES
ORGANIZAÇÃO DE COMPUTADORES CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014-1 1 CONCEITOS ASSUNTOS DESTA AULA: Funcionalidades de um computador; Hardware e Software; Componentes de um computador: o CPU
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6 Gerenciamento de Memória Prof. Galvez Considerações Gerais Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada de
Leia maisEstrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 5: Registros O objetivo desta aula é apresentar os tipos de dados definidos pelo programador, bem como exibir usos comuns desses tipos de
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia mais14/3/2016. Prof. Evandro L. L. Rodrigues
SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores
Leia maisPCS3616. Programação de Sistemas (Sistemas de Programação) Semana 8, Aula 14. Editores de Ligação e Relocadores Programação em linguagem de montagem
PCS3616 Programação de Sistemas (Sistemas de Programação) Semana 8, Aula 14 Editores de Ligação e Relocadores Programação em linguagem de montagem Escola Politécnica da Universidade de São Paulo Roteiro
Leia maisUNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES
UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES ESSA APRESENTAÇÃO POSSUI QRCODE PARA ACESSAR INFORMAÇÕES ADICIONAIS AOS SLIDES. Código QR Reader Código QR INTRODUÇÃO A ARQUITETURA DE COMPUTADORES Qual
Leia maisProgramação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
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 maisSSC Linguagem de Programação e Aplicações
SSC0300 - Linguagem de Programação e Aplicações Professor responsável: Fernando Santos Osório Semestre: 2013/2 Prof. Auxiliar: Artur Lovato Cunha Estagiário PAE: Rafael L. Klaser Horário: Sexta Manhã 10h10
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 mais