Buscar

Resumo Organização de Computadores - Anotações Aulas

Prévia do material em texto

ORGANIZAÇÃO DE COMPUTADORES (CCT0256/1916287) 9009 
 
Aula 1: Princípios de Funcionamento de um Computador 
 
Computador: É uma máquina capaz de sistematicamente tratar e fornecer os resultados derivados do 
processamento dos dados com um ou mais objetivos. Podemos dizer que a sua função é transformar 
dados em informações. O ato de transformar dado em informação é denominado processamento. 
Computador = Hardware + Software 
 
Dado: é a matéria prima obtida na etapa de coleta (entrada). 
Informação é o resultado obtido pelo tratamento destes dados (saída). 
Conhecimento: abstração interior, pessoal, de algo que foi experimentado, vivenciado por alguém. 
Etapas básicas de processamento: DADOS (entrada) – PROCESSAMENTO - INFORMAÇÃO (saída) 
 
Um computador é constituído por diversos componentes visíveis tais como monitor, teclado, mouse e por 
outros menos visíveis tais como processador e memória que ficam embutidos em um gabinete. Para que 
este conjunto de componentes funcione para a execução de uma tarefa, é necessária a existência de uma 
sequência de instruções denominada programa. Os componentes físicos de um computador são chamados 
de hardware e o programa responsável pela utilização do hardware é denominado software. 
Hardware: Placa Mãe. Processador. Memória. HDD. Dispositivo de Entrada e Saída. Barramento 
Software: Fundamentos da programação. Linguagem de programação. Sistema Operacional 
 
Base Lógica do Processamento: Algoritmos são conjuntos sistemáticos e formalizados de instruções para 
resolução de um problema. 
 
Sistema embarcado (ou sistema embutido) é um sistema microprocessado no qual o computador é 
completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla. Diferentemente de 
computadores de propósito geral, como o computador pessoal, um sistema embarcado realiza um 
conjunto de tarefas predefinidas, geralmente com requisitos específicos. Já que o sistema é dedicado a 
tarefas específicas, através de engenharia pode-se otimizar o projeto reduzindo tamanho, recursos 
computacionais e custo do produto. 
 
A linguagem é dita de baixo nível quanto mais próxima estiver do hardware, ou seja, é de mais difícil 
entendimento pelo ser humano, menos intuitiva, mais próxima do código de máquina. Já a linguagem de 
alto nível tem comandos mais intuitivos, proporcionando entendimento mais fácil pelo ser humano, pois 
tem comandos mais próximos da linguagem escrita que utilizamos para nos comunicar. Os ambientes de 
alto nível permitem inclusive programar e forma visual, o código é gerado automaticamente. 
 
Processamento de dados é a tarefa de transformar dados em informação. Essa tarefa pode ser executada 
por um computador. Para que o computador faça essa tarefa é necessário que exista um programa que 
determine como esta tarefa deve ser executada. Para desenvolvimento de um programa utilizamos uma 
linguagem de programação. O programa escrito nesta linguagem é transformado em código de máquina 
através dos processadores de compilação e ligação. Compilador converter um programa escrito em uma 
linguagem de alto nível em código binário, resultando no chamado código objeto. 
 
Aula 2: Unidades de Armazenamento de Dados 
 
As Unidades de informação são denominadas: Bit, Byte, Word e Múltiplos. Algumas como você pode 
perceber, vêm do idioma inglês. 
O Bit: é a unidade para composição de uma informação. O bits 0 e 1 são os algarismos na numeração 
binária e, com estes dois algarismos, todos os demais números podem ser representados. 
O Byte: é a unidade mínima de informação composta por 8 bits. 
O Word: é a unidade de armazenamento e recuperação de uma informação; múltiplo de byte. 
Os Múltiplos: estes são representados pela potência de 2. 
 
O sistema de numeração decimal, também chamado de base 10, é o mais conhecido, porém os 
computadores utilizam o sistema binário, ou seja, utilizam a base 2. Como esta representação pode ser 
muito longa, costuma-se representar os números no sistema hexadecimal ou base 16. Os números 
representados em uma determinada base são compostos pelos algarismos da base, que variam de 0 até o 
algarismo representado pela base menos uma unidade (base-1). Por exemplo, se a base é 10 os 
algarismos irão de 0 até 9 (9 = 10-1). 
 
Decimal: Algarismos na Base 10 - A representação dos números nas bases binária e hexadecimal obedece 
às mesmas regras da representação na base decimal. 0 1 2 3 4 5 6 7 8 9 
Considere o número 11 na base decimal. Este número é composto pela base + uma unidade. Então: 
11 = 1 * 101 + 1 * 100 
Esta forma pode ser generalizada pelo somatório de cada algarismo multiplicado pela potência da base 
equivalente a sua posição. Então, na base decimal, tem-se: 
234 = 2 * 102 + 3 * 101 + 4 * 100 
 
Binário: Algarismos na base 2 - Para as demais bases, utiliza-se o mesmo princípio. 0 1 
1010 = 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20 
Que é equivalente ao número 10 na base decimal. 
 
Hexadecimal: Algarismos na base 16 - Para as demais bases, utiliza-se o mesmo princípio. 0 1 2 3 4 5 6 7 
8 9 A B C D E F 
A25 = A * 162 + 2 * 161 + 5 * 160 
Que é equivalente ao número 2597 na base decimal. Repare que a letra A equivale ao número 10 na base 
decimal 
 
1 Bit: 0 1 = 2=21 possibilidades; 
2 Bits: 00 01 10 11 = 4=22 possibilidades; 
n Bits: 00n 01n = 2n possibilidades. 
 
OBS: 256 - 128 – 64 – 32 – 16 - 8 – 4 – 2 - 1 
 
Combinações permitidas com n dígitos em uma base B 
Para uma determinada base B, empregando-se n dígitos pode-se representar B combinações distintas. 
Considere, por exemplo, a representação em base decimal com 3 dígitos. Esta representação fornece 
1000 números distintos (de 0 a 999). Se, no entanto, utilizarmos a base binária, para os mesmos 3 
dígitos, tem-se 8 números distintos (de 0 a 7). 
 
KB = 210 = 1024 byte 
MB = 220 = 2048 
GB = 230 = 3072 
TB = 240 = 4096 
PB = 250 = 5120 
 
 
Os Números podem ser representados em bases diferentes. As bases 2 (binário) e 16 (Hexadecimal) são 
as mais utilizadas na informática. 
 
OBS: A arquitetura de von Neumann descreve um computador que depende da capacidade de 
processamento e de armazenagem de memória. Em termos práticos, tanto processadores quanto 
dispositivos de memórias ganharam considerável avanço. Assim, pode-se dizer que os gargalos dessa 
arquitetura foram vencidos? 
R: Não, um dos gargalos mais importantes da arquitetura de von Neumann é a comunicação entre a 
memória principal e a Unidade Central de Processamento. Diversos métodos são usados para tratar esse 
problema, entre eles a memória cache e a computação em paralelo. 
- Utilizando-se um byte, quantas combinações distintas podemos representar? 256 combinações 
 
Aula 3: Representação da Informação 
 
Conversão entre os sistemas de numeração: Em nosso cotidiano, utilizamos a base decimal para 
expressar medidas e seus múltiplos. Esta forma de representação é intuitiva se lembrarmos do conceito 
de bit. A representação em hexadecimal aparece, então, como uma alternativa entre a forma decimal, 
que não pode ser expressa em potência de 2 e a forma binária, que utiliza muitos dígitos em sua 
representação. Um número em hexadecimal é identificado por ser seguido por uma letra h. A conversão 
entre bases, consiste em representar um número em uma outra base e, para isso, serão apresentados 
algoritmos de conversão. 
 
Decimal – Binário: REGRA: 1) Realizar divisões sucessivas por 2 enquanto quociente DIFERENTE DE zero. 
REGRA: 2) Os “restos” (de trás para frente) irão formar o número convertido. 
451 |_2_ 
 1 225 |_2_ 
 1 112 |_2_ 
 0 56 |_2_ 
 0 28 |_2_ 
 0 14 |_2_ 
 0 7 |_2_ 
 1 3 |_2_ 
 1 1 |_2_ 
 1 0 
Então: 45110 = 1110000112 Conferindo: 1*28+1*27+1*26+1*21+1*20 =256+128+64+2+1 = 451 
 
Decimal – Hexadecimal: REGRA: 1) Realizar divisões sucessivaspor 16 enquanto quociente DIFERENTE 
DE ZERO. REGRA: 2) Os “restos” (de trás para frente) irão formar o número convertido. 
451 |_16_ 
 3 28 |_16_ 
 12 1 |_16_ 
1 0 
Então: 45110 = 1C316 Conferindo: 1*162+12*161+3*160 = 256+192+3 = 451 
 
Binário – Hexadecimal: Cada conjunto de 4 bits representa um dígito em hexadecimal, pois com 4 bits 
podemos escrever 16 números diferentes (24 = 16). O número é convertido da direita para a esquerda. 
24 = 16 = 1 1 1 0 0 0 0 1 12 
 
Hexadecimal – Binário: Analogamente ao item anterior, cada dígito em hexadecimal é convertido em 4 
dígitos binários. Cada algarismo é representado por 4 bits. 24 = 16 = 1 1 1 0 0 0 0 1 1 
Representação de números inteiros: Conforme visto na aula anterior, um número inteiro positivo é 
representado com n bits em uma base binária B no intervalo entre 0 e Bn -1. Como representar, então, 
números negativos na base binária? 
Sinal e magnitude: A forma mais simples é a utilização da representação denominada sinal e magnitude, 
onde o dígito mais significativo indica o sinal: 0 representa um número positivo e 1 representa um 
número negativo. O número zero possui, então, duas representações possíveis. Exemplo considerando a 
representação binária com 5 bits: 12 = 0 1 1 0 0 ---- -12 = 1 1 1 0 0 Esta representação é 
particularmente trabalhosa quando são efetuadas operações de soma entre dois números, onde um deles 
é negativo. O máximo que posso representar é -15 = 1 1 1 1 1 ---- 15 = 1 1 1 1 
Complemento a base -1: Complemento é a diferença entre cada algarismo do número e o maior algarismo 
possível na base. A utilização da representação em complemento simplifica a subtração entre dois 
números. O número que será subtraído (negativo) é substituído pelo respectivo complemento e, então, 
somado. Considerando a utilização de base binária, a operação é feita através de complemento a 1, que 
se resume na inversão de todos os dígitos. Exemplo considerando a representação binária com 5 bits: -12 
= 1 0 0 1 1 ---- 12 = 0 1 1 0 0 
Complemento a base: A representação mais utilizada para números negativos corresponde ao 
complemento à base, que, no caso de base binária, é chamado de complemento a 2. Para obtenção de 
um número negativo expresso em complemento a 2, o número deverá ser invertido e, em seguida, ser 
adicionado do valor 1. Esta forma garante uma única representação para o número zero. OBS: Encontre o 
nº 1 escreva ele e inverta o restante. 
Ex.: Decimal = -10; Sinal e magnitude = 11010; Complemento a 1 = 10101; Complemento a 2 = 10110 
 
Somando e Subtraindo 
Sinal e Magnitude: Registra-se o sinal do maior número e subtrai a magnitude. 
 0 01010 (10) 
 1 00111 (-7) 
 0 00011 (3) 
Lembre-se que para subtrair 1 de 0 é preciso “pedir emprestado” 
Complemento a 1: Efetua a soma bit a bit (inclusive sinal) “vai um” para fora do número é somado ao 
resultado. Se não houver “vai um” para fora do número, o resultado é negativo e deve ser 
complementado (mantendo o sinal). 001010 (10) 
 + 111000 (-7) 
Complemento a 2: Efetua a soma bit a bit (inclusive sinal) “vai um” para fora do número indica resultado 
positivo. Se não houver “vai um” para fora do número, o resultado é negativo e deve ser complementado 
(mantendo o sinal). 001010 (10) 
 + 111001 (-7) 
 000011 (3) 
 
Representação de caracteres: Para representação de caracteres são utilizadas tabelas que transformam 
caracteres não numéricos em números para que possam ser armazenados em formato binário. Os 
padrões são: ASCII – American Standard Code for Information Interchange: Padrão vigente na forma 
estendido com suporte para 256 caracteres (8 bits); EBCDIC - Extended Binary Coded Decimal 
Interchange Code: Padrão em desuso utilizado pela IBM; UNICODE: Padrão em implantação que utilize 16 
bits, permitindo o uso de caracteres específicos de determinados idiomas. Este padrão preserva os 
códigos da tabela ASCII. 
 
Aula 4: Conceitos de Lógica Digital 
 
Nesta aula iremos apresentar os conceitos básicos de lógica digital. 
Você conhecerá os símbolos utilizados para representação de 
portas lógicas e como eles são utilizados na construção de uma 
tabela-verdade. 
PORTAS LÓGICAS: Os circuitos digitais são formados por elementos 
capazes de manipular apenas grandezas binárias. Estes elementos 
são chamados de portas. As portas são, então, elementos de 
hardware que recebem um ou mais sinais de entrada e produzem 
um sinal de saída, cujo valor é o resultado de uma operação lógica. A informação binária é representada 
por um sinal digital onde: +3V = Representam o bit 1. +0,5V = Representam o bit 0. 
OPERAÇÕES LÓGICAS: As operações lógicas são apresentadas pelas seguintes palavras: 
AND: Produz resultado verdade se e somente se todas as entradas forem verdade. 
A B Q 
0 0 0 
0 1 0 
1 0 0 
1 1 1 
OR: Produz resultado verdade se pelo menos uma das entradas for verdade. 
A B Q 
0 0 0 
0 1 1 
1 0 1 
1 1 1 
NOT: Inverte o valor da entrada, o que é verdade vira falso e vice-versa. 
A Q 
1 0 
0 1 
NAND: Produz o inverso da saída AND, trata-se da combinação NOT com AND. 
A B Q 
0 0 1 
0 1 1 
1 0 1 
1 1 0 
NOR: Produz resultado verdade se e somente se todas as entradas forem falsas, trata-se da combinação 
NOT com OR. A B Q 
0 0 1 
0 1 0 
1 0 0 
1 1 0 
XOR: Produz resultado verdade se os valores de sua entrada forem diferentes. 
A B Q 
0 0 0 
0 1 1 
1 0 1 
1 1 0 
 
O resultado de uma expressão lógica será sempre VERDADEIRO ou FALSO. O resultado verdadeiro 
equivale ao valor 1. O resultado falso equivale ao valor 0. 
As operações lógicas podem ser representadas de duas maneiras: Representação 
matemática (algébrica). Símbolo gráfico. Representação Matemática das 
operações lógicas, considerando A e B entradas: 
 
TABELA VERDADE E EXPRESSÕES LÓGICAS: Expressão lógica 
é uma expressão algébrica formada por variáveis lógicas e por 
símbolos representativos de operações lógicas. O valor do 
resultado de uma expressão lógica pode ser obtido por uma 
tabela-verdade construída com todas as possibilidades de entrada e as 
correspondentes saídas. Exemplo: Considere a expressão F = X + Y * Z onde 1 
representa um resultado verdadeiro e 0 um resultado falso. 
 
A negação (NOT) é vem na frente de tudo. Tal como 
acontece na álgebra dos reais, a multiplicação (AND) tem 
precedência sobre a adição (OR). Além disso, expressões 
entre parênteses têm precedência. 
 
 
 
 
 
Saiba mais 
Sistemas Digitais – Thomas Floyd – disponível no Google Livros: http://www.books.google.com 
 
Aula 5: Álgebra Booleana 
 
A Álgebra Booleana é uma área da Matemática que trata de regras e elementos de lógica. Assim como na 
Álgebra comum, a Álgebra Booleana trata de variáveis e de operações com estas variáveis, porém utiliza 
variáveis binárias em que o valor 1 equivale à condição verdadeira e o valor 0, à condição falsa. Uma 
expressão lógica pode ser simplificada garantindo, assim, circuitos mais simples e mais baratos de serem 
produzidos. Essa simplificação deve seguir as seguintes regras, 22 no total: 
 
 
Vamos ver agora um exemplo de simplificação de expressões utilizando as regras apresentadas. 
Simplificar a expressão, provando a regra 16: 
 
OBS: Dada a expressão: A+(B C). Marque o item que corresponde a mesma expressão. (A+B).(A+C) 
 
Revisão - Aula 1 a 5 
 
O que é um computador: Máquina destinada ao processamento de dados, capaz de receber instruções 
com o objetivo de transformar esses dados e alcançar um fim. Entrada – Transformação – Saída; 
adequando ao jargão técnico... Dados – Processamento – Informação. 
 
Computador = Hardware + Software: O hardware é a parte física do computador, ou seja, tudo aquilo que 
tocamos. É formado pelas placas,pelos componentes eletrônicos. Já o software é a parte lógica, ou seja, 
o que instalamos, programamos. Quando o computador não funciona, o hardware é o que você chuta e o 
software é o que você xinga. 
 
PROCESSAMENTO DE DADOS é a tarefa de transformar dados em informações. Esta tarefa pode ser 
executada por um COMPUTADOR. Para que o computador faça uma tarefa é necessário que exista um 
PROGRAMA que determine como esta tarefa deve ser executada. Para desenvolvimento de um programa 
utilizamos uma LINGUAGEM DE PROGRAMAÇÃO. O programa escrito nesta linguagem é transformado em 
CÓDIGO DE MÁQUINA através dos processos de compilação e ligação. 
 
Que sistema (Base) utilizamos: Utilizamos o sistema decimal (base 10), no qual temos algarismos de 0 a 
9 representando valores de unidades, dezenas, centenas, etc. Dependendo da posição (notação 
posicional) o algarismo assume um valor diferente. Cada posição corresponde a uma potência da base 
começando em ZERO (mais à direita). Por exemplo: 258 na base 10 ou 25810 
 258 = 2 * 102 + 5 * 101 + 8 * 100 
 (2 centenas + 5 dezenas + 8 unidades) 
 
A Base é a base de tudo: Algarismos na base decimal (10): 0 1 2 3 4 
5 6 7 8 9 - Algarismos na base binária (2): 0 1 - Algarismos na base 
hexadecimal (16): 0 1 2 3 4 5 6 7 8 9 A B C D E F. 
 
Bit (BInary digiT): 0 1 – Cada posição pode ter 2 valores. 
1 bit: 0 1 - 2 = 21 possibilidades 
2 bits: 00 01 10 11 - 4 = 22 possibilidades 
n bits: 00n 01n - 2n possibilidades 
 
Combinações permitidas com n dígitos em uma base B: Para uma determinada base B, empregando-se n 
dígitos pode-se representar Bn combinações distintas. Considere, por exemplo, a representação em base 
decimal com 3 dígitos. Esta representação fornece 103 (portanto, 1000) números distintos (de 000 a 
999). Se, no entanto, utilizarmos a base binária, para os mesmos 3 dígitos, tem-se 23 (portanto, 8) 
números distintos (de 000 a 111). 
Os números podem ser representados em bases diferentes. As bases 2 (binário) e 16 (hexadecimal) são 
as mais utilizadas na informática. Saber operar com números binários e seus múltiplos é fundamental e 
facilitará seu trabalho na informática. 
 
Os números negativos 
Sinal e Magnitude: -10 = 1 1010 onde o primeiro um é o Sinal e o resto é a magnitude. Um bit reservado 
para sinal (o mais significativo). 
Complemento A1: -10 = 1 0 1 0 1 onde o primeiro um é o Sinal e o resto é invertido (1010 invertido). 
Diferença entre cada algarismo do número e o maior algarismo possível na base. Para a base 2 o maior 
algarismo é o 1 e, para este caso, equivale a inverter todos os dígitos. Para n bits metade das 
combinações representa números positivos e a outra metade números negativos. 
Complemento A2: -10 = 1 0 1 1 0 onde o primeiro um é o Sinal e o resto é mais 1 (0101 +1). Obtido a 
partir do complemento a 1 de um número binário, somando-se 1. Para n bits metade das combinações 
representa números positivos e a outra metade números negativos. Representação mais utilizada. 
 
Somando e Subtraindo 
Sinal e Magnitude: Registra-se o sinal do maior número e subtrai a magnitude. Lembre-se que para 
subtrair 1 de 0 é preciso “pedir emprestado” 
Complemento A1: Efetua a soma bit a bit (inclusive sinal). “vai um” para fora do número é somado ao 
resultado. Se não houver “vai um” para fora do número, o resultado é negativo e deve ser 
complementado (mantendo o sinal). 
Complemento A2: Efetua a soma bit a bit (inclusive sinal). “vai um” para fora do número indica resultado 
positivo. Se não houver “vai um” para fora do número, o resultado é negativo e deve ser complementado 
(mantendo o sinal). 
 
O que são Portas Logicas: Os circuitos digitais são formados por elementos capazes de manipular apenas 
grandezas binárias, chamados de portas lógicas. Esses elementos de hardware recebem (um ou mais) 
sinais de entrada e produzem um sinal de saída. Verdadeiro ou Falso 
AND: Produz resultado verdade SE E SOMENTE SE todas as entradas forem verdade. 
OR: Produz resultado verdade SE PELO MENOS UMA DAS ENTRADAS for verdade. 
NOT: INVERTE o valor de entrada, o que é verdade vira falso e vice-versa. 
NAND: Produz o INVERSO da porta AND, trata-se da combinação NOT com AND. 
NOR: Produz o INVERSO da porta OR, trata-se da combinação NOT com OR. 
XOR: Produz resultado verdade se as entradas forem diferentes. 
A negação (NOT) é vem na frente de tudo. Tal como acontece na álgebra dos reais, a multiplicação (AND) 
tem precedência sobre a adição (OR). Além disso, expressões entre parênteses têm precedência. 
 
Álgebra Booleana: Vimos na aula passada que os circuitos digitais são representados por expressões, 
cujas entradas são combinadas e a saídas analisadas através da tabela-verdade. Mas, será que podemos 
reduzir o tamanho dessas expressões e, consequentemente, os circuitos sem alterar os resultados obtidos 
na saída? É exatamente nesse contexto que iremos estudar as regras (22 no total) de simplificação da 
Álgebra de Booleana. 
 
Aula 6: Modelo de Von Neumann 
 
Um pouco de história - John Von Neumann foi um matemático húngaro (1903-1957) com diversas 
contribuições significativas na matemática e na física. Foi professor da Universidade de Princeton e um 
dos construtores do ENIAC. A sua grande contribuição para a computação foi propor que os dados lidos 
em cartões perfurados fossem gravados na memória do computador. 
Características do Modelo de Von Neumann: Dados e instruções fossem armazenados em uma única 
memória que seria utilizada tanto para leitura quanto para escrita. Os dados armazenados na memória 
poderiam ser acessados através de endereços. A execução de um programa ocorre sequencialmente, por 
ordem de endereços, exceto se for feita algum desvio explícito no programa. 
O Modelo proposto por Von Neumann (1945) é formado por uma CPU (Central Processing Unit), memória, 
unidade de entrada e unidade de saída, conectados entre si através de um barramento. 
A CPU (Processador) é composta por: Unidade Lógico-Aritmética: responsável pela execução de operações 
lógicas e aritméticas efetuando transformações sobre os dados. Unidade de Controle: responsável pela 
interpretação e execução de comandos. Registradores Internos: conjunto de células que funcionam como 
pequenas memórias para leitura e gravação temporária de dados. Registradores especiais: Registrador de 
Instruções (IR - Instruction Register) Armazena a instrução que está sendo executada; Registrador de 
estado (PSW - Program Status Word) Armazena condições de estado geradas pela unidade aritmética e 
lógica gerando informações para a unidade de controle. Contador do programa (PC - Program Counter) 
Armazena o endereço da próxima instrução que será executada. 
Memória: Comunicação CPU/Memória. A comunicação entre CPU e memória utiliza dois registradores 
específicos: RDM (Registrador de Dados da Memória) - Armazena o conteúdo da palavra lida ou que será 
escrita na memória, Célula de 32 bits - RDM com 32 bits. REM (Registrador de Endereços da Memória) - 
Armazena o endereço da palavra na memória, Memória com 256 células - REM com 8 bits. 
Barramento: Conectam CPU/Memória/Controladores de dispositivos de E/S. São divididos em 3 partes: 1- 
Controle: define o tipo de operação. 2- Dados: informa o que será lido/escrito. 3- Endereço: informa o 
endereço para leitura/escrita. 
Programação: Programação sequencial. O valor de uma variável é alterado durante a execução de um 
programa. Instruções e dados são armazenados indistintamente. 
 
Limitações Originais: Grande quantidade de acessos a memória. Velocidade dos novos dispositivos. 
Execução em paralelo 
 
Atividades 
Qual a Função do barramento controle? O Barramento de Controle (Control Bus) sincroniza as atividades 
do sistema. Ele conduz o status e a informação de controlede/para o Microprocessador. Para um 
Barramento de Controle ser formado, ao menos 10 (geralmente são mais) linhas de controle são 
necessárias. 
- Barramento: Praticamente todos os componentes de um computador, como processadores, memórias, 
placas de vídeo e diversos outros, são conectados à placa-mãe a partir do que chamamos de barramento. 
Há três funções distintas nos principais barramentos de um computador, que, em termos simples, 
conectam o processador, a memória e os outros componentes conectados a ele pelo que chamamos de 
barramentos de entrada e saída. Barramento de dados - como o próprio nome já deixa a entender, é por 
este tipo de barramento que ocorre as trocas de dados no computador, tanto enviados quanto recebidos. 
Barramento de endereços - indica o local onde os processos devem ser extraídos e para onde devem ser 
enviados após o processamento. Barramento de controle - atua como um regulador das outras funções, 
podendo limitá-las ou expandi-las em razão de sua demanda 
 
OBS: Qual opção define um dos gargalos mais importantes da arquitetura de von Neumann? É a 
comunicação entre a memória principal e a Unidade Central de Processamento. 
- Responsável por ler e interpretar as instruções lidas da memória de instruções. Dar ordens à unidade de 
dados para executar operações, coordenar as leituras e escritas na memória de dados, coordenar a 
comunicação com o mundo exterior através dos periféricos: Unidade de Controle 
 
Aula 7: Instruções 
 
Conjunto de Instruções: Todo o processador é fabricado contendo um conjunto de instruções que define 
quais operações ele pode realizar. A instrução utiliza registradores de uso geral para armazenamento 
temporários dos dados que serão processados e de uso específico para funções pré definidas de controle 
ou destinadas a uma forma de armazenamento implícito. Ninguém programa diretamente utilizando as 
instruções do processador! Os programas são desenvolvidos em linguagens de alto nível. Os compiladores 
são responsáveis por transformar este programa para uma linguagem de montagem (Assembly), que é a 
representação textual das instruções como, por exemplo, ADD, MOV, INC etc. 
 
Tipos de Instruções: Existem três tipos de instrução: - Instruções aritméticas e lógicas: Realizam 
operações aritméticas (ADD, SUB ...) e lógicas (AND, OR). - Instruções de movimentação de dados: 
Transferem dados entre registradores ou entre registrador e memória principal (MOV). - Instruções de 
transferências de controle: Executam o desvio do fluxo sequencial do código (JMP). 
Alguns processadores possuem ainda instruções para tratamento de ponto flutuante, manipulação de bits 
e manipulação de cadeias de caracteres (strings). 
 
Executando uma instrução: A execução de uma instrução é dividida em etapas. São elas: Busca – 
Decodificação – Busca operandos – Fim – Nova Instrução 
 
Uma instrução possui dois formatos básicos, que são: Código da operação – Operando. As instruções 
podem ter mais de um operando ou nenhum operando. 
- Código da Operação: Indica que operação será executada. A quantidade de bits destinada a este código 
determina o número máximo de instruções possíveis. 
- Operando: Indica o(s) dado(s) que será(ão) manipulado(s). Operações aritméticas possuem em geral 2 
ou 3 operandos. Exemplos: ADD R1, R2, R3: operação de soma onde a soma de R1 e R2 é armazenado 
em R3. ADD R1, R2: o valor de R2 é adicionado ao valor de R1 e armazenado em R2. - ADD: soma o 
primeiro operando com o segundo, o resultado fica armazenado no primeiro operando: ADD op1, op2 --- 
ADD R, op1 - MOV: copia o segundo operando (fonte) para o primeiro operando (destino): MOV op1,op2 - 
JNZ: desvia a execução do programa para o endereço indicado: JNZ op1. 
 
Modelos de Endereçamento 
- Imediato: Utiliza um valor como operando e não um endereço na memória. Ex.: ADD #4, R1 --- O valor 
4 é adicionado ao registrador R1. 
- Direto: Indica o endereço de memória onde está o operando. Ex.: ADD (20), R1 --- O conteúdo do 
endereço 20 é adicionado a R1. 
- Indireto: Indica um ponteiro para o operando. Ex.: ADD (R1), R2 --- R1 contém o endereço do valor que 
será adicionado a R2. 
- Por Registrador: O endereço se refere a um registrador. ADD R, op1 
- Relativo a base ou Deslocamento: Endereço obtido pela soma do operando com o conteúdo de um 
registrador base. Ex.: ADD 20(R1), R2 --- O endereço é dado pelo deslocamento R1 a partir da base 20. 
- Indexado: Índice para uma estrutura (vetor). Ex.: ADD (R1+R2), R3 --- O endereço é fornecido pela 
soma do endereço base R1 com o deslocamento R2. 
 
OBS: Determinada instrução tem no seu campo de dado o valor a ser usado como operando: Imediato 
- Determinada instrução tem no seu campo de dado o endereço no qual tem o endereço onde está o 
dado: Indireto. 
- Instruções de transferência de controle alteram o fluxo normal de execução de programas. Elas alteram 
o conteúdo do registrador Program Counter - PC. Esta alteração faz com que todo o esforço para acelerar 
a execução de programas pelo fetch antecipado de instruções seja perdido. Como se chama esta técnica 
de antecipação mencionada? R: Pipeline. 
- Sabemos que os dados são tratados e armazenados na memória. No entanto, eles devem ser lidos e 
colocados à disposição para o usuário, que não tem acesso à memória do computador. Isto deve ser feito 
através de instruções de entrada e saída. R: Movimentações 
 
Aula 8: Processador 
 
Já sabemos como um computador é inicializado (procedimento de BootStrap = O computador é 
inicializado da seguinte forma: Energia. Registradores inicializados. Executa instrução. BIOS (POST, 
SETUP, Carga do S.O.)) e, com isso, entendemos que o processador é composto por circuitos capazes de 
executar instruções. A função do processador é, então, executar instruções e, para isso, obedece ao ciclo 
de busca, decodificação e execução da instrução. 
Início – Buscar uma Instrução na memória – Decodificar instrução/operação – Buscar 
comandos/operadores – Executar operação – Guardar o resultado (se for o caso) - Escrever Resultados – 
Término. 
As funções realizadas pelo processador podem ser divididas em dois grupos: Controle e Processamento 
- Função de Controle: Responsável pela busca, interpretação e controle de execução das instruções. 
Componentes: Unidade de controle. Registrador de Instruções (IR). Decodificador de Instruções. Contador 
de instruções (PC). Registro Endereço de Memória (REM). Registro Dados Memória (RDM). 
- Função de Processamento: Execução de operações aritméticas, operações lógicas, movimento de dados, 
desvios e operações de entrada ou saída. Componentes: UAL (ALU). Registrador Acumulador (ACC). 
Registradores de dados. Registrador de estado (PSW). 
 
Interrupções: São eventos provocados pelo hardware que provocam o desvio da sequência normal de 
execução de uma tarefa. São sinais de hardware fundamentais para a existência de sistemas multitarefa, 
pois provocam a interrupção da tarefa em execução. As interrupções são inicialmente tratadas pelo 
processador que, em seguida, desvia a execução do programa para a rotina de tratamento da interrupção 
também chamada de interrupt handler. As interrupções podem ser divididas em três classes: Relógio, E/S 
e Falha de Hardware. 
- Relógio: é o dispositivo gerador de pulsos cuja duração é chamada de ciclo. A frequência do processador 
é dada pela quantidade de ciclos por segundo. A interrupção gerada pelo relógio interno do processador 
provoca a suspensão periódica da tarefa em execução para permitir a execução de uma nova tarefa. Esta 
interrupção é fundamental para o modelo de sistemas multitarefa atuais. 
- E/S: Gerada por um controlador de E/S par sinalizar o término de uma operação. Após o término da 
execução da rotina de tratamento o processamento retorna ao ponto imediatamente após de onde foi 
interrompido. 
- Falha de Hardware: Gerada por uma falha de hardware para impedir a continuidadeda execução da 
tarefa. 
 
Pipeline: O esquema tradicional de execução de uma instrução (sequencial) não utiliza o potencial dos 
circuitos eletrônicos cada vez mais rápidos, pois existem tarefas mais lentas que outras, como, por 
exemplo, o acesso à memória. No modelo sequencial, os componentes do processador não envolvidos 
com o acesso à memória estariam ociosos durante a execução da tarefa. O pipeline funciona, então, como 
uma linha de montagem, permitindo que várias instruções sejam executadas simultaneamente, reduzindo 
o tempo de término de cada ciclo. O objetivo é utilizar as diversas unidades do processador por instruções 
diferentes. Pipeline é uma técnica de hardware que permite que a CPU realize a busca de uma ou mais 
instruções além da próxima a ser executada. Características: Busca antecipada de instruções. Memória de 
laço de repetição. Previsão de desvio. --- Busca – Decodificação – Execução – Escrita na memória. 
 
OBS: Qual tipo de barramento interliga a UCP, mais especificamente a Unidade de Controle (UC), aos 
demais componentes do sistema computacional (memória principal, componentes de entrada e saída) 
para a passagem se sinais de controles gerados pelo sistema. R: Barramento de Controle. 
- A função deste dispositivo é a execução das instruções dos programas que se encontram armazenadas 
na memória. Ao chegarem à UCP, essas instruções são interpretadas e traduzidas em operações 
matemáticas a serem executadas. R: ULA 
- A UCP envia ao REM o endereço da memória do dado a ser lido. 
- Relógio sincroniza as atividades da UCP, memória e todo o sistema. 
 
Aula 9: Memória 
 
A memória principal é a responsável pelo armazenamento temporário de informações que serão 
manipuladas pelo sistema e que irão permitir sua recuperação quando necessário. O elemento básico de 
armazenamento é o bit, porém a forma de como estes bits são agrupados para representar uma 
informação depende de cada sistema. Este agrupamento é denominado célula e passa a ser a unidade de 
armazenamento. Cada célula de memória possui um endereço que a identifica de forma única. Ex.: Os 
processadores de 16 bits possuem endereços de 20 bits, permitindo usar até 1MB endereços de memória. 
Cada célula possui 1 byte de largura. Os processadores de 32 bits possuem endereços de 32 bits 
permitindo o acesso a 4GB células também de 1 byte. 
 
Hierarquia: Estas memórias são organizadas na forma de pirâmide onde, no topo, encontra-se aquela com 
maior custo, maior velocidade e menor capacidade de armazenamento e, na base, o inverso. Começando 
pelo Topo: - Registradores: Armazenamento de dados na CPU. - Memória Cache: Localizada entre o 
processador e a memória principal. - Memória Principal (RAM): É a memória básica de um sistema de 
computação, onde ficam armazenados os programas em execução e os dados em uso. - Memória 
Secundária (E/S): Memória não volátil para armazenamento de dados e programas (ex. discos). 
 
Componentes da memória principal: A CPU comunica-se com a memória através de um barramento e 
utiliza os registradores RDM e REM para o envio e recebimento das informações. Utiliza, ainda, 
registradores para armazenamento durante a transferências. As operações de leitura e escrita são 
gerenciadas pelo controlador de memória. 
- Barramento de Dados: Interliga a RDM à memória principal para transferência de Informações. É 
bidirecional. 
- Registrador de Dados da Memória: Registrador que armazena temporariamente a informações que está 
sendo transferida de/para a memória. 
- Barramento de Endereços: Interliga a REM à memória principal. É unidirecional. 
- Registrador de Endereços da Memória: Registrador que armazena temporariamente endereço de acesso. 
- Barramento de Controle: Interliga a unidade de controle do processador à memória principal para envio 
de sinais durante as operações de leitura e escrita. 
- Controlador de Memória: Responsável por gerar os sinais necessários para controle do processo de 
leitura e escrita, além de interligar a memória aos demais componentes do sistema. 
 
Memória principal - Operações: As operações são divididas em dois grupos: 
Operação de Leitura: 1- REM - endereço em outro registrador. 2- O endereço é colocado no barramento 
de endereço. 3- Sinal de leitura no barramento de controle. 4- Decodificação de endereço e localização da 
célula. 5- RDM - MP pelo barramento de dados. 6- Outro registrador – RDM. 
Operação de Escrita: 1- REM - endereço em outro registrador. 2- O endereço é colocado no barramento 
de endereço. 3- RDM - outro registrador. 4- Sinal de escrita no barramento de controle. 5- MP (REM) - 
RDM. 
 
Organização da memória principal: A memória é organizada em células. Um conjunto de células que 
possuem um significado é chamado de palavra (word). A palavra é, então, a unidade de informação do 
sistema que deve representar o valor de um dado ou de uma instrução de máquina. Unidade de 
Transferência: Consiste na quantidade de bits que é transferida para a memória em uma operação de 
escrita e da memória em uma operação de leitura. Em função do aumento da taxa de transferência dos 
barramentos, os sistemas utilizam unidades superiores a uma célula de memória. Capacidade da Memória 
Principal: Quantidade de informações que podem ser armazenadas representadas por N. 
Resumo de conceitos: Organização da memória principal: células. – Palavra: conjunto de células com 
significado. - Unidade de transferência: quantidade de bits transferidos de/para a memória. Capacidade 
de memória: quantidade de informações armazenadas. N = número de células * tamanho da célula. 
 
Memória cache: Todo o gerenciamento da memória cache é feito por hardware. Nem o Sistema 
Operacional nem as aplicações tem conhecimento da existência da memória cache. O acesso a cache é 
transparente para a aplicação e para o sistema operacional, uma vez que todo o gerenciamento da 
memória cache é feito por hardware. O processador inicia a operação de leitura para o endereço desejado 
da Memória Principal. O sistema de controle da cache intercepta o endereço e conclui se o dado solicitado 
está ou não armazenado na cache. Um acerto é denominado cache hit e a falha é denominada cache 
miss. Se ocorrer um cache miss o controlador da memória principal é acionado para localizar o dado na 
memória, transferindo-o para a cache. Um novo acesso é feito a memória cache. 
Política de escrita na memória: Sempre que ocorre uma escrita na cache, a memória principal deve ser 
atualizada, porém esta atualização pode ocorrer em diferentes momentos: simultaneamente em ambas as 
memórias (write through), escrita somente quando o bloco for substituído (write back) ou escrita na MP 
somente na primeira atualização (write once), útil para sistemas multiprocessados. O estudo da memória 
cache pode ser subdividido em: 
- Motivação: Diferença de velocidade entre processador e memória principal. Princípio da Localidade: 
temporal e espacial: Temporal: Se um item é referenciado, tenderá a ser referenciado novamente. 
Exemplo: loops (instruções e dados). Espacial: Se um item é referenciado, itens cujos endereços são 
próximos tenderão a ser referenciados em seguida. Exemplo: acesso a dados de um array. 
- Acesso: O acesso a cache é transparente para a aplicação e ao sistema operacional. Para a leitura de 1 
byte na memória principal têm-se os seguintes passos: 1. O processador inicia a operação de leitura e 
coloca o endereço desejado na Memória Principal. 2. O sistema de controla da cache intercepta o 
endereço e conclui se o dado solicitado está ou não armazenado na cache. Um acerto é denominado cache 
hit e a falta é denominada cache miss. 3. Se ocorrer um cache miss o controlador da memória principal é 
acionado para localizar o dado na memória, transferindo-o para a cache. 4. Um novo acesso é feito à 
memória cache. 5. Considerando o princípio da localidade, os próximos dados consultados já deverão 
estar na cache,compensando (e muito!) a demora causada por uma falha. 
- Organização: A memória cache é organizada em um conjunto de L linhas, sendo cada linha constituída 
de X bytes. As linhas têm endereço de 0 a L-1. Cada linha possui um campo indicador do endereço do 
bloco que está naquele instante armazenado nela. Este campo é denominado tag ou rótulo. A localização 
é composta, no mínimo, pelo endereço do bloco e pelo deslocamento dentre do bloco. 
- Mapeamento: Direto: Cada bloco da MP tem uma linha de cache previamente definida. Como o tamanho 
da memória é muito maior que o tamanho da cache, é necessário se obter o tag do bloco e verificar se é o 
mesmo tag que está na linha indicada, indicando um hit. É um método simples, porém de pouca 
flexibilidade. Associativo: Não há local fixo na cache para um bloco da MP, no entanto será necessário 
comparar o tag com o tag de cada linha. Associativo por conjunto: Utiliza conceitos das técnicas 
anteriores, utilizando mapeamento direto para identificar um bloco e mapeamento associativo para 
localizar o dado dentro do bloco. 
- Algoritmos de Substituição: O tamanho da memória cache é muito menor que o da MP, então a mesma 
linha de cache poderá ser escolhida por mais de um dado. Para escolher a linha que deverá ser 
substituída no caso de uso do mapeamento associativo, os métodos mais utilizados são: LRU (menos 
recentemente usado) ou FIFO (fila). É possível, ainda, fazer uma escolha aleatória que, mesmo sendo 
aparentemente menos eficiente, pode reduzir a sobrecarga para identificação do bloco. 
 
Atividade 
Um processador possui um RDM com capacidade de armazenar 64 bits em um REM com capacidade de 
armazenar 35 bits. A memória desse sistema tem 128GB. 
Qual a capacidade máxima de endereçamento? 
R: Se REM tem 35 bits  235 = 25 * 230 células = 32G endereços. 
Qual o tamanho da célula de memória? 
R: Logo 128GB / 32G endereços = 4B por endereço. Então, cada célula possui, então, 32 bits = 4 bytes. 
Qual o tamanho da palavra de memória? 
R: Se RDM tem 64bits, a palavra possui 64bits. 
 
OBS: Em uma operação de escrita, para onde a UCP envia o endereço da memória onde a palavra será 
gravada? REM 
- Se a memória cache não possuir mais espaço para armazenar o novo dado, algum outro dado deverá 
ser excluído dela para que algum espaço seja disponibilizado para o novo elemento. Uma das 
metodologias de política para troca de dados da memória cache muito utilizada é: LRU 
 
Aula 10: Dispositivos 
 
Denominamos atividade de E/S (entrada e saída) a troca de informações entre o computador e o meio 
externo. Um sistema de E/S deve ser capaz de receber e enviar informações ao meio externo e converter 
as informações de forma que se tornem legíveis para o computador ou para o usuário. Cada dispositivo 
apresenta características bem particulares, tornando o estudo de cada tipo de dispositivo único. 
Características dos dispositivos: Taxa de transmissão. Complexidade de Controle. Representação de 
dados. Aplicação. Unidade de transferência. Condições de erro. 
Os componentes dos dispositivos são: - Periférico: Dispositivo conectado a um computador de forma a 
permitir a comunicação com o mundo externo. - Interface: Componente que conecta o periférico aos 
barramentos do computador. - Controlador: Implementa as operações (lê, escreve...). - Barramento: 
Conjunto de circuitos impressos que transportam os sinais. - Porta de E/S: Endereço no sistema de E/S. 
 
Endereçamento de E/S: Utiliza um conjunto de registradores internos ao controlador que recebem ordens 
do processador e fornecem o status de uma operação. Os registradores são associados a endereços e 
podem ser implementados de duas formas: - Espaço de Memória: Na fase de projeto do computador é 
definida uma zona do endereçamento de memória que será utilizada para dispositivos de E/S. 
Programação com instruções de acesso a memória (mov). Ex.: Processadores da família Motorola. - 
Espaço de E/S: Instruções especiais para manipulação de dispositivos. No projeto do processador são 
definidos dois espaços distintos de endereçamento. Acessado via instruções de acesso específicas (IN, 
OUT). Ex.: Processadores da família Intel e da AMD. 
 
Os dispositivos podem ser classificados em 3 formas, que são: - Quanto a Interação: Interação com 
usuário (ex: teclado, mouse). Interação com outros componentes (ex: discos). Interação com dispositivos 
remotos (ex: modem). - Quanto a Transferência de Dados: Orientado a bloco (ex. disco). Orientado a 
caractere (ex. terminal). - Quanto a Forma de Comunicação: Programmed I/O: Responsabilidade do 
programador. Interrupt-driven I/O: Processador é interrompido quando a operação se completa. Direct 
memory Access (DMA): Transferência dos dados diretamente para a memória sem interferência do 
processador. 
 
A transmissão de dados pode acontecer por 2 tipos diferentes: - Serial: O periférico é conectado ao 
controlador por apenas uma linha de comunicação de dados; logo, a transferência é feita por um bit de 
cada vez. Ex.: mouse, teclado. USB: Univeral Serial Bus, PCI Express (substituto do AGP), Firewire (IEEE 
1394), SATA: Serial Advanced Technology Attachment. - Paralelo: Um grupo de bits é transferido 
simultaneamente através de um conjunto de linhas de comunicação. Ex.: discos, impressoras. MCA 
(IBM): Micro Channel Architecture, ISA/EISA: Industry Standard Adapter, PCI: Peripheral Component 
Interconnect, AGP: Accelerated Graphics Port. 
 
Memória secundária: São memórias secundárias os meios de armazenamento não-volátil como, por 
exemplo, os discos magnéticos. A organização destes discos é particularmente importante pela função 
que exercem. Os discos magnéticos são divididos em setores, trilhas e cilindros. O desempenho de um 
disco é medido pela velocidade de localizar uma informação. Considera-se que o disco roda em velocidade 
constante para posicionar a cabeça na trilha. Para calcular o desempenho de um disco, são computados: 
Seek (Tseek): Tempo gasto para posicionar o cabeçote em uma trilha. Tseek = n . m + S -- n = nº. de 
trilhas -- m = constante (depende do disco) -- S = Startup time 
Atraso rotacional (Tatraso): Tempo gasto para posicionar um setor (latência). Tatraso = 1/2r -- r 
=velocidade de rotação 
Transferência (Ttransf): Tempo gasto para a transferência de dados. Ttrasnf = b/rN -- N = qtd de bytes 
na trilha. 
O tempo T de transferência de um conjunto de dados é dado por: T= Tseek + Tatraso + Ttransf 
 
Existem, ainda, estratégias para atendimento às requisições, fornecidas pelo sistema operacional, 
denominadas estratégias de escalonamento de disco. - Estratégias baseadas na ordem dos pedidos: FiFo 
(First in First out): Mais simples. Atendimento na ordem dos pedidos. Prioridade: Fora do controle do 
gerenciador. LiFo (Last in First out): Diminui o movimento da cabeça de leitura em arquivos sequenciais. - 
Estratégias baseadas na localização: SSTF (Shortest Service Time First): Fila é reordenada para atender 
às requisições de forma a minimizar o movimento da cabeça. Possibilidade de starvation. Scan (elevador): 
Variação do SSTF, porém estipula uma direção preferencial. O sentido se inverte ao final da varredura. C-
Scan: Semelhante ao Scan, porém com um sentido único. - Estratégias baseadas na localização 
segmentada: N-step-Scan: Divide as requisições em filas de tamanho N. As requisições de cada fila são 
processadas em conjunto. Novas requisições são colocadas em novas filas. Para valores grandes de N, é 
semelhante ao SCAN. Para N = 1, equivale a FiFo. FSCAN: Utiliza duas filas. Enquanto uma fila está sendo 
atendida, novas requisições são colocadas na outra fila. 
 
Revisão - Aula 6 a 10 
 
Modelo de Von Neumann: Dados e instruções armazenados em uma única memória utilizada tanto para 
leitura quanto para escrita. Os dados armazenados na memória podem ser acessados através de 
endereços. A execução de um programa ocorre sequencialmente, por ordemde endereços, exceto se for 
feita algum desvio explicito no programa. Tamanho da célula  Determina RDM. Célula de 32 bits  RDM 
com 32 bits. Tamanho da memória em células  Determina REM. Memória com 256 células  REM com 8 
bits. Limitações (originais): Grande quantidade de acessos a memória. Velocidade dos novos dispositivos. 
Execução em paralelo. 
 
Processador (UCP): - Unidade de Controle: Gerenciamento do fluxo interno dos dados. - Unidade 
Aritmética e Lógica: Execução de operações lógicas e aritméticas, efetuando transformações sobre os 
dados. - Registradores: Células de memória (temporárias) dentro do processador. 
 
Instruções: São as ordens que o computador entende. Cada família de processadores tem o seu próprio 
conjunto de instruções - instruction set. Quem usa essas instruções? O programador Assembly, os 
compiladores. Ninguém programa utilizando as instruções do processador! Programas são desenvolvidos 
em linguagens de alto nível! Instruções podem ter formatos diferentes, dependendo do número de 
operandos. 
Instruções Aritméticas e Lógicas: Realizam operações aritméticas (ADD, SUB ...) e lógicas (AND, OR) 
Instruções de Movimentação de Dados: Transferem dados entre registradores ou entre registrador e 
memória principal (MOV) 
Instruções de Transferências de Controle: Executam o desvio do fluxo sequencial do código (JMP). 
 
Formato de uma instrução: - Código da Operação: Indica que operação será executada. A quantidade de 
bits desse código determina o número máximo de instruções. - Operando: Indica o(s) dado(s) que 
será(ão) manipulado(s): números, caracteres, endereços. 
 
Modos de Endereçamento: IMEDIATO: Utiliza um valor como operando e não um endereço na memória. 
ADD #A, R1. DIRETO: Indica o endereço de memória onde está o operando. ADD (A), R1. INDIRETO: 
Indica um ponteiro para o operando. ADD (R1), R2. REGISTRADOR: O endereço se refere a um 
registrador. ADD R, OP1. DESLOCAMENTO: Obtido pela soma do operando com o conteúdo de um 
registrador base. ADD (A)R1, R2. 
 
Hierarquia: Estas memórias são organizadas na forma de pirâmide onde, no topo, encontra-se aquela com 
maior custo, maior velocidade e menor capacidade de armazenamento e, na base, o inverso. Começando 
pelo Topo: - Registradores: Armazenamento de dados na CPU. - Memória Cache: Localizada entre o 
processador e a memória principal. - Memória Principal (RAM): É a memória básica de um sistema de 
computação, onde ficam armazenados os programas em execução e os dados em uso. - Memória 
Secundária (E/S): Memória não volátil para armazenamento de dados e programas (ex. discos). 
 
Componentes da Memória Principal: - Barramento de Dados: Interliga o RDM à memória principal para a 
transferência de informações. É bidirecional. - Registrador de Dados da Memória (RDM): Registrador que 
armazena temporariamente as informações que está sendo transferida de/para a memória. - Barramento 
de Endereços: Interliga o REM à memória principal. É unidirecional. - Registrador de Endereços da 
Memória: Registrador que armazena temporariamente o endereço de acesso. - Barramento de Controle: 
Interliga a unidade de controle do processador à memória principal para envio de sinais durante as 
operações de leitura escrita. - Controlador de Memória: Responsável por gerar os sinais necessários para 
controle do processo de leitura e escrita, além de interligar a memória aos demais componentes do 
sistema. 
 
Componentes do Sistema de E/S: PERIFÉRICO: dispositivo conectado a um computador de forma a 
permitir a comunicação com o mundo externo. INTERFACE: componente que conecta o periférico aos 
barramentos do computador. CONTROLADOR: implementa as operações (leitura, escrita, transferência, 
etc.). BARRAMENTO: conjunto de fios que transportam os sinais. PORTA DE E/S: endereço no sistema de 
E/S.

Continue navegando