Você está na página 1de 26

TÉCNICAS DE PROGRAMAÇÃO

– UNIDADE 1
FAESA
ENGENHARIAS
PROF. DANIEL LUIS COSMO
Introdução a arquitetura de
computadores
• Um computador digital é composto por duas partes integrais
e que se comunicasm entre si: Hardware e Software.

• Hardware é a parte física do computador, tudo o que podemos ver e


tocar. Exemplos de hardware são: placa-mãe, processador, teclado,
monitor e mouse.

• Software é a parte lógica do computador, ou seja, os programas que


você vê funcionar na tela e que dão “vida” ao computador. Exemplos
de software são: Sistemas operacionais (Windows, Linux e MacOS),
programas do pacote office (Word, Excell e PowerPoint) e jogos de
computador.
Classificação do Hardware
• O Hardware de um computador digital é dividido em três
grupos de dispositivos interligados:
• Unidade central de processamento (UCP ou CPU)
• Memória
• Dispositivos de entrada e saída (E/S ou I/O)
Unidade central de processamento
• A CPU é a parte do computador que interpreta e executa as
instruções contidas no software.

• O ciclo básico de execução de qualquer CPU é buscar a primeira


instrução da memória, decodificá-la para determinar seus
operandos e qual operação executar com os mesmos (fetch,
decode, execute).

• A CPU é constituída pelos seguintes componentes: a ULA


(Unidade de Lógica e Aritmética), a UC (Unidade de Controle) e os
registradores.
• A ULA é responsável por realizar as “contas” (cálculos
matemáticos) e pelo uso de lógica de comparação.

• A UC representa um “coordenador” que controla as buscas das


instruções e sincroniza sua execução.

• Os registradores basicamente armazenam temporariamente os


resultados dos processamentos e outras variáveis adicionais para
o funcionamento do CPU.
Memória
• O computador deve ser dotado de alguma forma de
armazenamento (temporário ou permanente) para que os dados
coletados ou processados possam ser armazenados.

• A menor unidade de informação em um computador é o bit, que


pode assumir os valores 0 ou 1. Um conjunto de 8 bits forma um
Byte.
Unidades de E/S
• Os dispositivos de E/S são constituídos, geralmente, de duas
partes: o controlador e o dispositivo propriamente dito. O
controlador é um chip ou um conjunto de chips que controla
fisicamente o dispositivo.

• Dispositivos de entrada recebem alguma informação do usuário do


computador e transmitem essa informação para a UCP. Alguns
exemplos são: teclado, mouse e scanner.

• Dispositivos de saída recebem o resultado de algum


processamento feito pelo software e a transformam de uma forma
que possa ser entendida pelo usuário do computador. Alguns
exemplos são: monitores e impressoras.
• Existem dispositivos que podem ser classificados como de entrada
e saida ao mesmo tempo. Exemplos são: unidades de disco, como
leitoras e gravadores de CD e DVD, e unidades de
armazenamento USB, como pen-drives.
Software
• Um programa de computador pode ser definido como uma série de
instruções ou declarações, em forma inteligível pelo computador,
preparada para obter certos resultados.

• Exemplo de softwares básicos: Sistemas operacionais e


compiladores.

• Exemplo de softwares aplicativo: Processadores de texto (Word),


planilhas eletrônicas (Excel), jogos eletrônicos.
Modelo de Von Neumann
• O modelo de Von Neumann é a base da arquitetura dos
computadores modernos. Esse modelo é baseado em três
conceitos básicos:

1. Os dados e as instruções são armazenados em uma única memória de leitura


e escrita;
2. O conteúdo dessa memória é endereçado pela sua posição, independente do
tipo de dados nela contido;
3. A execução de instruções ocorre de modo sequencial, exceto quando o
programa altere a instrução para a seguinte.

• De forma geral, esse conceito permite não precisar fazer


modificações no hardware para cada aplicação que se deseja
executar, já que ele usa o conceito de programa armazenado.
• Com a arquitetura de Von Neumann pode-se definir um código
para cada propósito e utilizar o hardware de propósito geral capaz
de interpretar esses códigos.
• O conjunto de instruções do programa armazenado na memória é
o que denominamos software.
• Os componentes do modelo são interligados por meio de uma
arquitetura de barramentos.
• O barramento é um conjunto de trilhas que transportam
informações binárias (bits), operando em alta velocidade para a
troca de informações entre os principais componentes do
computador
• A função básica desempenhada por um computador é executar um
programa, que é constituído por um conjunto de instruções
armazenadas na memória.

• A execução de uma instrução (ciclo de instrução) é dividida em


três partes (fetch – decode – execute):

1. O processador lê instruções na memória, uma de cada vez (fetch)

2. O valor da instrução recebido é decodificado pela CPU (decode).

3. A instrução é executada (execute).


• No início de cada ciclo de instrução, o processador busca uma
instrução na memória. Existe um registrador chamado contador de
programa (program counter – PC), que é usado para guardar o
endereço da próxima instrução a ser buscada na memória.

• O processador incrementa o contador de programa depois de cada


busca de instrução, normalmente, mas nem sempre, de modo
sequencial.

• A instrução buscada na memória é carregada num registrador


conhecido como registrador de instruções (instruction register –
IR). Esse registrador armazena bits que especificam qual será a
ação do processador.

• As instruções possíveis de serem executadas são definidas no


conjunto de instruções (instruction set) da CPU.
• As instruções executadas pela CPU podem ser divididas em
quatro categorias:

1. Processador-memória: ação de transferência de dados do processador para a


memória e vice-versa;

2. Processador-ES: ação de transferência de dados entre processador e um


dispositivo de E/S, através de um módulo de E/S;

3. Processamento de dados: execução de operações lógicas ou aritméticas com


os dados;

4. Controle: determinadas instruções podem dizer que a sequência de execução


das instruções seja alterada, alterando a sequência do contador de programa.
• O relacionamento entre os componentes principais do computador
acontece da seguinte maneira:

• A CPU troca informações com a memória e módulos de E/S utilizando


informações armazenadas nos registradores.

• O registrador de endereçamento de memória contém a posição da memória a


ser acessada (leitura ou escrita), enquanto o registrador de endereçamento de
E/S contém informações a respeito do periférico de E/S a ser acessado
(entrada ou saída).

• Registradores de dados temporários na CPU armazenam resultados a serem


enviados para memória ou E/S (escrita ou saída). Os mesmos registradores
também podem receber dados a serem processados posteriormente (leitura
ou entrada).
Barramento do sistema
• Um barramento do sistema contém várias linhas distintas
(normalmente entre 50 e 100). De forma geral, as linhas de um
barramento podem ser classificadas em três grupos: linhas de
dados, linhas de endereço e linhas de controle.
• As linhas de dados fornecem um caminho de transferência entre
os módulos do sistema (CPU, Memória e E/S). Esse conjunto de
linhas é chamado de barramento de dados. Esse barramento
contém, usualmente, 8, 16 ou 32 linhas (o número de linhas é
conhecido como a largura do barramento).

• As linhas de endereços são utilizadas para designar a fonte ou o


destino dos dados transferidos pelo barramento de dados. Por
exemplo, quando o processador precisa ler um dado na memória
(palavra de 8, 16 ou 32 bits), ele coloca o endereço da palavra
desejada nas linhas de endereço.

• Por fim, as linhas de controle são usadas para controlar o acesso e


utilização das linhas de endereço e de dados. Isto é necessário,
pois as linhas de dados e endereço são compartilhadas por todos
os componentes
• Exercício: Relacione os seguintes itens:
Sistemas de Numeração
• Base decimal:
• Base binária:
• Conversão para decimal
• Base hexadecimal:
• Conversão para decimal
• Decimal para outras bases: Basta dividir o decimal pela base
desejada repetidas vezes, onde o resultado é um lgarismo na nova
base e o resto da divisão é o novo número a ser dividido.
• Binário para Hexadecimal e vice versa: Cada 4 algarismos binários
pode ser representado por um decimal.

• Um byte (8 bits) corresponde a 2 algarismos hexadecimais.

• É comum que os endereços de memória sejam representados em


hexa.
Referências
• AMARAL, Allan Francisco Forzza. Arquitetura de Computadores.
2016.
• STANLEY, B.; LIPPMAN, LAJOIE. C++ PRIMER. Addison-
Wesley, 2019.

Você também pode gostar