Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Introdução à Arquitetura de Computadores: Memória, Hardware e Software, Notas de estudo de Engenharia Mecânica

Uma visão geral da evolução dos primeiros computadores, com ênfase na memória, hardware e software. Desde o integrator and calculator de 19000 válvulas e 1500 relés até as modernas unidades de processamento central (ucp), este texto aborda o conceito de programa armazenado, a memória principal e secundária, e os periféricos de entrada e saída. Além disso, é discutido o conceito de bit, bytes, linguagens de programação e a diferença entre hardware, software e firmware.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 30/03/2007

daniel-filippo-8
daniel-filippo-8 🇧🇷

5

(1)

4 documentos

1 / 12

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
unesp CAMPUS DE GUARATINGUETÁ
Departamento de Matemática
Introdução à Programação de
computadores usando a
Linguagem Pascal
Notas de Aula
Prof. Dr. Galeno José de Sena
Edição: 2006
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Introdução à Arquitetura de Computadores: Memória, Hardware e Software e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

unesp CAMPUS DE GUARATINGUETÁ

Departamento de Matemática

Introdução à Programação de

computadores usando a

Linguagem Pascal

Notas de Aula

Prof. Dr. Galeno José de Sena

Edição: 2006

unesp UNIVERSIDADE ESTADUAL PAULISTA Prof. Galeno José de Sena DMA/FEG

CAPÍTULO 1

INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO

1.1. COMPUTADORES DIGITAIS

1.1.1. HISTÓRICO DAS GERAÇÕES DE COMPUTADORES ELETRÔNICOS

PRIMEIRA GERAÇÃO:

  • os primeiros computadores utilizavam circuitos eletromecânicos e válvulas ; - primeiro computador digital eletrônico (1946): ENIAC ("Electronic Numerical Integrator and Calculator") :
    • 19000 válvulas, 1500 reles, resistores, capacitores e indutores (potência de 200 KW);
    • memória: 20 números de 10 dígitos cada um;
    • programação: conexão de tomadas através de fios e pinos;
    • (^) apenas os dados eram armazenados na memória ;
  • foi introduzido o conceito de programa armazenado (Von Neumann, 1946): proposta de uma máquina que armazenava na memória (temporariamente) tanto os dados como o programa: - conceito influenciou a arquitetura dos computadores construído nos anos seguintes (até os dias atuais): arquitetura de Von Neumann ; - EDVAC ("Electronic Discrete Variable Automatic Computer"): primeira máquina baseada nesta proposta (1948);
  • surgimento dos primeiros computadores em escala comercial (como o UNIVAC).

SEGUNDA GERAÇÃO:

(a partir de 1958)

  • utilização de transistores em substituição as válvulas:
    • redução do tamanho e da potência consumida;
    • maior robustez e confiabilidade.

TERCEIRA GERAÇÃO:

(a partir de 1964)

- registradores: constituem uma pequena memória de alta velocidade usada para armazenamento de resultados temporários e de certas informações de controle. Dois exemplos de registradores seguem: Program Counter (PC): contém o endereço da próxima instrução a ser executada; Instruction Register (IR): armazena a instrução que está sendo executada.

Memórias

Programas e dados são gravados (armazenados) nas memórias do computador. O processador, ao acessar um dispositivo de memória, pode fazê-lo com o objetivo de gravar ou de ler ítens de informação. Há dois tipos, a saber:

- memória principal: utilizada no armazenamento temporário de programas e dados que estão sendo processados;

características:

  • custo elevado;
  • acesso rápido às informações;
  • capacidade de armazenamento limitada; - memória auxiliar (ou secundária): armazenamento de programas e dados para utilização futura; exemplos:
  • fita magnética;
  • disco magnético;

características:

  • lentas em relação à memória principal;
  • são muito mais baratas;
  • exibem uma capacidade muito grande de armazenamento.

Sobre os periféricos de entrada e saída (E/S) ( Input/Output devices ou I/O devices ):

- periféricos de entrada: responsáveis pela transferência de informações do meio externo para a UCP; alguns exemplos seguem: - leitora de cartões perfurados; - unidade de disco magnético; - unidade de fita magnética; - acionador ("drive") de disquete; - teclado. - periféricos de saída: responsáveis pela transferência de informações da UCP para o meio externo; alguns exemplos são dados a seguir: - impressora; - unidade de disco magnético; - unidade de fita magnética; - monitor de vídeo.

  • interface de periférico: dispositivo eletrônico colocado entre o periférico e o processador, capaz de entender a "estrutura" da comunicação com a CPU e de traduzi-la para o modo de operação particular do periférico. Com o conceito de interface, a CPU envia (e recebe) ítens de informação sempre num mesmo padrão, ficando a cargo de cada interface converter este padrão para uma forma compatível com o periférico a que está associada.

O cartão perfurado, o disquete, o disco magnético, a fita magnética são exemplos de veículos de informação ou portadores de dados ; os periféricos correspondentes são respectivamente a leitora de cartões perfurados, o "drive", a unidade de disco e a unidade de fita magnética.

1.1.3. HARDWARE, SOFTWARE e FIRMWARE:

- HARDWARE: componente físico de um sistema de computação, consiste dos objetos tangíveis como circuitos eletrônicos, memória, periféricos de E/S, cabos, etc. - SOFTWARE: componente lógico de um sistema de computação, consiste de algoritmos (instruções detalhadas dizendo como fazer alguma coisa) e de suas representações computacionais (os programas).

  • FIRMWARE : forma intermediária entre hardware e software , consiste de software (componente lógico) gravado de uma maneira "permanente" em dispositovo de hardware (componente físico). Veremos mais adiante que certas rotinas de controle de microcomputadores (como o BIOS) são fornecidas em memórias especiais que constituem exemplos de firmware.

Adicionalmente aos três termos anteriores, tem sido utilizado atualmente com uma certa freqüência um quarto termo, a saber peopleware , referindo-se ao pessoal envolvido direta ou indiretamente com processamento de dados.

1.1.4. UNIDADES DE MEDIDA PARA INFORMAÇÃO DIGITAL

Estamos acostumados com unidades, por exemplo, para medidas de comprimento (como o metro), de massa (como o quilograma), etc. Para a utilização de computadores digitais é preciso ganhar familiarização com unidades específicas, a fim de que informações típicas como "tamanho" de um programa ou arquivo tenham significado.

Computadores utilizam o sistema binário (base 2, dígitos 0 e 1): maior facilidade na montagem de circuitos capazes de reconhecer a diferença entre 1 (representado pela presença de corrente) e o 0 (representado pela ausência de corrente).

O bit: abreviatura de B inary digi T (dígito binário), é a unidade básica de informação no sistema binário; um bit, num dado instante, pode assumir apenas um dentre dois estados possíveis, usualmente denotados por estados 0 e 1.

de formalismos podem ser utilizados para a programação de computadores. Designamos estes formalismos por linguagens de programação.

As linguagens de programação são úteis na comunicação entre seres humanos e computadores, ou seja, na construção de programas. Quanto à estrutura, as linguagens são classificadas do seguinte modo:

a) Linguagem de máquina (LM):

  • formada por códigos diretamente legíveis pelo computador (códigos binários);
  • um processador somente pode executar instruções expressas em sua linguagem de máquina.

b) Linguagem simbólica (LS): características:

  • instruções escritas usando os mesmos símbolos ou palavras existentes nas linguagens humanas;
  • um programa em LS deve ser traduzido para um outro programa (equivalente) em LM para que possa ser executado; classificação de uma LS:

b.1) linguagem de baixo nível (ou ASSEMBLY ) (linguagem de montagem): representação simbólica para a LM: cada instrução ASSEMBLY produz exatamente uma instrução de máquina.

b.2) linguagem de alto nível ( problem-oriented language ): linguagem especialmente desenvolvida para ser utilizada com facilidade na solução de problemas; alguns exemplos são dados a seguir:

FORTRAN ( FORmula TRANslation ): 1954, cientifica; FORTRAN IV: 1962; FORTRAN 77: 1977 (implementação em 1978); FORTRAN 90: anos 90; ALGOL ( ALGOrithmic Language ): 1958, científica; COBOL ( COmmon Business Oriented Language ): 1959, comercial; BASIC ( Beginner's All-purpose Symbolic Instruction Code ), 1965, científica; PL/1 ( Programming Language ), 1965, científica e comercial; Pascal, 1968, científica; C, programação de sistemas; ADA, do nome de Ada Lovelace, que se tornou a primeira programadora da história ao fazer programas para uma máquina conhecida como máquina de Babbage; Prolog ( Programming in Logic ), paradigma de programação em Lógica; Lisp, programação funcional; APL, processamento de matrizes, etc.

1.1.6. MECANISMOS PARA O PROCESSAMENTO DE PROGRAMAS

Os circuitos eletrônicos de cada computador podem reconhecer e executar diretamente um conjunto limitado de instruções simples, para o qual todos os programas devem ser convertidos antes que possam ser executados. Estas instruções são expressas internamente em termos de zeros e uns , ou seja, no sistema binário, constituindo a linguagem de máquina do computador. Exemplos de instruções básicas são:

  • adicionar dois números;
  • verificar se um número é zero;
  • mover um item de dado de uma parte da memória do computador para outra.

A linguagem de máquina de um computador é portanto constituída pelo conjunto das instruções primitivas do computador.

Programa fonte: é um programa escrito em uma linguagem de alto nível; assim podemos ter um fonte em FORTRAN, Pascal, Basic, etc.. Uma vez que o computador somente consegue executar programas expressos em sua LM, um programa fonte, para sua execução, precisa ser "traduzido" (por um compilador) em um programa equivalente em LM, ou ter suas instruções interpretadas em tempo de execução (por um interpretador).

Programa objeto: é o programa resultante da tradução do fonte para uma linguagem alvo, em geral para a LM do computador.

Mecanismo de COMPILAÇÃO: (FORTRAN, Pascal, etc.) Este mecanismo comporta as fases a seguir:

i) um COMPILADOR efetua a tradução do fonte para uma forma intermediária em linguagem de montagem ("assembly"); ii) um MONTADOR (também chamado de "assembler") obtém, a partir da forma em linguagem de montagem, uma forma equivalente em LM; iii) um EDITOR DE LIGAÇÃO , entre outras coisas, anexa ao programa em LM rotinas necessárias para a sua execução e, possivelmente, módulos de programa compilados anteriormente (caso se tenha efetuado compilação em separado); o resultado deste passo é o MÓDULO DE CARGA ABSOLUTO: este módulo deve ser então carregado ( loaded ) na memória principal do computador para a execução do programa.

Esquema:

b) Processadores de linguagens de programação : úteis no desenvolvimento de programas de aplicação. Exs.: compilador FORTRAN, interpretador BASIC, etc.

c) Aplicativos : programas desenvolvidos para a execução de tarefas de diversas tais como edição de textos, cálculos de contabilidade, controle de estoques, confecção de folhas de pagamento, análise de investimentos, confecção de gráficos, etc.

d) Utilitários de um sistema : executam tarefas de preparação relativas a um sistema específico tais como (para o caso de um sistema operacional) preparação de disquetes para uso, alteração no modo de saída no monitor, etc.

1.2. A GERAÇÃO DOS MICROCOMPUTADORES

1.2.1. SISTEMA MICROCOMPUTADOR: CARACTERIZAÇÃO GERAL

Um sistema microcomputador compreende:

  • unidade do sistema;
  • monitor;
  • teclado;
  • impressora;
  • mouse (dispositivo de apontamento);
  • modem (conexão a uma linha telefônica);
  • scanner ;
  • sistema de videoconferência;
  • etc;

A unidade do sistema:

Placa do sistema (placa mãe ou placa planar) : placa de circuito impresso contendo circuitos de silício correspondentes a:

  • microprocessador;
  • circuitos de suporte como o circuito de relógio ("clock");
  • memória RAM;
  • memórias do tipo ROM com seus programas embutidos.

Adaptadores ou opções: cartões de circuito impresso utilizados para permitir a conexão de opcionais como impressoras, modems de telefone, etc.

Barramento ("bus") :

  • canal de comunicação comum constituído de um grupo de linhas de sinal que atua como transportador comum de sinais de uma parte a outra do computador;
  • a definição de um barramento especifica a finalidade de cada linha e a relação de temporização dos sinais elétricos;
  • slots de expansão são conectados ao barramento: adaptador possibilita a comunicação de um periférico por exemplo com a memória e o processador.

O clock : responsável pelo fornecimento de um pulso elétrico em intervalos regulares, pulso este essencial para que o processador possa trabalhar numa velocidade particular. Embora haja outros fatores que influenciem a velocidade de um microcomputador - como tempo de acesso a memórias, opções de configuração, etc. - pode-se dizer que computadores com maior valor de clock são, em princípio, mais rápidos. Os primeiros XTs trabalhavam com um clock interno de 4.77 Mhz. Ao longo dos anos, vários padrões de microcomputadores, com valores crescentes de clock, foram introduzidos no mercado. Assim é que temos atualmente microcomputadores utilizando o microprocessador Pentium com valores de clock de 700 MHz, 800 MHz ou mesmo 1 GHz. A obsolescência é muito rápida com respeito a este aspecto, sendo que o surgimento de um novo padrão implica, em maior ou menor grau, na desvalorização de seu predecessor.

1.2.3. MEMÓRIAS

A discussão nesta secção se aplica essencialmente a memórias principais e não a dispositivos de memória secundária.

As memórias são constituídas de blocos de pastilhas de material semicondutor. Uma memória é classificada, quanto à função, em:

a) memória RAM ( Random Access Memory ):

  • memória de leitura e gravação: utilizada para armazenamento temporário de programas e dados do usuário (memória volátil);
  • memória propriamente dita do microcomputador;
  • UCP pode ler e escrever em memórias do tipo RAM;

b) memória ROM ( Read-Only Memory ):

  • memória de leitura apenas: já vem gravada de fábrica por exemplo com instruções elementares para que o computador compreenda comandos básicos de controle geral do sistema; um BIOS de PC gravado em uma memória do tipo ROM constitui um exemplo de firmware.
  • no caso de alguns modelos de microcomputadores mais antigos, com linguagem BASIC embutida: o interpretador da linguagem vinha gravado em uma memória do tipo ROM;