Você está na página 1de 26

Princípios

da Computação/ LEI-ISEP

Parte II: Sistema Computacional

Regente: Maria João Viamonte (mjv@isep.ipp.pt)


Arquitetura - Componentes
• Hardware
• Processa os dados através da execução de instruções

• Providencia input e output

• Software
• Instruções executadas pelo sistema

• Dados
• Representação fundamental de factos

• Comunicação
• Partilha dados entre diferentes sistemas
Hardware - Componentes
• Dispositivos Input/Output

• Dispositivos de armazenamento

• UCP
• UAL: unidade aritmética/lógica

• UC: unidade de controle

• Unidade de Interface

• Memória
• Memória primária
Computador Pessoal Típico
Modelo Input-Process-Output

• Input: teclado, rato, scanner


• Processamento: UCP executa um programa de computador
• Output: monitor, impressora, fax
• Armazenamento: disco duro, CDs, etc.
Unidade Central de Processamento - UCP

• UAL: unidade aritmética/lógica


• Realiza cálculos aritméticos e lógicos

• UC: unidade de controle


• Controla o Processamento das instruções

• Controla a movimentação dos dados dentro da UCP

• Unidade de Interface
• Move as instruções e os dados entre a UCP e os componentes de hardware

• Bus: barramento
Memória

• Também conhecida como Memória primária, Memória de


trabalho ou RAM (random access memory)

• Consiste num conjunto de bits, sendo que em cada bit está o valor
0 ou 1 (8 bits = 1 byte)

• Podem representar instruções (o código da instrução) ou dados de


um programa de computador
Sistema Computacional

• Todos os computadores, independentemente da sua


complexidade, consistem:
• Pelo menos uma UCP

• Memória com instruções ou dados

• Dispositivos de I/O

• Armazenamento a longo prazo


Início da história
• 1642: Blaise Pascal

• 1801: Joseph Marie Jacquard mecânico francês inventor de um tear mecânico

• 1800’s:

• Charles Babbage, inventor que projetou o primeiro computador de uso geral

• Augusta Ada Byron, é reconhecida, principalmente, por ter escrito o primeiro


algoritmo para ser processado por uma máquina, a máquina analítica de Charles
Babbage

• George Boole criador da álgebra booleana, fundamental para o desenvolvimento da


computação moderna
Evolução dos Computadores
• 1937: Foi construído o Mark I (Aiken, Harvard University, IBM)
• Um dos primeiros computadores, eletromecânico, tratava-se de uma
calculadora de larga escala

• 1939: Foi construído o ABC


• Primeiro computador digital, utilizava válvulas eletrônicas

• 1943-46: ENIAC (Mauchly, Eckert, University of Pennsylvania)


• Primeiro computador digital eletrônico de grande escala
Evolução dos Computadores

• 1945: Proposta da arquitetura de Von Neumann


• Standard até aos dias de hoje

• 1947: Criação do transístor


• (Bardeen, Shockley, Brattain, Bell Labs)

• 1951: UNIVAC
• Primeiro computador comercial
Primeiros Computadores

Early Computers
Arquitetura de Von Neumann
• Modelo para desenhar e construir computadores,
baseado nas seguintes características:
1. O computador consiste em quatro subsistemas principais:
• Memoria

• UAL (Aritmética/Unidade Lógica)

• Unidade de Controle

• Sistema de Input/Output (I/O)

2. Programa (dados e instruções) alocados na memória para a sua execução

3. As instruções são executadas sequencialmente


Arquitetura de Von Neumann
Bus

Processor (CPU)
Memory Input-Output
Control Unit

ALU
Store data and program Communicate with
"outside world", e.g.
• Screen
Execute program
• Keyboard
Do arithmetic/logic operations • Storage devices
requested by program • ...
Subsistema Memória
• Memória RAM (Random Access Memory)
• Consiste em várias células de memória (unidades de
armazenamento) de tamanho fixo
• Cada célula tem um endereço associado
• O acesso à memória é para um endereço específico
• Uma célula é a unidade mínima de acesso à memória
• O tempo para ler/gravar é igual para todas as células
• Para executar um programa, ambos
• Programa e
• Dados têm que estar armazenados em memória
Tamanho da Memoria / Velocidade
• Tipicamente a memória num computador pessoal (PC):
• 64MB - 256MB – 4 GB – ...
• Memória:
• Kilobyte (KB) = 210 =1,024 bytes ~ 1 thousand
• Megabyte(MB) = 220 =1,048,576 bytes ~ 1 million
• Gigabyte(GB)= 230 = 1,073,741,824 bytes ~ 1 billion
• Tempo de acesso à Memória (ler / escrever na memória)
• 50-75 nanoseconds (1 nsec. = 0.000000001 sec.)
• RAM é
• volátil (só é possível armazenar quando o computador está ligado)
• Relativamente caro
Operações na Memória
• Busca/Fetch (endereço):
• Busca uma cópia do conteúdo de uma determinada célula de
memória
• Não-destrutivo

• Guarda/Store (endereço, valor):


• Guarda o valor numa determinada célula de memória
• Destrutivo, escreve por cima do valor existente
• O Sistema de Memória:
• Memory Address Register (MAR)
• Memory Data Register (MDR)
• Fetch /Store signal
Estrutura do Subsistema de Memória
• Busca/Fetch (endereço)
• Obtém o endereço em MAR
MAR MDR • Descodifica o endereço em MAR
F/S • Copia o conteúdo da célula com o
Memory endereço especificado para MDR
Fetch/Store
decoder
controller
circuit • Guarda/Store(endereço, valor)
• Obtém o endereço em MAR
• Obtém o valor em MDR
• Descodifica o endereço em MAR
... • Copia o conteúdo de MDR para a
célula com endereço especificado
Subsistema Input/Output
• Lida com os dispositivos que permitem que o computador lide com o Mundo
exterior:

• Comunica e interage com o Mundo exterior

• Écran, Teclado, Impressora, ...

• Armazenamento de informação
• Discos, CD, …

• Métodos de acesso a dispositivos de Massa:

• Acesso Direto
• Discos, CD, …

• Acesso Sequencial

• Fitas
Controladores I/O
• A velocidade dos dispositivos de I/O é mais lenta quando
comparada com a da RAM
• RAM ~ 50 nsec

• Discos ~ 10msec. = (10,000,000 nsec)

• Solução:
• Controlador I/O

• Dados transferidos entre a RAM e um buffer

• Processador livre para efetuar outros processamentos enquanto as


operações de I/O são feitas entre os dispositivos de I/O e o buffer
Subsistema da ULA
• A UAL (Unidade Aritmética/Lógica) faz:
• Operações matemáticas (+, -, x, /, …)

• Operações lógicas (=, <, >, and, or, not, ...)

• Consiste em:
• Circuitos para fazer operações aritméticas/lógicas

• Registos (unidades de armazenamento rápidas) para guardar


temporariamente os resultados das operações

• Bus, para efetuar a ligação


Unidade de Controle
• O Programa é guardado na memória
• Instruções máquinas guardadas em memória, em binário

• A tarefa da Unidade de Controle é executar programas através de


repetidamente:
• Buscar na memória a próxima instrução a ser executada

• Descodificar a instrução, ou seja, determinar o que é para fazer

• ExecutaR através dos sinais apropriados na UAL, memória, e subsistema de


I/O

• Continua até uma instrução HALT


Instruções Máquina
• Instrução Máquina consiste em:
• Código da Operação, que diz o que é para fazer

• Endereço da operação

• Exemplo: ADD X, Y (Assume: opcode for ADD is 9, and addresses


X=99, Y=100

Opcode (8 bits) Address 1 (16 bits) Address 2 (16 bits)


00001001 0000000001100011 0000000001100100
Como funciona tudo em conjunto?
• Execução do Programa:
• PC (program counter ) possui o endereço da primeira instrução do
programa a ser executada

• Repete até à instrução HALT ou fatal error

Busca instrução

Descodifica a instrução

Executa a instrução

FIM do ciclo
Program execution
• Fetch phase
• PC --> MAR

• Fetch signal

• MDR --> IR

• PC + 1 --> PC

• Decode Phase
• IR -> Instruction decoder (descodifica a instrução em IR)

• Instruction decoder will then generate the signals to activate the circuitry
to carry out the instruction
Execução do Programa
• Execute Phase
• Difere de instrução para instrução
• Example:
• LOAD X (load value in addr. X into register)
• IR_address -> MAR
• Fetch signal
• MDR --> R
• ADD X
left as an exercise

Você também pode gostar