Aula 3 Máquina Multinível

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

Download "Aula 3 Máquina Multinível"

Transcrição

1 Ciências da Computação Disciplina: Ciência da Computação e Profissão Professora: Simone Jaqueline Ferreira de Almeida Aula 3 Máquina Multinível

2 Máquina Multinível - Computador Visão Tradicional de um computador: Periféricos: dispositivos de entrada e saída (monitor, teclado, mouse, impressora, caixa de som); Gabinete: placa mãe, placas adicionais (vídeo, rede, Captura de TV, etc.), memórias, processador, fonte de alimentação, discos rígido, etc.

3 Máquina Multinível - Computador Um computador digital é uma máquina capaz de solucionar problemas através da execução de instruções que lhe são fornecidas, problemas que são: De diferentes naturezas (matemática, engenharia, administração, comércio, indústria, etc.); De variados graus de complexidade, executando uma série de instruções simples reconhecidas por seus circuitos internos. Denomina-se programa uma sequência de instruções que descreve como o computador deve executar uma determinada tarefa.

4 Máquina Multinível - Computador Os circuitos eletrônicos de cada computador podem reconhecer e executar diretamente um conjunto limitado de instruções simples para as quais todos os programas devem ser convertidos antes que eles possam ser executados. As instruções são classificadas como primitivas, pois são simples e precisas, visando reduzir a complexidade e o custo dos circuitos internos da máquina, por exemplo: Somar dois números; copiar um conjunto de dados de uma parte da memória para outra; verificar o resultado se uma operação é zero.

5 Máquina Multinível - Computador Juntas, as instruções primitivas do computador, formam uma linguagem que torna possível as pessoas se comunicarem com o computador. Tal linguagem é denominada linguagem de máquina. Linguagem de Máquina é o conjunto finito de instruções, que os circuitos eletrônicos de um determinado computador pode reconhecer e executar diretamente (é a linguagem de programação que a máquina realmente entende). As instruções primitivas são tão simples quanto possível, consistentes com o uso pretendido e necessidades de desempenho, a fim de reduzir a complexidade e o custo da eletrônica empregada.

6 Máquina Multinível - Computador Como a maioria das linguagens de máquina são muito simples, é difícil e tedioso utilizá-las. Este problema pode ser resolvido de duas maneiras principais, ambas envolvendo o projeto de um novo conjunto de instruções de uso mais conveniente para as pessoas do que o conjunto de instruções embutidas da máquina. Juntas, estas novas instruções formam uma linguagem que chamaremos de L2, exatamente como as instruções embutidas de máquina formam uma linguagem, que chamaremos de L1.

7 Máquina Multinível - Computador Os dois conceitos diferem na maneira com que os programas escritos em L2 são executados pelo computador, que pode apenas executar programas escritos em sua linguagem de máquina, L1. 1ª Alternativa: Tradução Método que consiste na substituição de cada instrução do programa escrito na linguagem L2 por uma sequência de instruções equivalente na linguagem L1. O computador executa o programa em L1.

8 Máquina Multinível - Computador 2a Alternativa: Interpretação Método onde um programa escrito na linguagem L1 recebe os programas escritos em L2, e cada instrução em L2 é executada por uma sequência equivalente em L1. O computador executa o programa em L1. Comparação entre Tradução e Interpretação: Similares. Ambas executam sequências equivalentes em L1 de cada instrução em L2. Na tradução, o programa em L2 é descartado, obtendose um programa equivalente em L1.

9 Máquina Multinível - Computador Em vez de pensar em termos de tradução e interpretação, é muitas vezes mais adequado imaginar a existência de um computador hipotético ou máquina virtual cuja linguagem de máquina seja L2. Máquina Virtual: é um computador hipotético de linguagem de máquina de um nível mais elevado do que a linguagem inerente do computador. Pode-se escrever programas para máquinas virtuais como se elas realmente existissem. Pode-se ter também máquinas virtuais baseadas em outras máquinas virtuais.

10 Máquina Multinível - Computador Para tornar práticas a tradução e a interpretação, as linguagens L1 e L2 não devem ser "muito" diferentes. Esta restrição significa muitas vezes que L2, embora melhor que L1, estará ainda longe do ideal para a maioria das aplicações. E isso é desencorajante em vista do objetivo original de criar L2, que é livrar o Programador da carga de ter que expressar os algoritmos em uma linguagem mais adequada às máquinas do que às pessoas. A solução óbvia é criar um outro conjunto de instruções que seja mais dirigido às pessoas e menos dirigido à máquina do que aquele de L2.

11 Máquina Multinível - Computador Este terceiro conjunto também constitui uma Linguagem, que chamaremos L3. Podem-se escrever programas em L3 como se uma máquina virtual cuja Linguagem de máquina fosse L3 realmente existisse. Tais programas podem tanto ser traduzidos para L2 quanto executados por um interpretador. A invenção de toda uma série de linguagens, cada uma delas mais conveniente do que suas predecessoras, pode continuar indefinidamente até que uma adequada seja finalmente conseguida. Cada Linguagem utiliza sua predecessora como base, assim temos um computador que utiliza esta técnica como uma série de camadas ou níveis, um sobre o outro.

12 Máquina Multinível - Computador Máquina Multinível: é um computador que possui máquinas virtuais dispostas em camadas ou níveis, umas sobre as outras. Cada linguagem utiliza a sua predecessora como base.

13 Máquina Multinível - Computador Considerações Sobre Máquinas Virtuais: Se uma máquina de linguagem L2 pudesse ser construída a um custo baixo, a máquina de linguagem L1 não existiria. As linguagens L1 e L2 não devem ser muito diferentes, para facilitar a tradução/interpretação. Cada máquina virtual ou real tem a sua linguagem de máquina (instruções que a máquina é capaz de executar). O programador de um determinado nível não precisa conhecer os níveis inferiores. O termo Organização Estrutural de Computadores vem desta forma de se visualizar o computador, como um conjunto hierárquico de níveis.

14 Máquina Multinível - Computador Uma pessoa cujo trabalho fosse escrever programas para a máquina virtual de nível n não precisaria estar ciente dos interpretadores e tradutores subjacentes. A estrutura da máquina assegura que estes programas serão de algum modo executados. A maioria dos programadores que utilizam uma máquina de nível n está apenas interessada no nível do topo, que lembra o mínimo possível a linguagem de máquina situada lá embaixo. As pessoas interessadas em projetar novos computadores ou novos níveis (isto é, novas máquinas virtuais) devem também estar familiarizadas com outros níveis além do nível do topo.

15 Máquinas Multiníveis Máquinas Modernas A maioria dos computadores modernos possui dois ou mais níveis. Máquinas com seis ou mais níveis são as mais comuns, quando se trata de computação; são eles: Nível de lógica digital; Nível de microprogramação ou microarquitetura; Nível convencional de máquina; Nível de sistema operacional; Nível de linguagem de montagem; Nível de linguagem orientada à programação.

16 Máquinas Multiníveis Máquinas Modernas A maioria dos computadores modernos possui dois ou mais níveis. Máquinas com seis ou mais níveis são as mais comuns, quando se trata de computação; são eles: Nível de lógica digital; Nível de microprogramação ou microarquitetura; Nível convencional de máquina; Nível de sistema operacional; Nível de linguagem de montagem; Nível de linguagem orientada à programação.

17 Máquinas Multiníveis Máquinas Modernas

18 Máquinas Multiníveis Máquinas Modernas Nível 0 nível de Lógica Digital: Composto por circuitos lógicos digitais. Os objetos de interesse são as portas lógicas. Portas básicas: NAND, NOR (portas completas); NOT, AND, OR e XOR. Formam os elementos primários dos circuitos lógicos do computador.

19 Máquinas Multiníveis Máquinas Modernas Nível 1 Nível de Microarquitetura: É nesse nível que se inicia o conceito de programa como uma sequência de instruções a serem executadas diretamente pelos circuitos eletrônicos. É o nível real de linguagem de máquina. Cada computador tem seu nível de microprogramação. Em geral, o número de instruções (micro-instruções) não ultrapassa 20. Maior parte: movimentação de dados. Possui microprogramas executados neste nível: define uma linguagem de nível 2 e Interpreta as instruções de nível 2.

20 Máquinas Multiníveis Máquinas Modernas Nível 2 Nível de Máquina Convencional: A arquitetura varia conforme a tecnologia usada pelo fabricante do chip. Deve ser o mais simples possível, para facilitar projeto do hardware. Deve facilitar a geração de código por parte do compilador. Projeto do nível de linguagem de máquina deve dar suporte aos níveis superiores, possibilitando o uso de estruturas de dados tais como procedimentos, variáveis locais, variáveis globais, constantes, etc., utilizados pelas linguagens de alto nível.

21 Máquinas Multiníveis Máquinas Modernas Nível 3 Nível do Sistema Operacional: Esse nível suporta um conjunto de novas instruções, uma organização diferente da memória, a capacidade de rodar dois ou mais programas de forma simultânea, entre outros. Fornece serviços básicos para os níveis acima: Interface (gráfica ou linha de comando) com o usuário;; Gerenciamento de memória; Escalonamento de processos; Acionamento de dispositivos de entrada e saída de dados, etc.

22 Máquinas Multiníveis Máquinas Modernas Nível 3 Nível do Sistema Operacional: Geralmente é desenvolvido de forma híbrida, ou seja, parte em uma linguagem de alto nível (como C ou C++, por exemplo), e parte em linguagem de montagem. Programadores deste nível, e também dos níveis mais baixos, são conhecidos como programadores de sistema. Os programadores dos níveis mais altos que este são chamados programadores de aplicação.

23 Máquinas Multiníveis Máquinas Modernas Nível 4 Nível de Linguagem de Montagem: Uma forma simbólica de representação das linguagens dos níveis mais baixos. Provê um método para as pessoas escreverem programas para os níveis 1, 2, e 3 de uma maneira não tão desconfortável. Os programas escritos em linguagem de montagem (Assembly) são traduzidos para as linguagens de nível 1, 2 ou 3 e interpretados pela máquina virtual ou real. Quem faz a tradução é o programa montador.

24 Máquinas Multiníveis Máquinas Modernas Nível 4 Nível de Linguagem de Montagem: Uma forma simbólica de representação das linguagens dos níveis mais baixos. Provê um método para as pessoas escreverem programas para os níveis 1, 2, e 3 de uma maneira não tão desconfortável. Os programas escritos em linguagem de montagem (Assembly) são traduzidos para as linguagens de nível 1, 2 ou 3 e interpretados pela máquina virtual ou real. Quem faz a tradução é o programa montador.

25 Máquinas Multiníveis Máquinas Modernas Nível 4 Nível de Linguagem de Montagem: Razões para uso da linguagem de montagem: Melhorar o desempenho. Algumas máquinas podem não ter um compilador disponível. Cada comando em linguagem resulta em um comando em linguagem de máquina: uma linha de programa fonte = uma linha de programa objeto. Ao contrário da programação em alto nível, o programador de linguagem de montagem dispõe de todos os recursos do Nível 2 Nível de Máquina Convencional. Programa não portável (válido apenas para uma mesma família de processadores).

26 Máquinas Multiníveis Máquinas Modernas Nível 5 Nível de Linguagem de Alto Nível: Linguagens projetadas para serem utilizadas por programadores de aplicação com problemas a serem resolvidos. Exemplos de linguagens de alto nível: Basic, C, Cobol, Fortran, Lisp, Pascal, C++, Python, Java, etc. Os programas escritos nessas linguagens são geralmente traduzidos para o nível 3 ou nível 4 por tradutores conhecidos como compiladores, embora às vezes sejam interpretados (como no caso de Java e Python).

27 Máquinas Multiníveis Máquinas Modernas Nível 6 Mais Níveis? Acima do nível 5 encontram-se coleções de programas projetados para criar máquinas especialmente adequadas para certas aplicações (ou domínios), contendo grandes quantidades de informação acerca da aplicação ou características específicas; Máquinas virtuais voltadas às aplicações: administração, educação, projeto de computadores, realidade virtual, etc.;

28 Máquinas Multiníveis Considerações Computadores são projetados como uma série de níveis. Cada nível é construído em cima de seus antecessores. Cada nível representa uma abstração distinta, com diferentes objetos e operações presentes. A abstração permite ignorar, "abstrair", temporariamente detalhes irrelevantes, de níveis mais baixos, reduzindo uma questão complexa a algo muito mais fácil de ser entendido: Arquitetura do Nível representa o conjunto de tipos de dados, instruções e características do nível.

29 Máquinas Multiníveis Considerações

30 Padrão Von Neumann Matemático húngaro, naturalizado norte-americano, propôs nos anos 40 do século XX, um padrão de arquitetura de computadores que ainda hoje é seguido, sendo hoje em dia altamente pesquisada uma alternativa a esse padrão. A característica de máquinas Von Neumann é a composição do sistema a partir de três subsistemas básicos: CPU; Memória principal; Sistema de entrada e saída;

31 Hardware, Software e Máquinas Multinível O hardware é composto de objetos tangíveis - circuitos integrados, cabos, fontes de alimentação, memórias, leitoras de cartões, impressoras e terminais - em lugar de ideias abstratas, algoritmos ou instruções. O software, ao contrário, consiste em algoritmos (instruções detalhadas que dizem como fazer algo) e suas representações para o computador, ou seja, os programas. Os programas podem estar representados em cartões perfurados, fita magnética, filme fotográfico e outros meios, mas a essência do software está no conjunto de instruções que constitui os programas, não nos meios físicos sobre os quais eles estão gravados.

32 Hardware, Software e Máquinas Multinível O hardware é composto de objetos tangíveis - circuitos integrados, cabos, fontes de alimentação, memórias, leitoras de cartões, impressoras e terminais - em lugar de ideias abstratas, algoritmos ou instruções. O software, ao contrário, consiste em algoritmos (instruções detalhadas que dizem como fazer algo) e suas representações para o computador, ou seja, os programas. Os programas podem estar representados em cartões perfurados, fita magnética, filme fotográfico e outros meios, mas a essência do software está no conjunto de instruções que constitui os programas, não nos meios físicos sobre os quais eles estão gravados.

33 Hardware, Software e Máquinas Multinível Um tema central que sempre aparecerá é: Hardware e software são logicamente equivalentes. Qualquer operação efetuada pelo software pode também ser implementada diretamente em hardware, e qualquer instrução executada pelo hardware pode também ser simulada pelo software. A decisão de se colocar certas funções em hardware e outras em software baseia-se em fatores tais como: custo, velocidade, confiabilidade e frequência esperada de alterações. Não há regras rígidas e diretas para se dizer que X deve ser implementado em hardware e Y deve ser programado explicitamente.

34 Hardware, Software e Máquinas Multinível O fato de o programador não estar ciente de como o nível que ele está utilizando é implementado leva ao conceito de projeto estruturado de máquinas. Um nível é muitas vezes chamado de máquina virtual porque o programador pensa nele como uma máquina física real, mesmo se ela não existir realmente. Estruturando uma máquina como uma série de níveis, os programadores que trabalham no nível n não precisam saber de todos os detalhes dos níveis inferiores. Esta estruturação simplifica enormemente a produção de máquinas (virtuais) complexas.

35 Bibliografia Básica MONTEIRO, M. A. Introdução à organização de computadores. 5ª ed. Rio de Janeiro: Livros Técnicos e Científicos: GEN: São Paulo: STALLINGS, William. Arquitetura e organização de computadores : projeto para o desempenho. 8. ed. São Paulo Prentice Hall Brasil BARGER, Robert N. Ética na computação : uma abordagem baseada em casos. Rio de Janeiro Bibliografia Complementar: NASH, Laura L. Ética nas empresas. São Paulo Makron Books 2001.

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon [email protected] [email protected] http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

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

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

Leia mais

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

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

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Arquitetura e Organização de computadores

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

Leia mais

Aula 06 - Máquina Multinível e Von Neumann

Aula 06 - Máquina Multinível e Von Neumann Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Instalação e Organização de Computadores Aula 06 - Máquina Multinível e Von Neumann Prof. Diego Pereira

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Tema: Máquinas multiníveiscontemporâneas: Nível de linguagem de montagem. Alunos: RA: TURMA: Maikon Quirino dos santos C70JJI-5 SI5P30 José de Ribamar C65548-1 SI5P30 Silvana

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃ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 mais

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. O uso do computador Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. Exemplos: Modelos meteorológicos. Cálculo estrutural.

Leia mais

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1. a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1. Estruturada 2. Orientada a eventos 3. Orientada a objetos d) Sistemas Operacionais

Leia mais

Introduçã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 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 mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais CAP 2: Conceitos de Hardware e Software Prof. MSc. Diego R. Moraes [email protected] Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads

Leia mais

CP Introdução à Informática Prof. Msc. Carlos de Salles

CP Introdução à Informática Prof. Msc. Carlos de Salles CP 1015.1 Prof. Msc. Carlos de Salles PROGRAMA 1. CONCEITO DE SISTEMAS 1.1 Sistemas e sua classificação 1.2 Informações e Dados 1.3 O Processamento de Dados 1.4 O Computador e sua História 2. ESTRUTURA

Leia mais

Sistema Computacional

Sistema Computacional Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes [email protected] O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Alexandre Meslin ([email protected]) Objetivo do Curso Apresentar os conceitos básicos de informática, de software e de hardware. Introduzir os conceitos relativos à representação

Leia mais

Programação de Computadores I - PRG1 Engenharia Elétrica

Programação de Computadores I - PRG1 Engenharia Elétrica Programação de Computadores I - PRG1 Engenharia Elétrica Edilson Hipolito da Silva [email protected] - http://www.hipolito.info Aula 03 - Conceitos: Hardware, Software, Sistema Operacional Roteiro

Leia mais

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

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

Leia mais

Introdução à Computação MAC0110

Introduçã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 mais

Programação Estruturada Aula - Introdução a Linguagem de Programação

Programação Estruturada Aula - Introdução a Linguagem de Programação Programação Estruturada Aula - Introdução a Linguagem de Programação Prof. Flávio Barros [email protected] www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR

Leia mais

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA Informática Aplicada 2009.2 Campus Angicos LISTA DE EXERCÍCIOS 01 Professor: Araken de Medeiros Santos INTRODUÇÃO À INFORMÁTICA 1. Cite alguns problemas que o uso de válvulas provocava nos computadores

Leia mais

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Programação de Computadores Fabricação Mecânica Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva [email protected] - http://www.hipolito.info Aula 03 - Conceitos: Hardware, Software, Sistema Operacional

Leia mais

Arquitetura de Von Neumann

Arquitetura de Von Neumann Arquitetura de Von Neumann Leandro Tonietto Algoritmos e Programação em C++ Curso de Segurança da Informação [email protected] http://www.inf.unisinos.br/~ltonietto/tsi/apc/arqvonneumann.pdf Fev-2008

Leia mais

Introdução a Programação

Introdução a Programação Introdução a Programação Prof. André Gustavo Duarte de Almeida [email protected] docente.ifrn.edu.br/andrealmeida Aula 01 Informática e a Programação Roteiro Informática Pensar e Programar Atividades

Leia mais

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Sistema Computacional Peopleware (usuário) Software (programas) Hardware (máquina) Hardware Corresponde à parte material, aos componentes

Leia mais

Organização Estruturada de Computadores

Organização Estruturada de Computadores 1 / 37 Erick Nilsen Pereira de Souza T002 - Sistemas Operacionais e Org. Computadores Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 8 de janeiro de 2015 2 / 37 Agenda Tópicos

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Paradigmas para linguagens de Programação

Leia mais

Gerência de Dispositivos. Adão de Melo Neto

Gerê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 mais

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES ESSA APRESENTAÇÃO POSSUI QRCODE PARA ACESSAR INFORMAÇÕES ADICIONAIS AOS SLIDES. Código QR Reader Código QR OLHANDO UM COMPUTADOR PELO LADO DE FORA

Leia mais

Sistemas Operacionais

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

Leia mais

Introduçã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 Colegiado de Engenharia de Computação Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?

Leia mais

MC-102 Aula 01. Instituto de Computação Unicamp

MC-102 Aula 01. Instituto de Computação Unicamp MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Conceito de Algoritmo Pseudocódigo Tipos de

Leia mais

Projeto de Algoritmos

Projeto de Algoritmos Projeto de Algoritmos Introdução aos Sistemas Computacionais Prof. Ernani Viriato de Melo / Reginaldo Costa http://www.ernani.eti.br http://reginaldofazu.blogspot.com 2º Semestre - 2008 Conceitos Básicos

Leia mais

Introdução à Computação

Introduçã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 [email protected] Histórico da Computação Prof. Yandre

Leia mais

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke [email protected] Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (

Leia mais

Informática I. Aula /09/2006 1

Informática I. Aula /09/2006 1 Informática I Aula 3 http://www.ic.uff.br/~bianca/informatica1/ 06/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação de Dados

Leia mais

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura Introdução Organização e Arquitetura INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Eduardo Max Amaro Amaral Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número

Leia mais

Algoritmos e Técnicas de Programação. Professora Luciana Faria

Algoritmos e Técnicas de Programação. Professora Luciana Faria Algoritmos e Técnicas de Programação Professora Luciana Faria [email protected] Conceitos Básicos Computadores??? Máquina composta de elemento físicos do tipo eletrônico É uma máquina

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Arquitetura de Computadores. Infraestrutura de TI: Hardware

Arquitetura de Computadores. Infraestrutura de TI: Hardware Arquitetura de Computadores Infraestrutura de TI: Hardware Computação Informação + Automação Tratamento dos dados em informação por meios automáticos Dispositivos eletrônicos Aplicados em Computadores,

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃ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 mais

AGT0001 Algoritmos Aula 01 O Computador

AGT0001 Algoritmos Aula 01 O Computador AGT0001 Algoritmos Aula 01 O Computador Karina Girardi Roggia [email protected] Departamento de Ciência da Computação Centro de Ciências Tecnológicas Universidade do Estado de Santa Catarina 2016

Leia mais

2. Conceitos Básicos. Introdução à Ciência da Computação.

2. Conceitos Básicos. Introdução à Ciência da Computação. 2. Conceitos Básicos Introdução à Ciência da Computação http://www.inf.unioeste.br/~claudia/icc2017.html Sumário Computador Processamento de dados Hardware Software Sistemas Arquivos Modalidades de Computadores

Leia mais

Informática I. Aula 2. Ementa

Informática I. Aula 2.  Ementa Informática I Aula 2 http://www.ic.uff.br/~bianca/informatica1/ Aula 2-29/08/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e

Leia mais

INTRODUÇÃO. Introdução a Informática. Vinícius Pádua

INTRODUÇÃO. Introdução a Informática. Vinícius Pádua INTRODUÇÃO Introdução a Informática Introdução Para que serve o computador? Word, Filme, Facebook,... Resolver problemas do usuário Coletar, manipular e fornecer os resultados Processamento eletrônico

Leia mais

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

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

Leia mais

Unidade I. Organização de Computadores. Prof. Renato Lellis

Unidade I. Organização de Computadores. Prof. Renato Lellis Unidade I Organização de Computadores Prof. Renato Lellis O que é um computador? Computador Datação 1789 cf. MS1 Acepções substantivo masculino 1 o que computa; calculador, calculista 2 Rubrica: informática.

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento 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 mais

Arquitetura de Computadores

Arquitetura 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 mais

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES Tecnologia da informação e comunicação INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES ESSA APRESENTAÇÃO POSSUI QRCODE PARA ACESSAR INFORMAÇÕES ADICIONAIS AOS SLIDES. Código QR Reader Código

Leia mais

Gerência de Dispositivos. Adão de Melo Neto

Gerê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 mais

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Existem 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 mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais 1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas

Leia mais

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos Introdução Computador Máquina destinada a realizar cálculos complexos. Matéria Prima Série de atividades

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tó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 [email protected] Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

O Sistema de Computação

O Sistema de Computação O Sistema de Computação Arquitetura de Computadores Prof. Vilson Heck Junior O Sistema de Computação INTRODUÇÃO Introdução Sistemas Computacionais podem ser divididos em camadas: Aplicativos Sistema Operacional

Leia mais

Sistemas Operacionais. Visão Geral

Sistemas Operacionais. Visão Geral Sistemas Operacionais P R O F. B R U N O A L B U Q U E R Q U E S C R I G N O L I Visão Geral Organização da Apresentação Introdução Componentes de um Sistema de Computação Conceito de SO Objetivos de um

Leia mais

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela Aula 1: Introdução aos Sistemas Operacionais Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela Pensando melhor... Porque cursar a disciplina de S.O.? A disciplina é obrigatória!

Leia mais

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01 Laboratório de Utilização de Microcomputadores (DCA0302) Diogo Pedrosa Hardware Aula 01 Computador Combinação de diversos dispositivos e circuitos digitais que podem executar uma seqüência de operações

Leia mais

Capítulo 1. Aspectos Preliminares

Capítulo 1. Aspectos Preliminares Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de

Leia mais

Introdução a Computação

Introdução a Computação O que é um computador? Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados. (F. K. Miyazawa) Um computador é composto por: Introdução

Leia mais

Compiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38

Compiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38 Compiladores Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Fevereiro, 2017 1 / 38 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROFESSOR CARLOS MUNIZ

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROFESSOR CARLOS MUNIZ INTRODUÇÃO À TECNOLOGIA DA PROFESSOR CARLOS MUNIZ A arquitetura básica de qualquer computador completo, seja um PC, um Machintosh ou um computador de grande porte, é formada por apenas 5 componentes básicos:

Leia mais

Informática: termo que provém da contração das palavras Informação. Processamento de dados: operações que se praticam com dados.

Informática: termo que provém da contração das palavras Informação. Processamento de dados: operações que se praticam com dados. Informática: termo que provém da contração das palavras Informação automática. É a ciência que estuda o tratamento automático e racional da informação. Principais funções: - desenvolvimento de novas máquinas

Leia mais

Introdução ao Fortran 90

Introdução ao Fortran 90 Introdução ao Fortran 90 Departamento de Física UFPel Pré-História 1943-1953: Computador com Programa Fixo ENIAC (Electronic Numerical Integrator and Computer) Início do Projeto: 1943 Projeto Completo:

Leia mais

Introdução à Computação MAC0110

Introduçã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) Máquina universal de Turing criada em 1936 por Alan Turing, fundamento teórico para

Leia mais

Microcomputadores. É época de Natal. Um pai sai em busca dos presentes, entre eles o do filho, o tão ansiado videogame.

Microcomputadores. É época de Natal. Um pai sai em busca dos presentes, entre eles o do filho, o tão ansiado videogame. A UU L AL A Microcomputadores É época de Natal. Um pai sai em busca dos presentes, entre eles o do filho, o tão ansiado videogame. Um problema A onda agora são os videogames, os CD-ROMS, equipamentos de

Leia mais

Autômatos e Linguagens

Autômatos e Linguagens Autômatos e Linguagens Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Agosto, 2016 1 / 41 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores

Leia mais

Informática Básica e Aplicativos de Escritório

Informática Básica e Aplicativos de Escritório Informática Básica e Aplicativos de Escritório Computadores: Ferramentas para a Era da Informação Professor: Charles Leite Forjando uma Sociedade Baseada em Computadores Bases tradicionais da economia:

Leia mais