Você está na página 1de 48

Organização e Arquitetura de Computadores

Revisão – A2
Bibliografia:
• Organização e Arquitetura de Computadores – 6ª Edição, Autor: Andrew S. Tanenbaum;
• Arquitetura e Organização de Computadores - 10ª Edição, Autor: William Stallings;

Prof. Relyson Ramos​


E-mail: relyson.ramos@udf.edu.br
Conceitos de Hardware e Software
hardwares Software
São os itens físicos e tangíveis do dispositivo, É o equivalente a mente do dispositivo, são os
desde seu gabinete até as peças que o compõe. programas e aplicativos.
Conceitos de Hardware e Software

Software
Algoritmo
Um algoritmo é uma sequência de instruções bem definidas que
descrevem um procedimento ou processo para resolver um
problema. O algoritmo é uma descrição abstrata de um método
para resolver um problema, independentemente de qualquer
linguagem de programação específica ou sistema de computador.
Aplicativos
Programa
Programa é um conjunto de instruções codificadas em uma
linguagem de programação específica e projetadas para serem Sistema Operacional
executadas por um computador. Um programa é a implementação
concreta de um algoritmo em uma linguagem de programação
Hardware
específica e é executado por um computador para realizar uma
determinada tarefa.
Conceitos de Hardware e Software

Sistema Computacional

Um sistema computacional é um conjunto de componentes físicos e lógicos interconectados que


trabalham juntos para realizar uma variedade de tarefas, incluindo o processamento de dados,
armazenamento de informações, comunicação e controle de dispositivos periféricos.

De acordo com Tanebaum, um sistema computacional é composto por três componentes principais:

1. Hardware: o componente físico do sistema, incluindo processador, memória, dispositivos de


entrada/saída e dispositivos de armazenamento.
2. Sistema Operacional: o software responsável por gerenciar os recursos do hardware e fornecer uma
interface de usuário para acessar esses recursos. Ele gerencia tarefas como agendamento de processos,
gerenciamento de memória, gerenciamento de arquivos e redes, e muito mais.
3. Aplicativos: o software que é executado no sistema para realizar tarefas específicas, como
processamento de texto, edição de vídeo, jogos, etc.
Conceitos de Hardware e Software

Tradutor

Programa Linguagem
Tradutor
Fonte de Máquina

Programa Fonte
É um conjunto de instruções escritas em uma linguagem de programação específica, que pode ser lida e
entendida por um programador. Ele é o código original e completo de um programa, antes de ser
compilado ou interpretado em uma linguagem de máquina, que o computador pode executar
diretamente.

Linguagem de Máquina
É a linguagem utilizada pelos computadores para executar programas. É uma linguagem de baixo nível
composta por códigos binários, ou seja, sequências de 0s e 1s, que representam as instruções que o
processador deve executar. Essas instruções são diretamente executadas pelo hardware do computador,
sem a necessidade de serem traduzidas ou interpretadas.
Conceitos de Hardware e Software

Tradutor

Linguagem de
Programa Fonte Montador
Máquina

Traduz o código em linguagem de baixo nível


para linguagem de máquina

Linguagem de Baixo Nível - São aquelas cuja sintaxe está mais distante da linguagem humana.
• Linguagens de máquina - baseia-se somente em números binários
• Ex.: 011000010;
• Linguagens de montagem (Assembly) - utiliza códigos mnemônicos para representar as instruções de
máquina que serão executadas pelo processador.
• Ex.: mov eax, 42 (Atribui o valor 42 ao registrador eax.)
Conceitos de Hardware e Software

Tradutor

Linguagem de
Programa Fonte Compilador
Máquina

Traduz o código em linguagem de Alto nível para linguagem de máquina

Linguagem de
Programa Fonte Interpretador
Máquina

Linguagem de Alto Nível - são aquelas que possuem uma sintaxe mais fácil de entender e escrever, com um
alto grau de abstração mais próxima da linguagem humana. Elas são projetadas para serem mais acessíveis
aos programadores e para permitir uma maior produtividade no desenvolvimento de software. Linguagens
de alto nível incluem Python, Java, C++, Ruby, entre outras.
Conceitos de Hardware e Software

Tradutor

Principais diferenças entre as linguagens compiladas e interpretadas

Compilada Interpretada

• Traduzidas em um arquivo executável em uma • Traduzidas linha a linha em tempo de execução;


única vez; • Tendem a ser mais flexíveis e fáceis de depurar e
• Tendem a ser mais rápidas e eficientes; testar;
• Arquivos executáveis podem ser executados em • A execução depende do interpretador
diferentes máquinas sem a necessidade de um adequado.
compilador.
Modelo Von Neumann

É um modelo de arquitetura de computador proposto pelo matemático e físico húngaro-americano John von
Neumann em 1945. É um modelo teórico que descreve como um computador pode ser construído a partir de
um conjunto de componentes lógicos interconectados.

É baseado em três conceitos principais:


• Dados e instruções são armazenados em uma única memória de leitura e escrita;
• O conteúdo dessa memória é endereçável pela localização, sem considerar o tipo de dados contido ali;
• A execução ocorre em um padrão sequencial (a menos que modificado explicitamente) de uma instrução
para a seguinte.

O modelo Von Neumann é importante porque se tornou a base para a construção de muitos dos primeiros
computadores digitais, e continua a ser utilizado como referência para a construção de sistemas computacionais
modernos. Ele também foi fundamental para o desenvolvimento da linguagem de programação moderna e para a
teoria da computação.
Modelo de Von Neumann

O modelo Von Neumann descreve um computador que consiste em quatro principais componentes interconectados:
• Unidade de memória;
• Unidade de Controle;
Responsável por armazenar instruções
• Unidade Aritmética e Lógica
e/ou dados.
• Dispositivos de entrada e saída.

Determina a sequência das instruções Executa as instruções,


a serem executadas, e libera sinal de lógicas e aritméticas.
controle para as outras unidades.

Comunicação externa, como


teclado e monitor.
COMPUTADOR
Unidade Central de Processamento (CPU
— do inglês, Central Processing Unit):
controla a operação de um computador e Memória
realiza suas funções e processamento de
dados; costuma ser referida simplesmente Principal
como processador.

E/S Memória principal: armazena instruções


e dados.
E/S (Entrada e Saída): move dados
entre o computador e seu ambiente
externo.

Barramento do CPU
Sistema

Sistema de interconexão: algum mecanismo que proporciona comunicação entre CPU, memória principal e E/S. Um exemplo comum de um sistema
de interconexão é o barramento do sistema, que consiste em um número de fios condutores aos quais todos os outros componentes se conectam.
Unidade de controle: controla a operação CPU
da CPU e, portanto, do computador.

Unidade Lógica
Aritmética
Registradores
ULA

Unidade lógica e aritmética (ALU — do


Barramento
inglês, Arithmetic and Logic Unit): executa
as funções de processamento de dados do
interno
computador.

Registradores: proporciona armazenagem


interna na CPU.

Interconexão da CPU: alguns mecanismos Unidade de


que proporcionam comunicação entre a
unidade de controle, ALU e registradores. controle
Função do computador

• A função básica realizada por um computador é a execução de um


programa, que consiste em um conjunto de instruções armazenadas na
memória.

• O processamento exigido para uma única instrução é chamado de ciclo


de instrução.

• As duas etapas são conhecidas como ciclo de busca e ciclo de execução.

A execução do programa só termina se:


• A máquina for desligada;
• Se houver algum tipo de erro irrecuperável;
• Se for encontrada uma instrução do programa que interrompa o computador.
Interrupções

• Praticamente todos os computadores oferecem um mecanismo por meio do qual


outros módulos (E/S, memória) podem interromper o processamento normal do
processador.

• A tabela abaixo lista as classes mais comuns de interrupções:


Interrupções

• As interrupções são fornecidas em primeiro lugar como um modo de melhorar a


eficiência do processamento.

• Com as interrupções, o processador pode estar engajado na execução de outras


instruções enquanto uma operação de E/S está em andamento.

• Depois que essas poucas instruções tiverem sido executadas, o controle retorna ao
programa do usuário.

• Enquanto isso, o dispositivo externo está ocupado aceitando e imprimindo dados


vindos da memória do computador.
Interrupções

• Essa operação de E/S é realizada simultaneamente com a execução de instruções no


programa do usuário.

• Quando o dispositivo externo está pronto para ser atendido — ou seja, quando estiver
pronto para aceitar mais dados do processador —, o módulo de E/S para o dispositivo
externo envia um sinal de requisição de interrupção ao processador.

• O processador responde suspendendo a operação do programa atual, desviando para


um programa para atender a esse dispositivo de E/S em particular, conhecido como
tratador de interrupção, e retomando a execução original depois que o dispositivo for
atendido.
Barramento
Um barramento é um caminho de comunicação que conecta dois ou mais dispositivos. Uma característica-chave é
que ele é um meio de transmissão compartilhado. Cada linha é capaz de transmitir sinais representando o binário
1 e o binário 0. Com o tempo, uma sequência de dígitos binários pode ser transmitida por uma única linha.
Juntas, várias linhas de um barramento podem ser usadas para transmitir dígitos binários simultaneamente (em
paralelo).
Um barramento que conecta os principais componentes do computador (processador, memória, E/S) é chamado
de barramento do sistema. Um barramento do sistema consiste, normalmente, em cerca de 50 a centenas de
linhas separadas.
As linhas de dados oferecem um caminho para movimentação de dados entre os módulos do sistema. Essas
linhas, coletivamente, são chamadas de barramento de dados.
As linhas de dados oferecem um caminho para movimentação de dados entre os módulos do sistema. Essas
linhas, coletivamente, são chamadas de barramento de dados, e podem consistir de 32, 64, 128 ou mais linhas
separadas. sendo que o número de linhas é conhecido como a largura do barramento de dados. Cada linha só
pode transmitir 1 bit de cada vez.
As linhas de endereço são usadas para designar a origem ou o destino dos dados no barramento de dados.
Também usadas para endereçar portas de E/S.
As linhas de controle são usadas para controlar o acesso e o uso das linhas de dados e endereço.
Conversão de numérica – Binário > Decimal
milhar centena dezena unidade

2134 10¹
= 2 x 10³ + 1 x 10² + 3 x 10¹ + 4 x 100

= 1 x 2³ + 1 x 2² + 1 x 2¹ + 0 x 20

1110
23 22 2¹ 20
=1x8

=8
+

+
1x4

4
+

+
1x2

2
+

+
0x1

= (14)10
Conversão de numérica – Binário > Decimal

= 1 x 2³ + 0 x 2² + 0 x 2¹ + 1 x 20

1001
23 22 2¹ 20
=1x8 + 0x4 + 0x2 + 1x1

=8 + 0 + 0 + 1

= (9)10
Conversão de numérica – Binário > Decimal

Macete
+ +

0 0 10 1010 16 8 4 2 1
1
2
3
4
1
10
11
100
11
12
13
14
1011
1100
1101
1110
10011
24 23 22 2¹ 20
5 101 15 1111
6 110 16 10000
7 111 17 10001
= (19)10
8 1000 18 10010
9 1001 19 10011
Conversão de numérica – Decimal > Binário

(13)10 = 13 2
1 6 2
0 3 2
1 1 2
(1101)2 1 0

O que sobrar de cada divisão, organizado do último para o primeiro, será resultado.
Conversão de numérica – Decimal > Binário
+ 12 + 13

16 8 4 2 1
(13)10 =

24
1101
23 22 2¹ 20

32 16 8 4 2 1
(40)10 =
101000
25 24 23 22 2¹ 20

Somando os valores de cada casa com dígito 1, ignorando os 0, o resultado é o valor em decimal
Sistema Sistema Sistema Sistema
Decimal Binário Octal Hexadecimal
0 0 0 0 A
1 1 1 1 B
2 2 2 C
3 3 3 D
4 4 4 E
5 5 5 F
6 6 6
7 7 7
8 8
9 9
Conversão de numérica – Octal > Decimal

247
82 8¹ 80 = 2 x 64 + 4x8 + 7x1
= 128 + 32 + 7

= (167)10
Conversão de numérica – Hexadecimal > Decimal

2AC
162 16¹ 160 = 2 x 256 + 10 x 16 + 12 x 1
= 512 + 160 + 12

= (684)10
Conversão de numérica – Decimal > Octal

(143)10 = 143 8
7 17 8
1 2 8
2 0
(217)8

O que sobrar de cada divisão, organizado do último para o primeiro, será resultado.
Conversão de numérica – Decimal > Hexadecimal

(458)10 = 458 16
10 28 16
12 1 16
1 0
(1CA)16

O que sobrar de cada divisão, organizado do último para o primeiro, será resultado.
Conversão de numérica – Octal > Binário

2 3 =8
+
63
8¹ 80
= (110011)2
+

4 2 1 4 2 1

110
22 2¹ 20
01 1
22 2¹ 20
Conversão de numérica – Binário > Octal

23 =8
(1100101)2

001 100 101


4 2 1 4 2 1 4 2 1

1 4 5
Divida os números em grupos de 3, começando da direita para a esquerda, complete
com zero a ultima casa se necessário.
Conversão de numérica – Hexadecimal > Binário

2 4 = 16 2E
16¹ 160
= (101110)2
+ +

8 4 2 1 8 4 2 1

0010
23 22 2¹ 20
1110
23 22 2¹ 20
Conversão de numérica – Binário > Hexadecimal

24 = 16 (1100101)2

0 110
8 4 2 1
0101
8 4 2 1

6 5
Divida os números em grupos de 4, começando da direita para a esquerda, complete
com zero a ultima casa se necessário.
Lógica booleana
A lógica booleana é um ramo da matemática e da lógica que lida com o
estudo de proposições e operações lógicas. É amplamente utilizada em
ciência da computação, eletrônica digital e outras áreas.

Estuda as leis e processos formais de operações aplicados ao sistema binário.

Falso = 0 Verdadeiro = 1
Apagado = 0 Aceso = 1
Não tem = 0 Tem - 1
Desfavorável = 0 Com carga elétrica = 1
Sem carga elétrica = 0 Com carga elétrica = 1
Operadores Lógicos

AND OR NOT XOR


A A A
A
B B B

_
A.B A+B A A+B
Expressões Booleanas – Tabela Verdade
Expressão Booleana AND OR

S = (A.B) . (B+C)
Circuito Tabela Verdade

A B C A B C (A.B) (B+C) (A.B) . (B+C)


0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 1 0
0 1 1 0 1 0
1 0 0 0 0 0
1 0 1 0 1 0
1 1 0 1 1 1
1 1 1 1 1 1
Pergunta​ Resposta​ Lógica​ Símbolo​

Todas as entrada
AND​
precisam ser verdadeiras

Uma ou mais entradas precisa


OR​
m ser verdadeira​
O que é preciso para a saída
ser Verdadeira (1)​
O número de entrada verdadeir
XOR​
a precisa ser ímpar​

A entrada precisar ser falsa​ NOT​


Pergunta​ Resposta​ Lógica​ Símbolo​

Todas as entrada
NAND​
precisam ser verdadeiras

Uma ou mais entradas


O que é preciso para a saída NOR​
precisam ser verdadeira​
ser Falsa (0)

O número de
entrada verdadeira precisa XNOR​
ser ímpar​
Expressão Booleana
_________
A+B (A+B).(C+D)

1
C+D

_ _ _
A.B (A.B) + (C.D)

2 _
C.D
Expressão Booleana
______
_
A+(A.B)
______
_ ______
_
A+(A.B) + B+(A.B)

A.B

______
_
B+(A.B)
Memória ROM
ROM:
A sigla ROM significa Read Only Memory (Memória somente para leitura). As memórias ROM têm como
características:
• Não perdem seus dados quando são desligadas, o que significa que são memórias não-voláteis.
• Não podem, durante o seu uso normal, receber dados para serem armazenados. Seus dados são
armazenados apenas uma vez, durante o seu processo de fabricação.

TIPOS
MROM - ROM Mascarada - Gravada durante o processo de fabricação do componente;

PROM:
Significa Programmable Read Only Memory ROM, ou seja, ROM programável. Trata-se de um espécie de
ROM que é produzida apagada. O fabricante pode programá-las, ou seja, gravar seu programa. Esta
gravação pode ser feita apenas uma vez, pois utiliza um processo irreversível. Por isso, usa-se o termo
queimar a PROM quando se grava nesta memória.
Memória ROM
TIPOS
EPROM:
Significa Eraseable PROM, ou seja, uma ROM programável e apagável. Assim como ocorre com a PROM, a
EPROM pode ser programada e a partir daí, comporta-se como uma ROM comum, mantendo os dados
armazenados mesmo sem corrente elétrica, e permitindo apenas operações de leitura. A grande diferença é
que a EPROM pode ser apagada com raios ultravioleta de alta potência.

EEPROM
(Electrically-Erasable Programmable Read-Only Memory) Pode ser programada e apagada dentro do
próprio circuito, eletricamente, pela aplicação de sinais de programação especiais.

Flash ROM:
Esta é uma memória ROM que tem uma característica inovadora por ser gravada através de processos
eletrônicos especiais. Muitas placas de CPU que estão no mercado utilizam esse tipo de ROM para
armazenar dados do BIOS, e possuem ainda os circuitos que permitem a sua gravação. Dessa forma, o
usuário pode realizar atualizações no BIOS, fornecidas pelo fabricante da placa de CPU.

Entende-se, então, que as memórias ROM são usadas geralmente por chips que controlam as placas
adaptadoras e a placa-mãe.
Memória ROM

MROM - ROM Mascarada - Gravada durante o processo de fabricação do componente;

PROM - ROM Programável - Permite que o fabricante ou técnico eletrônico realize uma gravação;

EPROM - ROM Programável e Apagável - Permite gravação e apagamento dos dados através da
emissão de raios ultravioleta;

EEPROM - ROM Programável e Apagável Eletricamente - Permite gravação e apagamento dos


dados através da emissão de corrente elétrica;

Flash - Evolui da ROM (EEPROM) - O próprio usuário realiza as operações de gravação (escrita) e
leitura através de seus dispositivos.
Memória RAM – Memória Principal
A RAM (Random Access Memory - Memória de acesso aleatório) é a memória usada em alta escala e
cada vez em maior quantidade nos computadores e tem como principais características:
• Permite a leitura e a gravação de dados, enquanto as ROMs só servem para leitura.
• É volátil, isto é, a memória RAM perde todos os seus dados assim que é desligada. Isto não é nenhum
problema, pois quando o computador é ligado, o sistema operacional novamente é transferido do
disco rígido para a RAM.
Sua rapidez de acesso é crucial para o desempenho do sistema, superando outros tipos de memória como
discos rígidos e SSDs. A RAM é frequentemente usada para armazenar temporariamente dados que serão
utilizados pelo processador, aumentando a eficiência do sistema. Ela pode ser expandida ou atualizada,
permitindo melhor desempenho em tarefas que demandam grande quantidade de dados em memória
simultaneamente. Organizada em células de armazenamento acessíveis individualmente por endereços
únicos, sua capacidade de acesso aleatório é fundamental para o funcionamento eficiente do sistema
operacional e programas em execução.
Normalmente, um módulo de memória consiste em N palavras de mesmo tamanho. Cada palavra recebe
um endereço numérico exclusivo (0, 1, ..., N – 1). Uma palavra de dados pode ser lida ou escrita na
memória. A natureza da operação é indicada por sinais de controle de leitura e escrita. O local para a
operação é especificado por um endereço.
Memória Secundária
A memória secundária, também conhecida como armazenamento de massa, é um tipo de memória não-
volátil utilizada pelos computadores para armazenar dados e programas permanentemente, mesmo
quando o computador é desligado. Diferentemente da memória principal, que é volátil, a memória
secundária é capaz de manter o conteúdo armazenado mesmo em caso de falta de energia.

A memória secundária é composta por dispositivos de armazenamento como discos rígidos, unidades
flash USB, cartões de memória e discos ópticos. Ela é utilizada para armazenar os arquivos do sistema
operacional, aplicativos, documentos, imagens, músicas, vídeos e outros tipos de dados.

Ao contrário da memória principal, que é de acesso rápido, a memória secundária é relativamente lenta
em comparação e o acesso aos dados armazenados nela é realizado através de um sistema de leitura e
gravação de dados. No entanto, sua capacidade de armazenamento é muito maior do que a da memória
principal.
Registradores
Os registradores são circuitos digitais capazes de armazenar e deslocar informações binárias, e são
tipicamente usados como um dispositivo de armazenamento temporário.

Tipos de registradores
Existem vários tipos de registradores na CPU, cada um com uma função específica. Alguns dos tipos mais
comuns de registradores incluem:
• Registradores de uso geral (general-purpose registers)
• Registradores de endereços (address registers)
• Registradores de dados (data registers)
• Registradores de status (status registers)
Registradores
Registradores de Uso Geral
Os registradores de uso geral são os mais comuns e são usados para armazenar informações temporárias
que são usadas durante a execução do programa. Eles são chamados de registradores de uso geral porque
podem ser usados para armazenar qualquer tipo de dado.

Registradores de Endereços
Os registradores de endereços são usados para armazenar endereços de memória. Eles são usados para
acessar dados em memória, e são muito importantes para o funcionamento do computador.

Registradores de Dados
Os registradores de dados são usados para armazenar dados que serão processados pela CPU. Eles
são usados ​para armazenar temporariamente informações enquanto a CPU as processa.

Registradores de Status
Os registradores de status são usados para armazenar informações sobre o estado do processador.
Eles podem ser usados para armazenar informações como a presença de um erro, o sinal de interrupção,
o estado de espera da CPU e muitos outros.
Memória Cache
Memória cache é uma pequena quantidade de memória de alta velocidade e baixa capacidade que fica
localizada próxima ao processador de um computador. Ela é usada para armazenar temporariamente
dados e instruções que o processador provavelmente usará novamente em um futuro próximo.

O objetivo da memória cache é acelerar o acesso aos dados que o processador precisa, reduzindo o tempo
que ele leva para acessar dados na memória principal (RAM). Como a memória cache é muito mais rápida
do que a memória RAM, o processador pode acessar esses dados mais rapidamente, o que melhora
significativamente o desempenho geral do sistema.

Existem vários níveis de memória cache em um computador moderno, com diferentes tamanhos e
velocidades. Os níveis mais próximos do processador (L1 e L2) são os mais rápidos e menores, enquanto os
níveis mais distantes (L3) são maiores e mais lentos. Cada nível de cache armazena dados diferentes, com o
L1 armazenando os dados mais frequentemente usados e o L3 armazenando dados menos frequentemente
usados.
Links de apoio:
Notação Posicional - Bases Numéricas #01 (youtube.com)
Números Binários - Bases Numéricas #02 (youtube.com)
Números Octais e Hexadecimais - Bases Numéricas #03 (youtube.com)
Relações entre Sistemas de Numeração - Bases Numéricas #04 (youtube.com)
A REVOLUÇÃO ELÉTRICA #SagaDosComputadores Ep.2 (youtube.com)
Álgebra booleana e portas lógicas NOT, AND, OR, XOR | GUIA DEFINITIVO (youtube.com)
Como REPRESENTAR e RESOLVER expressões booleanas? (youtube.com)
AND e NOT - e e ou lógico | APRENDA JOGANDO | MAKE IT TRUE (youtube.com)
Expressões Booleanas obtidas de circuitos lógicos com Exercicios resolvidos (youtube.com)
Circuitos obtidos a partir de expressões Booleanas (youtube.com)
Expressões Booleanas obtidas de Circuitos Lógicos (youtube.com)
(E.D - 008) - Circuitos Lógicos Obtidos de Expressões Booleanas (youtube.com)
Expressões Booleanas e Circuitos Lógicos Digitais - Eletrônica Fácil (youtube.com)
PORTAS LÓGICAS APRENDA E NÃO ESQUEÇA NUNCA MAIS (DICA INCRÍVEL!) (youtube.com)

Você também pode gostar