1 - Processamento de dados

Documentos relacionados
Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

Disciplina: Organização de computadores

Figura 1 - O computador

Introdução à Lógica de Programação

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Introdução à Programação 2006/07. Computadores e Programação

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Sistemas Computacionais II Professor Frederico Sauer

1. NÍVEL CONVENCIONAL DE MÁQUINA

3 Sistemas de Numeração:

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Curso Técnico em Redes

ARQUITETURA DE COMPUTADORES INTRODUÇÃO

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Informática I. Aula 5. Aula 5-13/05/2006 1

Curso EFA Técnico/a de Informática - Sistemas. Óbidos

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

1. Sistemas de numeração

3. O NIVEL DA LINGUAGEM DE MONTAGEM

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Lição 1 Introdução à programação de computadores


1. CAPÍTULO COMPUTADORES

Sistemas de Numeração

Introdução a Informática. Prof.: Roberto Franciscatto

ARQUITETURA DE COMPUTADORES

Organização e Arquitetura de Computadores I. de Computadores

Introdução à Programação de Computadores

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquitetura de Rede de Computadores

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

1.1. Organização de um Sistema Computacional

Informática I. Aula 4. Aula 4-11/09/2006 1

Edeyson Andrade Gomes

Programação de Computadores III

2. Representação Numérica

Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito da seguinte forma:

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Disciplina: Introdução à Informática Profª Érica Barcelos

Algoritmos e Linguagem de Programação de Computadores I

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 1

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Prof. Dr. Charlie Antoni Miquelin BÁSICO DE COMPUTAÇÃO EM TC

LÓGICA DE PROGRAMAÇÃO

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

ARQUITETURA DE COMPUTADORES

Introdução aos Computadores

3. Arquitetura Básica do Computador

Sistemas de numeração

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Programação de Computadores

Sistema de Computação

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

ULA Sinais de Controle enviados pela UC

Componentes do Computador e. aula 3. Profa. Débora Matos

Dadas a base e a altura de um triangulo, determinar sua área.

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Fabio Bento

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

Memórias Prof. Galvez Gonçalves

Aula 01 Introdução à Informática. Prof. Bruno Gomes

Algoritmos DCC 119. Introdução e Conceitos Básicos

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Sistemas de Numeração. Bases Numéricas e Conversão entre bases

PROGRAMADOR JAVA. Aula 0 20 semanas. Instrutor : Léo Billi leo.billi@gmail.com

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Aula 2 Modelo Simplificado de Computador

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Arquitetura de Computadores. Tipos de Instruções

Introdução à Arquitetura de Computadores IFES Campus Serra

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

BARRAMENTO DO SISTEMA

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo ("pipeline") Execução de programas

Exemplo de Subtração Binária

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

Informática, Internet e Multimídia

ALP Algoritmos e Programação. . Linguagens para Computadores

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

ARQUITETURA DE COMPUTADORES

Sistemas de Numeração

Sistemas Operacionais

Capítulo 1 Introdução

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

Curso de Hardware Aula 01 Tema: Sistema de Medidas Por: Edmilson de Oliveira Reis Revisado em: 02/03/2012

Notas de aula #1 SISTEMAS NUMÉRICOS

Sistemas de Numerações.

Orientação a Objetos

Transcrição:

Conceitos básicos sobre organização de computadores 2 1 - Processamento de dados O que é processamento? O que é dado? Dado é informação? Processamento é a manipulação das informações coletadas (dados). Dado é a "matéria-prima" originalmente obtida (etapa de coleta). Informação é o resultado do processamento (é o dado processado ou "acabado".

A informação subentende dados organizados (segundo uma orientação específica) para o atendimento ou emprego de uma pessoa ou grupo que os recebe. A tomada de decisão é importante em várias áreas e em diferentes níveis hierárquicos de uma organização, assim, a informação para uma determinada pessoa ou grupo pode ser considerada um dado para outra. Processamento de dados (data processing): é uma série de atividades ordenadamente realizadas, com o objetivo de produzir uma determinada informação. 3

Qualquer processamento de dados requer a execução de uma série de etapas, as quais podem ser realizadas de forma manual ou automática por um computado. 4 Essas etapas, elaboradas e executadas passo a passo, constituem o que se chama programa. Cada um dos passos mencionados é uma diferente instrução, ou ordem de comando, dada ao hardware, objetivando a realização de uma determinada ação (uma operação aritmética, uma transferência de informação, etc). O programa é o conjunto de instruções.

Um computador é capaz de reconhecer e executar diretamente apenas um conjunto limitado e simples de instruções de máquina. 5 Todo programa (escrito em Pascal, C, Delphi, Java, etc.) deve ser convertido para essas instruções antes de ser executado. Essas instruções são normalmente do tipo: Executar operações aritméticas sobre dois números; Executar operações lógicas de bits; Desviar a sequência de um programa; Fazer a comunicação com algum dispositivo de entrada ou saída de dados.

O computador precisa de "ordens" específicas (suas instruções) para executar as atividades. 6 As linguagens de programação são utilizadas para "possibilitar nossa comunicação com os computadores". 2 - Hardware e Software O hardware é a parte física do computador (hard significa duro, rígido). Hardware é o conjunto de componentes eletrônicos, circuitos integrados e placas, que se comunicam através de barramentos.

7

O software é a parte lógica. É o conjunto de instruções e dados processado pelos circuitos eletrônicos do hardware. 8 Toda interacção dos usuários de computadores é realizada através do software, que é a camada, colocada sobre o hardware, e que transforma o computador em algo útil.. O temo soft "macio" é o antônimo de hard. Assim, o hardware é difícil de manipular, de alterar, enquanto o software não. O Sistema Operacional é o software mais importante, pois é o nosso contato pessoal ao computador, assim conseguimos salvar arquivos e programas sem nenhum problema.

O barramento é um caminho para a troca de dados entre dois ou mais circuitos. São as linhas de comunicação. 9 O desempenho do barramento é medido pela sua largura de banda (quantidade de bits que podem ser transmitidos ao mesmo tempo), geralmente potências de 2: 8 bits, 16 bits, 32 bits, 64 bits, etc. Também pela velocidade da transmissão medida em bps (bits por segundo): 10 bps, 160 Kbps, 100 Mbps, 1 Gbps etc.

Os barramentos podem ser divididos em três grupos (barramento que conecta o processador à memória RAM): Barramento de dados: É por onde os dados circulam. Barramento de endereços: É por onde a informação de endereço é fornecida. Barramento de controle: Informações adicionais como, por exemplo, se a operação é de leitura ou escrita. 10

3 - Algoritmo e linguagem de programação 11 Qualquer processamento de dados requer a execução de uma série de etapas. Essas etapas, elaboradas e executadas passo a passo, constituem um programa. Exemplo: se deseja somar 100 números e imprimir o resultado. (Isso pode ser feito de forma manual ou automática). Algoritmo para soma de 100 números

Um computador requer instruções precisas e completas sobre cada passo que deva executar. 12 Algoritmo é o conjunto de etapas finitas, ordenadamente definidas, com o propósito de obter solução para um determinado problema. O termo "finitas" significa a necessidade de um requisito qualquer que estabeleça o final da execução do algoritmo. No exemplo, na etapa 5, a execução das etapas de 2 a 4 se repete enquanto N<100 (esta é a cláusula de parada).

13 Execução do programa gerado pelo algoritmo anterior As etapas de um algoritmo são as instruções que deverão ser executadas por uma máquina. (Um programa é o conjunto de instruções). Um computador precisa entender cada instrução, de modo a executar corretamente a operação que se pretende. Nós entendemos o português. Mas os computadores, eles têm sua própria linguagem?

As linguagens usadas por nós são constituídas por símbolos (alfabeto, sinais de pontuação, caracteres, etc). 14 O computador é uma máquina constituída de componentes eletrônicos (que são percorridos por corrente elétrica). Sistema binário: o computador "entende" apenas dígitos (0 e 1). A máquina realiza operações matemáticas através das regras do sistema binário. Assim, os caracteres inteligíveis não são A, B, +, =, 0, 3, etc., mas apenas zero (0) e um (1). Todo dado coletado pelos computadores, as instruções por ele executadas os resultados de um processamento, são sempre constituídos de conjuntos ordenados de zeros e uns.

Essa linguagem, chamada de "linguagem de máquina" (ou de baixo nível), que se comunica diretamente com o hardware, é tediosa de manipular, difícil de compreender e fácil de acarretar erros. 15 Por essa razão, foram desenvolvidas outras linguagens, mais próximas do nosso entendimento, genericamente chamadas de linguagens de programação. Todas essas linguagens possuem sintaxe (um conjunto de regras que define a forma da linguagem, estabelecendo como são compostas as suas estruturas básicas).

Atualmente, há dezenas dessas linguagens: Assembly, Cobol, Fortran, Visual Basic, Lisp, C, Visual C, C++, Visual C++, C#, Visual C#, Object Pascal, ASP.NET, Delphi, Ada, Java,... Linguagem de alto nível: O nome alto nível decorre do fato de essas linguagens serem mais distantes da forma de entendimento do processador (0s e 1s). São mais próximas do entendimento do programador, tendo características semelhantes às nossas linguagens de comunicação. Ou seja, uma linguagem de "alto nível" ou "orientada a aplicação" é aquela visualizada e entendida pelo usuário final. É a linguagem que está por trás dos softwares. 16

Essas linguagens foram desenvolvidas utilizando-se palavras da língua inglesa e sinais de operações matemáticas (+, -, /, *). 17 Elas geram códigos de "baixo nível" para que o hardware entenda e execute o comando desejado. Algumas vantagens das linguagens de alto nível: Sendo semelhantes as linguagens humanas, elas podem ser definidas para atender a requisitos e intenções específicas. A linguagem Cobol foi definida para emprego em programas comerciais. Fortran é mais bem utilizada em programação científica. Existem linguagens desenvolvidas com sistemas gráficos (Delphi, Visual C, etc.).

18

4 - Funcionamento básico dos sistemas de computação 19 Os computadores executam quatro funções distintas: Entrada; Processamento; Armazenamento/recuperação de dados; Saída. Componentes básicos de um computador

Para que um computador trabalhe é necessária à inserção de informações (entrada). 20 Seguindo as instruções fornecidas pelos programas, o computador processa os dados oriundos da entrada (processamento) armazenando-os para posterior utilização. As informações produzidas ficam disponíveis para utilização (saída) ou elas devem ser armazenadas em um dispositivo de armazenamento estável. O esquema anterior é seguido por praticamente todos os computadores.

Os dados são produzidos através de instruções durante a etapa de processamento, realizada pela CPU (Unidade Central de Processamento - processador) Cada processador tem um conjunto único de instruções para processar os dados, definidas pelo seu porjetista. A operação especifica a função a ser desempenhada, por exemplo, soma, armazene, entre outras. Os operandos fornecem os dados a serem utilizados na operação ou ainda a forma de alcançar a posição destes dados na memória. 21 Forma das instruções comumente utilizada pelos processadores

O processador realiza duas funções primordiais: Interpretar as ações que devem ser realizadas por conta de uma determinada instrução de máquina. Executar as operações interpretadas. 22 Ciclo básico de instrução

Quando um novo processador é criado, aumenta-se o seu conjunto de instruções, para que o mesmo se torne mais poderoso. (até o momento é assim que um microprocessador evolui). Uma nova instrução substitui um grupo inteiro de instruções que antes eram necessárias para a execução de uma determinada tarefa. Para o programador, escrever programas fica mais fácil não há a necessidade de escrever um pequeno programa (sub-rotina) para executar o que uma nova instrução faz sozinha. O pequeno programa continua sendo necessário. Porém, estará escrito dentro do microprocessador. 23

Quanto maior o conjunto de instruções, mais lento ficará o microprocessador: a procura por uma determinada instrução e a sua execução dentro do micro-código demorará mais tempo para finalizar (há mais dados a serem pesquisados). 24 Quanto mais avançado é o processador, maior é o tempo gasto na decodificação de uma instrução. Isso parece um paradoxo, pois sabemos que, quanto mais avançado o microprocessador, mais rápido ele é. Para compensar essa demora, passou-se a utilizar diversos novos recursos para aumento de desempenho.

No entanto isso estava se tornando um grande problema: com um aumento do conjunto de instruções e do microcódigo, o microprocessador fica fisicamente maior e mais lento e novos recursos de aumento de desempenho tinham que ser criados para ultrapassar essa lentidão. 25 Todos os microprocessadores recebem a classificação CISC (Complex Instruction Set Computing, Computação utilizando um Conjunto Complexo de Instruções). Apesar de existir um conjunto de instruções grande, apenas 20% delas são realmente usadas por programas e sistemas operacionais (20% das instruções fazem 80% do trabalho).

O restante das instruções é usado esporadicamente (em 80% do tempo estamos usando somente 20% do conjunto de instruções). 26 Surgiu uma nova idéia: a construção de processadores com um conjunto reduzido de instruções. Processadores construídos com essa idéia (poucas instruções e sem micro-código) são classificados como RISC (Reduced Instruction Set Computing, Computação utilizando um Conjunto Reduzido de Instruções).

A programação de um processador RISC tende é mais complexa, por conter muito menos instruções em comparação a um processador CISC equivalente (história do PS3). 27

Num processador CISC, um comando de alto nível é convertido pelo compilador em poucas instruções, em um processador RISC esse comando é convertido em várias instruções. 28 Duas conclusões: O código de programas RISC é maior, necessitando, portanto, de mais memória RAM. Os processadores RISC são mais rápidos do que os processadores CISC. A tendência atual é a construção de processadores RISC. Estes são incompatíveis com os CISC, necessitando de programas e sistemas operacionais especiais.

A utilização de processadores RISC na família PC significaria a morte para os sistemas operacionais mais usados, como o Windows. Não valeria à pena... Graças à portabilidade das novas gerações do Windows, Linux e Mac OS, estes sistemas operacionais estão disponíveis para processadores RISC. As novas gerações de processadores Intel/AMD utilizam uma arquitetura híbrida CISC/ RISC. O Bit, caractere, byte e a palavra 29

A menor unidade de informação disponível na linguagem humana é o caractere (letras, números, sinais de pontuação e de operações matemáticas). A menor unidade de informação armazenável em um computador é o algarismo binário ou digito binário, conhecido como bit (binary digit). O bit pode ter somente dois valores: 0 ou 1. 30

Um caractere isolado praticamente nada significa para nosso sentido de comunicação. Da mesma forma, um bit isolado pouco pode representar. O menor grupo ordenado de bits que pode representar uma informação em computadores é o caractere da linguagem humana. Qualquer caractere a ser armazenado em um sistema de computação é convertido em um conjunto de bits previamente definido para o referido sistema. Antigamente cada sistema definia como cada conjunto de bits irá representar um caractere (quantos bits e como organizam). 31

A IBM definiu um grupo ordenado de 8bits, como unidade de armazenamento e transferência. Trata-se do byte. 32 Como os computadores são maquinas binárias, todas as indicações numéricas referem-se a potências de 2 (e não de 10 como no sistema métrico). Assim: O K representa 1024 unidades (décima potência de 2 10 = 1024); O M representa 1.048.576 unidades (2 10 x 20 10 = 220); O G representa 1024 megas ou 1.048.576 K (2 30 = 1.073.741.824).

Como conseqüência: O valor de 512 Kbytes (pronuncia-se "quinhentos e do ka bytes") corresponde a um valor de 512 x 1024 = 524 288 bytes. O valor de 2 Gbytes (pronuncia-se "dois giga bytes") corresponde a 2 x 1024 x 1024 x 1024 = 2.147.483.648 bytes. 33 Quanto corresponde 32 M caracteres (trinta e dois mega caracteres)? Corresponde a 32 x 1024 x 1024 = 33.554.432 caracteres. 1 tera representa 2 40 ou 1024 G 1 peta representa 2 50 = 1024 teras

5 - Bases de numeração 34 Notação posicional: os algarismos componentes de um número assumem valores diferentes, dependendo de sua posição relativa no número. O valor total do número é a soma dos valores relativos de cada algarismo. Assim, é a posição do algarismo ou dígito que determina o seu valor. Há muito tempo a cultura ocidental adotou um sistema de numeração que possui dez diferentes algarismo - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 - chamado de sistema decimal.

A quantidade de algarismos disponíveis em um dado sistema de numeração é chamada de base. Assim, o sistema decimal tem base 10. Um sistema que possua apenas dois algarismos diferentes (0 e 1) é de base 2. Seja o número 1303, representado na base 10. Outra base de numeração são as potências de base 8 (octal = 0, 1, 2, 3, 4, 5, 6, 7) Seja o número (1011) 2, representá-lo na base 10. Seja o número (1011110) 2, representá-lo na base 10. Seja o número (3125) 8, representá-lo na base 10. 35

Em bases de valor superior a 10, usam-se letras do alfabeto para a representação de algarismos maiores que 9. 36 Uma dessas bases é muito importante em computação - trata-se da base 16 ou hexadecimal. Nela os "algarismos" A, B, C, D, E e F representam, respectivamente, os valores (da base 10): 10, 11, 12, 13, 14 e 15. Seja o número (2A5) 16, representá-lo na base 10. Seja o número (56F39B) 16, representá-lo na base 10. Conversão de números decimais para base B. Seja o número (45) 10, representá-lo na base 2. Seja o número (97) 10, representá-lo na base 2. Seja o número (2757) 10, representá-lo na base 16. Seja o número (490) 10, representá-lo na base 16.

37

Atividade 1 (entregar na aula - 23/10/2013) 38

39

40 Referências: Introdução à organização de computadores - Quinta edição Mario A. Monteiro http://www.calculadoraonline.com.br/conversao-bases Na próxima aula: Conceitos básico de algoritmos e linguagem C.