Escolar Documentos
Profissional Documentos
Cultura Documentos
Revisão - A2 (Primeira Prova)
Revisão - A2 (Primeira Prova)
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;
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
De acordo com Tanebaum, um sistema computacional é composto por três componentes principais:
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
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
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
Compilada Interpretada
É 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.
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.
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
• Depois que essas poucas instruções tiverem sido executadas, o controle retorna ao
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.
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
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.
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
_
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
Todas as entrada
AND
precisam ser verdadeiras
Todas as entrada
NAND
precisam ser verdadeiras
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
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;
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)