ORGANIZAÇÃO DE COMPUTADORES

Documentos relacionados
AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

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

ORGANIZAÇÃO DE COMPUTADORES

Sistemas Operacionais

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

Aula 3 Máquina Multinível

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

AGT0001 Algoritmos Aula 01 O Computador

Introdução à Organização e Arquitetura de Computadores (Parte I)

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

Prof. Sandro Wambier

Sistemas Operacionais. Adão de Melo Neto

SSC510 Arquitetura de Computadores 1ª AULA

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

Organização de Sistemas de Computadores

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

Organização de Sistemas Computacionais Processadores: Organização da CPU

Sistemas Operacionais. Visão Geral

Sistemas Operacionais I

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

Arquitetura e Organização de computadores

Arquitetura de Von Neumann

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

Introdução à Computação

Infraestrutura de Hardware. Funcionamento de um Computador

Arquitetura de Computadores

Introdução à Informática Engenharia Agrícola

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Organização e Funcionamento

Sistemas Operacionais. Conceitos de Hardware

Introdução à Computação

Introdução à Computação

Introdução ao Fortran 90

Professor: M. Sc. Cristiano Mariotti

INFORMÁTICA: Informação automática

Algoritmos Computacionais

Informática básica. Professor: Francisco Ary

Unidade de Controle. UC - Introdução

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais

Introdução aos Computadores e Programação

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

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

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

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

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

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

14/3/2016. Prof. Evandro L. L. Rodrigues

Informática I. Aula /09/2006 1

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade.

Introdução à Computação: Arquitetura von Neumann

Computadores e Programação (DCC/UFRJ)

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

Montagem e Manutenção de Computadores

Arquitetura de Computadores

Organização e Arquitetura de Computadores. Hugo Barros

Informática básica. Professor: Francisco Ary


Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Métodos de implementação de linguagens. Kellen Pinagé

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

2. A influência do tamanho da palavra

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Estrutura Básica de um Computador

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

Estruturas de Sistemas Operacionais

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

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM INTRODUÇÃO A SISTEMAS DIGITAIS. Lista de Exercícios 01

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

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 02: INTRODUÇÃO

Os computadores foram construídos inicialmente para fins militares.

Arquitetura e Organização de computadores

SSC0112 Organização de Computadores Digitais I

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

Arquitetura de Um Computador

4 Sistema Computacional:

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

Elementos básicos de uma Arquitetura Computacional

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

Arquitetura de Computadores. Infraestrutura de TI: Hardware

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Arquiteturas RISC e CISC. Adão de Melo Neto

Organização e Arquitetura de Computadores I

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Linguagens de Programação Classificação

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

INTRODUÇÃO AOS SISTEMAS LÓGICOS INTRODUÇÃO

Objetivos da disciplina. Alguns pontos importantes: Introdução à Computação 29/02/2016. Apresentação:

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

SSC304 Introdução à Programação Para Engenharias

Evolução dos computadores

Sistema Computacional

MANUTENÇÃO DE COMPUTADORES

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

ORGANIZAÇÃO DE COMPUTADORES

Informática básica. Professor: Francisco Ary

Componentes de um Computador Típico

Transcrição:

Organização de es ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Índice Objetivo do curso Evolução histórica Introdução a Linguagens de Nível Linguagens de Nível 1

Objetivo Conhecer a organização interna dos computadores, para análise da otimização do uso de seus componentes em aplicações das áreas de: Informação Comunicação Processos de controle. é uma maquina capaz de variados tipos de tratamento automático de informações ou processamento de dados. Exemplos de computadores incluem: Ábaco Calculadora analógico digital Em geral, entende-se por computador um sistema físico que realiza algum tipo de computação. 2

Componentes de um computador digital Processador Memória principal Registradores Terminais Impressoras Discos magnéticos Os dispositivos manipulam dados de forma digital, gerando confiabilidade na informação. Os componentes do computador são agrupados em três componentes básicos: Unidade Central de Processamento (CPU) Memória Principal Dispositivo de entrada e Saída CPU Memória Principal Dispositivo de Entrada e Saída 3

Atributos do computador Armazenamento de dados Processamento de dados Cálculos em grande escala Desenho industrial Tratamento de imagens gráfica Realidade virtual Entretenimento Cultura O possui quatro funções básica: Processamento de dados Grande variedade de tipos de dados Grande variedade de requisitos Armazenamento de dados Armazenar dados (mesmo para processar dados de entrada e enviar diretamente para saída) Armazenar dados de maneira permanente Transferência de dados (Tanto internamente quanto ao mundo externo ao computador) E/S Transferência de dados a dispositivos conectados ao computador(periféricos) Comunicação de dados Transferência por distância maiores Controle Indivíduo que fornecem instruções ao computador Unidade que gerencia os recursos do computador e rege o desempenho das suas partes funcionais em resposta a essas instruções 4

Visão funcional do Recursos de Processamento de dados Ambiente de Operação Mecanismo de transferência de dados Mecanismo de controle Recurso de armazenament o de dados Operações possíveis em um computador Trans ferên cia Trans ferên cia Trans ferên cia Trans ferên cia Contr ole Contr ole Contr ole Contr ole Mem ória Proc essa ment o Mem ória Proc essa ment o Mem ória Proc essa ment o Mem ória Proc essa ment o Transferência de dados de um periférico ou de uma linha de comunicação para outro Armazenamento de dados (ambiente externo para memória ou vice-versa Processamento de dados com informações da memória Processamento de dados entre a memória e o ambiente externo 5

Possui comunicação com o ambiente externo Através de periféricos Linhas de comunicação Periféricos COMPUTADOR Armazenamento Processamento Linhas de comunicação Há quatro principais componentes estruturais (visão de alto nível) Comput ador Transfere dados entre o computador e o ambiente externo Entrada /Saída Memória Principal Armazena dados Sistema de Intercone xão Estabelece a comunicação entre a CPU, a Memória Principal e os dispositivos de E/S Unidade Central de Processam ento Controla a operação do computador e desempenha funções de processamento de dados 6

Pode haver mais de cada componente demonstrado anteriormente Há um crescimento de sistema utilizando vários processadores Visão geral de uma maquina convencional 7

Breve descrição do Hardware de um computador convencional CPU ou unidade central de processamento. É o elemento responsável pela execução dos programas Registradores: São os responsáveis por armazenar os dados que estão sendo executados dentro da CPU. São dispositivos de armazenamento temporário e de alta velocidade. ULA (Unidade Lógica e Aritmética): Responsável por realizar as operações lógicas (or, and, not) e aritméticas (soma, subtração, adição e multiplicação) sobre os conteúdos dos registradores UC (Unidade de Controle): É o componente inteligente do computador, que contém o microprograma, responsável por todo o funcionamento do hardware. O microprograma contém uma sequência de microinstruções, que são disparadas sobre o hardware, ativando seus componentes a cada 1 ou mais pulsos de clock. Basicamente as três fases desse micropograma são: busca da instrução, decodificação da instrução e execução da instrução. Memória: É um dispositivo de armazenamento de dados, onde carregamos todos os programas a serem executados pela CPU. A memória é composta por uma sequência de palavras, onde cada palavra possui um ou mais bytes (assim como os registradores) e é acessada por um endereço (posição). Dois tipos de operações podem ser efetuadas no sistema de memória: leitura e escrita de dados. Quando um programa é carregado na memória, ele deve estar em linguagem de máquina (código binário), específico do hardware em questão. Suas instruções são colocadas em sequência nas posições da memória. Então, a UC começa o ciclo de execução do programa, buscando suas instruções uma a uma, decodificando e executando-as. Dispositivos Periféricos ou de Entrada/Saída: São dispositivos que permitem comunicação entre a cpu e o mundo externo (impressora, monitor, teclado, mouse, leitor de barras, etc.). Cada dispositivo possui um circuito controlador (chip) que é responsável por acessar o dispositivo em suas operações mais elementares, através de linguagem de máquina. O sistema operacional implementa rotinas que tratam dos dispositivos (devices, drivers) que desempenham funções mais elaboradas. Barramento: São linhas de comunicação entre os componentes do hardware. Estas linhas de comunicação transportam dados, endereços e controle. Todos os dispositivos do hardware são conectados no barramento e todos tem acessos as informações que nele são colocadas. Cabe a cada dispositivo identificar quando que a informação é sua. Isto pode ser feito pelas linhas de endereçamento (cada dispositivo possui um endereço) ou pelas linhas de controle. Introdução Digital é uma máquina capaz de solucionar problemas através da execução de instruções que lhe são fornecidas. Programa é uma sequência de instruções que descrevem como executar uma determinada tarefa. Instruções de Máquina são Instruções que o computador é capaz de reconhecer e executar, para o qual todos os programas devem ser convertidos antes que eles possam ser executados. Em geral são instruções simples: Realizar uma somar Movimentar uma informação de uma parte da memória para outa Realizar uma verificação ( O número é 1?) 8

Introdução Linguagem ou código de maquina é o conjunto de instruções que o seu processador consegue entender. Observações No passado para desenvolver nesse tipo de linguagem o programador tinha que conhecer profundamente o hardware e programar através de fios. Os programas eram carregados diretamente na memória principal para execução. Esta muito distante de uma linguagem humana Linguagem complexa Introdução Um computador visto somente como um gabinete, placas e fios (hardware), não possui utilidade, é através de programas (softwares) que o computador é capaz de realizar impressões, gerar relatórios. Nos primeiros computadores a programação era gerada em painéis, através de fios, exigindo um grande conhecimento do hardware e de sua linguagem de máquina. O que era uma grande dificuldade para os programadores da época. A solução para esse problema foi a criação do sistema operacional, o que permitiu uma maior aproximação entre o usuário e o computador. 9

Introdução Considerando o hardware e o sistema operacional, podemos considerar o computador como uma maquina de nível ou camada, onde temos demostrado o nível 0 (hardware) e o nível 1 (sistema operacional). Sistema Operacional Hardware Linguagens e Níveis Proposição de linguagem L1 (Linguagem de máquina) L2 (Linguagem humana) Para alcançarmos a linguagem de maquina precisamos de um de interface entre a necessidade do usuário (L2) e o hardware (L1). Tradutor (Compilador ou Montador): É o utilitário responsável por gerar, a partir de um programa escrito em uma linguagem de alto nível, um programa em linguagem de máquina não executável. Gera um módulo-objeto Exemplos de linguagens que possuem compiladores: Pascal, Foltran, Cobol... Interpretadores: A partir de um programa-fonte, no momento da execução do programa, traduz cada instrução e a executa em seguida. Não gera módulo-objeto. Exemplo de linguagens tipicamente interpretadas são o Basic, dbase,... 10

Linguagens e Níveis Tradutor Vantagens Desvantagens Permite estruturas de programação mais complexas, Correção de erros mais difícil. Compilador otimizando o código. Não permite correções Gera arquivo-executável, dinamicamente. permitindo maior autonomia e segurança do código-fonte. Necessita de várias etapas de tradução do códigofonte. Execução mais rápida. Consome muita memória. Consome pouca memória. Execução lenta. Permite estruturas dinâmicas Não gera arquivo executável, Interpretador de programação. o que diminui a Tradução em uma única etapa. segurança do códigofonte. Linguagens e Níveis Podemos considerar um solução onde a houvesse um computador hipotético ou uma maquina virtual M2 cuja linguagem de maquina seja L2, e uma maquina física real M1 cuja linguagem de maquina é L1. Muitos níveis de máquinas virtuais podem ser implementados. Cada linguagem usa a sua linguagem antecessora como base, de modo que um computador que use essa técnica pode ser visto como um conjunto de camadas ou níveis um em cima do outro como mostra a figura que segue. Na prática as pessoas escrevem programas para máquinas virtuais como se elas realmente existissem. 11

Linguagens e Níveis Nível n Máquina Virtual Mn, com linguagem de máquina Ln Os programas em Ln ou são interpretados por um interpretador em execução em uma linguagem de máquina de nível inferior, ou são traduzidos para a linguagem de máquina de uma máquina de nível inferior. Nível 4 Máquina Virtual M4, com linguagem de máquina L4 Nível 3 Máquina Virtual M3, com linguagem de máquina L3 Os programas em L3 ou são interpretados por interpretadores em execução em M2 ou M1, ou são traduzidos para L2 ou L1. Nível 2 Máquina Virtual M2, com linguagem de máquina L2 Os programas em L2 ou são interpretados por interpretadores em execução em M1, ou são traduzidos para L1. Nível 1 Real M1, com linguagem de máquina L1 Os programas em L1 podem ser executados diretamente pelos circuitos eletrônicos. Máquina multinível contemporâneas Os computadores modernos possuem seis níveis. Nível 5 Nível 4 Nível 3 Nível 2 Nível 1 Nível 0 Aplicativos Utilitários Sistema Operacional Linguagem de Máquina Microprogramação (CISC) Dispositivos Físicos Tradução (compilador) Tradução (montador) Interpretação parcial (sistema operacional) Interpretação (microprograma) RISC Os microprogramas são executados diretamente pelo hardware 12

Máquina multinível contemporâneas Nível 0: Nível da Lógica Digital Nível mais baixo Tratamos os objetos como portas lógicas As portas lógicas possuem 1 ou mais entradas digitais. As portas calculam funções lógicas simples sobre essas entradas. Exemplo: AND, OR... Portas lógicas são combinadas para formar o Processador Nível 1: Nível da Microarquitetura Enxergamos os registradores e a Unidade Aritmética Lógica Operações são controladas por microprograma ou hardware. Microprograma é um interpretador para as instruções do nível 2. Máquina multinível contemporâneas Nível 2: Nível da Arquitetura do Conjunto de Instruções Definida pelo fabricante e dependente da arquitetura da máquina Os fabricantes descrevem através de manuais como as instruções são executadas interpretativamente pelo microprograma ou como elas são executadas diretamente pelo hardware Essas informações são necessárias para os desenvolvedores de sistemas operacionais Nível 3: Nível do Sistema Operacional A linguagem deste nível também podem conter instruções do nível ISA Pode executar dois ou mais programas simultaneamente Suporta janelas (Windows) ou Prompt de Comando (MSDOS) Programadores nesse nível e inferiores são conhecidos com programadores de sistemas 13

Máquina multinível contemporâneas Nível 4: Nível da linguagem do montador ou de montagem Linguagem de montagem: forma simbólica de representação das linguagens do nível mais baixo. Programas nessa linguagem são primeiro traduzidos para as linguagens dos níveis 1, 2 e 3 e depois interpretados pela máquina virtual apropriada ou pela própria máquina real. Programa que realiza essa tradução é chamado de montador Nível 5: Nível das linguagens orientadas para solução dos problemas Conhecidas como linguagens de alto nível. Exemplos Basic, C, Pascal, Java, LISP,... Programas são geralmente traduzidos para os níveis 3 e 4 por compiladores Alguns são interpretados: Exemplo: programas em Java, MatLab,... Evolução do computador Ano Nome Definição 500 a.c. Ábaco 1945 ENIAC 1980 IBM PC 2010 Tianhe-1A, É um instrumento muito simples, composto por um quadro com varetas e contas coloridas. Era utilizado por mercadores babilónicos para efetuarem cálculos aritméticos. O ENIAC (Electronical Numerical Integrator and Computer) mede 5,5 metros de altura por 25 metros de comprimento, pesa 30 toneladas, possuia 17 mil valvulas, a temperatura ambiente chegava a 67 Graus celcius e processa 300 multimpricações por segundo A IBM lançou a versão de computador pessoal (PC), estabelecendo um padrão para estes. O chip utilizado é o 80.086 da Intel operacional usado era MS-DOS, desenvolvimento pela empresa Microsoft. Processava 5 Mips Equipado com 7168 GPUs Nvidia Tesla e 14 336 processadores intel Xeon atingiu um processamento de 2,5 petaplops. Mais 14

Evolução do computador Tem sido caracterizado pelo Aumento da velocidade dos processadores Pela diminuição do tamanho dos componentes Pelo aumento da capacidade de memória Pelo aumento da velocidade de E/S. Aumento de velocidade Mudança na organização dos processadores Uso intensivo do pipeline Técnicas de execução paralela de instruções Balanceamento do desempenho dos diversos elementos Aumento da velocidade do processador é maior que da memória. Para compensar são utilizado técnicas (memória cache, vias de comunicação de dados Evolução do computador Ano Níveis 1940 Lógico digital e maquina convencional 1951 lógica digital, microprogramação e máquina convencional. 1950 Montadores e Compiladores 1960 Surgimento do nível de sistema opreracional 1970 Generalização da interpretação e nível de microprogramação 15

Organização de es ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 16