1.arquitetura de Computadores - Material Completo

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 110

Conceitos Básicos

de Arquitetura
Ancelmo, Jose Roberto
SST Conceitos Báscios de Arquitetura / Jose Roberto Ancelmo
Ano: 2020
nº de p. : 12

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Conceitos Básicos de
Arquitetura

Apresentação
O processador é a peça de um PC que exerce influência no desempenho. Porém, há
outros detalhes que fazem um computador ser mais veloz do que o outro, e entre
eles está o clock, que veremos adiante. Para compreenderemos o desempenho de
um computador, é necessário estudarmos a arquitetura de computadores. Neste
momento, compreenderemos a representação de dados, as unidades de medidas
computacionais, o modo de endereçamento e conjunto de instruções e a Lei de
Boole.

Representação de Dados
Na representação de dados utilizamos bit e bytes. Vamos entender a diferença entre
eles?

• Bit

BIT vem de BInary digiT, ou dígito binário.

É o componente básico da memória e conceitualmente é a menor unidade de


informação.

Um bit, por convenção, pode assumir dois valores ou sentidos:

1  ligado (ON) ou 0  desligado (OFF).

Fisicamente, ele pode ser implementado por qualquer componente que assuma
apenas dois estados estáveis.

• Byte

É o agrupamento de 8 bits.

Normalmente, corresponde a um caractere: letra, dígito numérico, caractere de


pontuação.

Com um byte é possível representar até 256 símbolos diferentes.

3
Você sabe o que significa “palavra de memória”? É a quantidade de bits que o
computador lê ou grava em uma única operação (podendo ser tanto dados quanto
instruções). O tamanho da palavra de memória pode variar de computador para
computador, e é determinado pela quantidade de memória física disponível para
armazenamento.

Em computadores desktop, as palavras são representadas na forma de 32 ou 64


bits. O tamanho de uma palavra de memória sempre é um número múltiplo de 8
(lembrando que 1 byte = 8 bits).

Representação de bit e byte.

Fonte: Plataforma Deduca (2020).

Na tabela ASCII, o caractere é a unidade básica de armazenamento na maioria dos


sistemas computacionais. O armazenamento de caracteres (letras, números e/ou
símbolos) é feito por uma codificação no sistema, em que ficou convencionado que
certos conjuntos de bits representam certos caracteres.

São três os códigos de representação de caracteres bastante utilizados: ASCII,


EBCDIC e UNICÓDIGO.

ASCII (American Standard Code for Information Interchange) é o código utilizado


pela maioria dos microcomputadores e em alguns periféricos de equipamentos de
grande porte.

EBCDIC (Extended Binary Coded Decimal Interchange Code)

Exemplo: Caracteres EBCDIC ASCII

A 1100 0001 10100001

Z 1110 1001 10111010

4
UNICÓDIGO (ou Unicode) é o código que utiliza dois bytes para representar mais
de 65 mil caracteres ou símbolos. Permite intercambiar dados e programas
internacionalmente.

Unidades de medidas computacionais


• Bases e sistemas de numeração

Podemos afirmar que a forma mais utilizada para a representação numérica é a


notação posicional.

Segundo Monteiro (2007), na notação posicional, os algarismos componentes de


um número assumem valores diferentes, conforme sua posição relativa nele. O valor
total do número é a soma dos valores relativos de cada algarismo. Dependendo do
sistema de numeração escolhido, a quantidade de algarismos que o compõem é
denominada base.

Sendo assim, a partir do conceito de notação posicional, torna-se possível a


conversão entre as diferentes bases, principalmente da decimal para a binária.

Vamos analisar o conceito de notação posicional, apresentado por Monteiro (2007,


p. 29-30).

A notação posicional é uma consequência da utilização dos numerais


hindu-arábicos. Os números romanos, por exemplo, não utilizam a notação
posicional. Desejando efetuar uma operação de soma ou subtração, basta
colocar um número acima do outro e efetuar a operação desejada entre
os numerais, obedecendo a sua ordem. A civilização ocidental adotou um
sistema de numeração que possui dez algarismos (0, 1, 2, 3, 4, 5, 6, 7, 8 e
9), denominado de sistema decimal. A quantidade de algarismos de um
dado sistema é chamada de base; portanto, no sistema decimal a base
é 10. O sistema binário possui apenas dois algarismos (0 e 1), sendo que
sua base é 2.

Os computadores atuais processam a informação por bits (caractere). Um bit é


a menor unidade de um sistema digital e pode assumir os valores de 0 ou 1. O
ajuntamento de 8 bits forma um byte (palavra) e pode armazenar um valor numérico
de 0 a 255 ou representar uma palavra. Para medir o tamanho dos dispositivos de
E/S, tais como memórias, unidade de discos, arquivos e banco de dados diversos, a
unidade básica de medida é o byte.

5
Byte.

Fonte: Plataforma Deduca (2020).

Em um sistema de computação, é muito importante verificar a capacidade de


armazenamento, seja de um dispositivo ou arquivo pois, quando realizamos uma
ação em nosso computador, um arquivo é gerado e pode ser guardado para uso
posterior. Quando isso acontece, um espaço é ocupado. Daí termos especial atenção
na capacidade de memória e da unidade de disco num sistema.

Cada conjunto de 8 bits forma o byte, o qual corresponde a um caractere, seguindo o


código binário:

1 0 0 1 0 1 1 0

Reflita
Diante desse contexto, podemos nos perguntar: por que 1 Kb
equivale a 1024 bytes?

Nos exemplos do nosso cotidiano, tais como vendas por quilo ou litro, a estrutura
numérica é construída sobre a base 10, na qual tudo o que é elevado à terceira
potência atinge o milhar exatamente com 1000 unidades.

6
Mas, quando falamos em bytes, grupos de 8 bits, não estamos falando em base 10,
mas sim em uma estrutura alicerçada no correspondente código binário, ou seja, na
base 2, nos dois níveis dos dados que o computador detecta, chamados de 0 e 1.

Sendo assim, quando queremos um quilo de bytes (Kilobytes), temos que elevar
essa base a algum número inteiro, até conseguir atingir o milhar. Mas não existe um
número inteiro possível que consiga atingir exatamente o valor de 1.000. Então, ao
elevarmos a base 2 à décima potência, teremos 1024.

Com esse raciocínio, agora podemos entender a tabela a seguir:

Comparativo das medidas de armazenamento de dados

Medida Sigla Caracteres

BYTE 20 1 (8 BITS) 1 BYTE

KILOBYTE KB 210 1.024 1.024 BYTES

MEGABYTE MB 220 1.048.576 1.024 KBYTES

GIGABYTE GB 230 1.073.741.824 1.024 MBYTES

TERABYTE TB 240 1.099.511.627.776 1.024 GBYTES

PENTABYTE PB 250 1.125.899.906.842.624 1.024 TBYTES

HEXABYTE HB 260 1.152.921.504.606.846.976 1.024 PBYTES

YOTABYTE YB 280 1.208.925.819.614.630.000.000.000 1.024 HEXABYTE

Fonte: Elaborada pelo autor (2020).

Portanto, quando se diz que um disco rígido tem capacidade de armazenamento de


5,3 Gb, são armazenados aproximadamente 5 milhões e 500 mil caracteres.

Vamos entender um pouco sobre Hertz ou Mega-hertz e RPM.

7
• Hertz ou (Hz) ou Mega-hertz (MHz)

A velocidade de um processador se mede em função da velocidade do seu relógio,


em frequência Hertz (Hz) ou Mega-hertz (MHz). A frequência corresponde ao
número de ciclos por segundo.

A frequência interna do relógio do processador varia de um para outro, sendo


comuns as velocidades entre 2 MHz e 3200 MHz (3.2 GHz).

Essa medida de velocidade não é relacionada ao número de instruções (dados)


que o processador realiza por segundo numa solicitação. Cada instrução (dado) é
feita em um número específico de ciclos de leitura e escrita, o que torna impossível
determinar com exatidão o número de instruções realizadas em um segundo.

Existem instruções (dados) que são realizadas em um único ciclo de relógio (clock
processador), enquanto outras demoram várias dezenas. Frequentemente, quanto
mais ciclos por segundo mais rápido as instruções serão encaminhadas.

Atenção
O clock é a velocidade na qual o processador atua em um sinal de
sincronismo. O pulso clock é quando os equipamentos recebem
sinal para efetuar determinadas atividades. A medição dele é feita
em hertz (Hz).

Observe o comparativo das instruções por ciclo e velocidade na tabela que segue.
Comparativo das instruções por ciclo e velocidade

Velocidade
Instruções por Ciclo Média de Segundos
Processador

80000 800 MHZ 1 MIN E 40 SEGS.

80000 3000 MHZ (3.0 GHZ) 26 SEGS.

Fonte: Elaborada pelo autor (2020).

8
Nessa tabela, imagine uma instrução que precise de 80.000 ciclos para se completar,
sendo executada em dois computadores com processadores de velocidades
diferentes.

• RPM – Rotações Por Minuto

Característica encontrada, por exemplo, no Hard Disk HD de 1TB / 7200 RPM.

O RPM (rotações por minuto) é a velocidade na qual os discos internos do disco


rígido (hard disk) giram. Quanto maior a velocidade, menor será o tempo para gravar
ou ler informações no disco, fazendo com que seu computador possa acessar esses
dados de modo mais rápido.

Modo de endereçamento e conjunto


de instruções e a Lei de Boole
Sobre o modo de endereçamento e conjunto de instruções, temos que:

Instrução

Conjunto de bits devidamente codificados, que indica ao computador que


sequência de micro operações ele deve realizar.

Classificação

Semelhança de propósito e formato. As mais comuns são: transferência de


dados, aritméticas e lógicas.

Conjunto de instruções

É o conjunto de todas as instruções que um computador reconhece e pode


realizar (equivalente ao conjunto de palavras reservadas em uma linguagem
de alto nível).

9
Programa

Qualquer sequência finita de instruções de um determinado conjunto de


instruções.

Modos de endereçamento

São as diversas formas de endereço de um operando, somadas às diversas


formas de desvio.

Lógica de Boole
Assim como descreve Tanenbaum (2013), para descrever os circuitos que podem
ser construídos combinando portas, é necessário um novo tipo de álgebra, no qual
variáveis e funções podem assumir somente os valores 0 e 1.

Essa álgebra é denominada Álgebra Booleana, nome que se deve ao seu descobridor,
o matemático inglês George Boole (1815-1864).

George Boole foi um autodidata que criou o sistema algébrico, composto por
estruturas algébricas com propriedades essenciais para operadores lógicos e
conjuntos. Os computadores trabalham com essa numeração binária, ou seja,
na lógica de 0 e 1. A álgebra booleana é semelhante à álgebra convencional
que conhecemos e estuda as relações entre as variáveis lógicas, que podem
assumir apenas um estado entre “0” e “1”. A álgebra booleana pode realizar
operações lógicas com suas variáveis do mesmo modo que a lógica convencional,
diferenciando-se pelo fato de o resultado incidir sobre as variáveis, portanto,
constituindo operações lógicas.

Uma das formas mais simples de analisar e entender as operações da lógica


booleana é por meio da Tabela Verdade, lista dos possíveis resultados da operação.

10
Ela pode ser obtida pelas combinações possíveis de todos os valores dos
operandos. Cada operando pode assumir o valor “verdadeiro” ou “falso”.

Veja como é fácil construir uma Tabela Verdade.

Operações lógicas – Tabela Verdade.

COMO SE CHAMA TABELA-


OPERADOR A PROPOSIÇÃO SÍMBOLO VERDADE
COMPOSTA

SÓ SERÁ VERDADEIRO
QUANDO AMBOS “P” E
e CONJUNÇÃO p^q
“Q” FOREM V AO MESMO
TEMPO

SE PELO MENOS UM, “P”


ou DISJUNÇÃO pVq OU “Q”, FOR V ENTÃO
SERÁ VERDADEIRO.

SÓ SERÁ FALSO QUANDO


se... então... CONDICIONAL pq “P” FOR V ENTÃO E “Q”
FOR F

SÓ SERÁ VERDADEIRO
QUANDO “P” E “Q”
FOREM V AO MESMO
se e somente se BICONDICIONAL p  q
TEMPO OU QUANDO
FOREM F AO MESMO
TEMPO.

PARA SER VERDADEIRO


ou (exclusivo) DISJUNÇÃO EXCLUSIVA p V q QUANDO UM FOR V O
OUTRO TERÁ QUE SER F
Fonte: Elaborado pelo autor (2020).

Fechamento
Chegamos ao final do estudo sobre os conceitos básicos de arquitetura de
computadores, e compreendemos a representação de dados como o bit e o byte,
vitais para a representação do caractere computacional. Vimos que o bit é a unidade
básica de armazenamento na maioria dos sistemas computacionais. Além disso, foi
possível desenvolver os sistemas computacionais, suas representações de medidas
computacionais, bem como o modo de endereçamento e conjunto de instruções e a
Lei de Boole, essenciais para o funcionamento computacional.

11
Referências
MONTEIRO, M. A. Introdução à Organização de Computadores. Rio de Janeiro: LTC,
2007.

TANENBAUM, A. S. Organização estruturada de computadores. 6. ed. São Paulo:


Pearson, 2013.

12
Arquitetura e Classificação
dos Sistemas de Computação
Ancelmo, Jose Roberto
SST Arquitetura e Classificação dos Sistemas de Computa-
ção / Jose Roberto Ancelmo
Ano: 2020
nº de p. : 11

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Arquitetura e Classificação
dos Sistemas de
Computação

Apresentação
Neste tópico, estudaremos a definição de arquitetura computacional e, para
isso, veremos a arquitetura de máquinas de Von Neumann (ou modelo de Von
Neumann), seus elementos, dispositivos, instruções e como os componentes estão
interconectados. Por fim, veremos a classificação dos sistemas de informação e os
principais componentes de um sistema de informação.

O que é arquitetura de
computadores?
A arquitetura de computadores está relacionada ao projeto conceitual da estrutura
organizacional de um computador. Nela, estudamos os requisitos necessários para
que um computador funcione e como organizar os diversos componentes para obter
os melhores desempenhos.

Para que você compreenda melhor esse conceito, também falaremos sobre:

• o Modelo Von Neumann;


• o suporte ao sistema operacional, enfocando suas características gerais;
• a aritmética computacional, que detalha o processador com um debate sobre
aritmética de computadores. Os processadores são fornecidos pelo suporte
de duas formas de aritmética de números inteiros, números de pontos fixos e
a aritmética de ponto flutuante;
• o conjunto de instruções, o olhar do programador: a forma de compreender a
operação é o conhecimento do conjunto de instruções que ele executa;
• o exame das possíveis formas de endereçamento;
• a organização global de um processador, a unidade de controle, conjunto de
registradores (UCLA); posteriormente discutiremos a organização de seu con-
junto de registradores;
• os Computadores RISC, uma das formas mais importantes e inovadoras da
organização de computadores e sua arquitetura de computadores com um
conjunto mais reduzido de instruções.

3
Curiosidade
Um processador CISC (Complex Instruction Set Computer ou
“computador com um conjunto complexo de instruções”) é capaz
de executar centenas de instruções complexas diferentes, sendo
extremamente versátil. Exemplos de processadores CISC são
o x86 e x64, que usam CISC na superfície e RISC no seu núcleo
(HARDWARE.COM.BR, 2007).

Os computadores baseados em RISC têm seu desempenho aumentado, fazendo


com que as arquiteturas anteriores ou acompanhem esse padrão ou desapareçam.

As inovações de hardware levaram ao renascimento do projeto de computadores,


inovando também sua arquitetura. Chamamos essa evolução de “renascimento do
projeto de computadores”.

Esse renascimento do hardware impactou o desenvolvimento de software e permitiu


aos programadores trocarem o desempenho pela produtividade.

Em vez de utilizarem linguagens orientadas para o desempenho, como C e C++,


programadores podem utilizar linguagens, como Java e C#, além das linguagens
script, como Javascript, que são mais rentáveis e estão ganhando mais produtividade.

Logo, esse aperfeiçoamento resultou no desenvolvimento das mais variadas


características, implementadas com diferentes padrões, conhecidos como
computador de gabinete.

Projeto de computador.

Fonte: Plataforma Deduca (2020).

4
A arquitetura de computadores diz respeito a uma série de fatores e atributos que
um programador deve conhecer para projetar ou programar o computador. Nesse
sentido, a tarefa de um projetista laborioso é aplicar as propriedades para um novo
modelo de computador. Isso porque ele deve colocar na ponta do lápis fatores
que aumentem o desempenho e melhorem a qualidade dele, levando em conta a
restrição de custos, potência e disponibilidade (HENESSY; PATTERSON, 2014).

Como vimos, a arquitetura de computadores é a técnica de projetar e elaborar o


computador em si. O bom funcionamento de um programa se deve à combinação
entre a exatidão dos algoritmos usados nele. Os programas de software podem
transcrever as instruções que o hardware está fazendo no momento. Essa é uma das
perfeições que o computador tem na comunicação de um software com o hardware.

Arquitetura de Máquinas Von


Neumann
O método de arquitetura de computadores, conhecido como Modelo de Von Neumann,
é uma forma de organização dos componentes de um sistema computacional,
baseado na disposição deles, alinhados para proporcionar um melhor aproveitamento
do projeto computacional. Esse arranjo permite que os dispositivos de E/S se
comuniquem de forma precisa e rápida com as memórias e o processador.

Esse modelo proposto por Von Neumann está baseado em três características:

a. Os dados e as instruções ficam armazenados no mesmo espaço de memória,


não existindo conflitos entre ambos.
b. Cada espaço de memória tem um endereço físico, o qual será utilizado para
identificar a posição de um determinado conteúdo ou dado.
c. As instruções são executadas de forma sequencial, uma a uma, determinada
pelo UC (Unidade Controle).

5
Exemplo de estrutura de sistema computacional.

Fonte: Plataforma Deduca (2020).

O modelo de arquitetura de computadores proposto por Von Neumann foi


amplamente aceito, sendo utilizado nos projetos de praticamente todos os tipos de
computadores modernos. De uma forma geral, o modelo de Von Neumann ratificou a
divisão entre dois conceitos importantes: o hardware e o software.

O projeto conceitual de computador digital proposto por ele se utiliza do conceito de


programa armazenado na memória principal, com os dados que serão manipulados
ou analisados, ou seja, utiliza-se de uma sequência ordenada e lógica de instruções
que conhecemos como software, independentemente do hardware utilizado.

A arquitetura de computadores, modelo Von Neumann, é composta por:

• memória principal;
• CPU, que contém os registradores, a Unidade Aritmética e Lógica (ULA) e a
Unidade de Controle (UC);
• dispositivos de entrada e saída (E/S) para comunicação com o meio externo.

A figura a seguir demonstra como estão interconectados os componentes ou


dispositivos do modelo de Von Neumann. Esses dispositivos se comunicam por
meio do barramento (meio físico), que opera a velocidades altas, interconectando os
principais componentes do modelo.

6
Arquitetura de máquinas Von Neumann

Fonte: Elaborada pelo autor (2020).

As máquinas não Von Neumann são aquelas que não se enquadram na definição
de máquinas Von Neumann. Essa categoria é ampla, incluindo sistemas
computacionais como:

• Máquinas paralelas: várias unidades de processamento executando progra-


mas de forma cooperativa, com controle centralizado ou não.
• Máquinas de fluxo de dados: aquelas que não executam instruções de um
programa, mas podem realizar operações de acordo com a disponibilidade
dos dados envolvidos.
• Redes neurais artificiais: trabalha com um modelo no qual os resultados são
gerados a partir de respostas a estímulos de entrada.
• Processadores sistólicos (VLSI): o processamento acontece por meio da
passagem de dados por arranjo de células de processamento, executando
operações básicas, organizadas de modo a gerar o resultado desejado.

O design de uma máquina de arquitetura de Von Neumann é mais simples que


a máquina de arquitetura de Harvard, que também é um sistema de programa
armazenado, mas que tem um conjunto dedicado de barramentos de endereços que
servem para ler os dados e posteriormente armazená-los na memória.

7
Classificação de Sistemas de
Computação
Quando se deseja ter um sistema de computação para alguma atividade, há várias
opções:

• computadores de gabinete;
• estações de trabalho;
• notebooks;
• computadores de grande porte;
• supercomputadores.

Os microcomputadores surgiram em 1974 com o advento de microprocessadores,


que são todos os itens de um computador em uma pastilha. Essa denominação foi
dada por conta do tamanho e da capacidade de processar informações. O modelo
para montagem era chamado ALTAIR e utilizava processador Intel 8080. Após esse
modelo, outros tipos começaram a ser comercializados.

Computadores são máquinas planejadas para atender concomitantemente à


demanda de vários programas e usuários. O potencial de suportar vários usuários e
programas se deve à velocidade de processamento e à capacidade de velocidade da
memória.

Computadores de grande porte são sistemas planejados para manipular um número


amplo de dados e executar ao mesmo tempo muitos usuários. Ele é planejado para
realizar grandes cálculos matemáticos em tempo real ou o mais rápido possível,
sendo que atualmente desenvolve-se computadores quânticos, utilizando-se q-bits.

Principais componentes de um sistema de


computação
Os componentes de um microcomputador podem se dividir em duas partes:
hardware e software.

O hardware do computador diz respeito às partes físicas ou aos componentes de um


computador, como monitor, teclado, armazenamento de dados do computador, placa
gráfica, placa de som e placa mãe.

8
O hardware é conduzido pelo software para executar qualquer comando ou
instrução. Uma combinação de softwares forma um sistema de computação
utilizável.

O modelo de todos os computadores modernos é baseado na arquitetura de Von


Neumann, detalhada em 1945 pelo matemático húngaro John Von Neumann. Isso
descreve uma arquitetura de design de um computador digital eletrônico com
subdivisões de uma unidade de processamento, consistindo em uma unidade lógica
aritmética e registradores do processador. Ou seja, uma unidade de manipulação
obtendo um registro de instruções e um contador de programa, uma memória para
armazenar dados e instruções de armazenamento externo e mecanismos de entrada
e saída.

O termo evoluiu para transcrever os programas de computadores armazenados e


que estão em constante busca de informações de dados que podem ocorrer ao
mesmo tempo, porque eles são compartilhados em um barramento comum.

Dentre os elementos de hardware, temos: impressora, scanner, ventilador, disco


rígido, processador, mouse, RAM, placa-mãe e teclado. Veja alguns desses
elementos na figura a seguir.

Exemplos de hardware.

Fonte: Plataforma Deduca (2020).

De modo genérico, software é uma entidade que se encontra em constante estado


de mudança, que ocorre pela necessidade de corrigir erros existentes no software ou
de adicionar novos recursos e funcionalidades a ele.

O software faz parte de um sistema que consiste em dados ou instruções de


um computador, em contraste com hardware físico a partir do qual o sistema foi

9
criado. Ele inclui programas de computador, bibliotecas e dados informáticos. Os
sistemas operacionais mais usados atualmente são Windows, Linux e Mac OS. Há
muitos tipos de software de sistemas, porém os mais importantes são o sistema
operacional e o compilador. O sistema operacional promove a interface entre o
programa e o cliente; e o hardware disponibiliza essa interação.

Boa parte dos softwares está escrito em linguagem de programação de alto nível,
mais eficiente para os programadores usarem, porque está mais próxima da
linguagem humana.

O software também pode ser escrito em uma linguagem de baixo nível, que
apresenta uma correspondência forte com as instruções do idioma da máquina
do computador. Exemplos de software: Word, Power Point, Internet Explorer,
Calculadora, Paint.

Os compiladores realizam uma função indispensável: traduzir um programa em


uma linguagem refinada, como C ou Java, em mecanismos que o hardware possa
executar.

Com o tempo, uma série de linguagens de alto nível foi criada. O objetivo delas era
fazer com que os humanos pudessem escrever comandos para os computadores de
forma mais confortável. Um programa chamado compilador ficaria responsável por
traduzir a linguagem de montagem para a linguagem da máquina.

Fechamento
Nesse estudo, compreendemos o conceito de arquitetura computacional através
do entendimento da organização de um padrão computacional pelo modelo de Von
Neumann. Por fim, vimos que um sistema computacional é dividido em hardware e
software, e esses componentes são essenciais para o funcionamento de um sistema
computacional.

10
Referências
HARDWARE.COM.BR. Processadores RISC X Processadores DISC. Hardware.com.
br, 14 jul. 2007. Disponível em: https://www.hardware.com.br/artigos/risc-cisc/.
Acesso em: 5 out. 2020.

HENESSY, J. L.; PATTERSON, D. A. Arquitetura de computadores: uma abordagem


quantitativa. 5. ed. Rio de Janeiro: Elsevier, 2014.

11
Conceitos Básicos de
Arquitetura de Computadores
em Relação à Entrada
e Saída (E/S)
Ancelmo, Jose Roberto
SST Conceitos Básicos de Arquitetura de Computadores em
Relação à Entrada e Saída (E/S) / Jose Roberto Ancelmo
Ano: 2020
nº de p. : 11

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Conceitos Básicos de Arquitetura
de Computadores em
Relação à Entrada e Saída (E/S)

Apresentação
Em nosso estudo, compreenderemos os conceitos básicos da arquitetura de
computadores em relação ao processo de entrada e saída, como o acesso direto
à memória (DMA), os barramentos síncronos e assíncronos e a arbitragem de
barramento.

Entrada e Saída (E/S)


O processo de entrada e saída (E/S) visa compartilhar informações ou adquiri-las
dos computadores. Alguns deles se utilizam de uma organização de E/S com uma
ou mais CPUs, memória e um ou mais controladores de E/S, denominados “canais
de dados”.

Assim que a CPU realiza uma entrada, ela dispara um programa especial em um
dos canais e informa-lhe para executá-lo. Desse modo, o canal utiliza toda a E/S da
memória principal, liberando a CPU para fazer outras tarefas. Ao executar a tarefa, o
canal de dados interrompe a CPU para concluir a operação.

Modernos desktops usam uma estrutura mais simplificada, consistindo em um


único barramento, interligando-se à CPU, à memória e aos dispositivos de E/S. Cada
dispositivo de E/S apresenta duas partes: o controlador (componentes eletrônicos
que fazem o controle do periférico) e o dispositivo propriamente dito. Sua função
primordial é controlar seu dispositivo de E/S e gerenciar os acessos ao barramento
pelo canal de dados.

Atenção
Como tipos de canais de dados, podemos citar os seletores, que
se dedicam à transferência de dados com um único dispositivo por
vez; e os multiplexadores, que transferem dados de/para vários
dispositivos simultaneamente.

3
A ação desse controlador, que lê ou escreve um bloco de dados em uma posição de
memória sem a interferência da CPU, é chamada acesso direto à memória – DMA,
como você poderá ver na figura a seguir.

Exemplo de Acesso Direto à Memória – DMA.

Fonte: Elaborada pelo autor.

Um mediador do barramento é utilizado quando a CPU e o controlador necessitam


usar o barramento ao mesmo tempo. Geralmente, é dada a prioridade ao controlador
de E/S.

Perda de ciclos ou dados ocorre quando um dispositivo solicita o barramento e a


CPU já o está utilizando. Isso diminui a velocidade do computador ao realizar as
tarefas.

Barramento síncrono e assíncrono


Um barramento é um meio físico elétrico compartilhado entre muitos dispositivos
de E/S. O código do barramento estabelece as regras de funcionamento do próprio
barramento, deixando que componentes dimensionados por terceiros possam ser
anexados ao sistema.

Os dispositivos de E/S que iniciam as transferências pelo barramento são


identificados como mestres. Os dispositivos de E/S que esperam por uma requisição
são identificados como escravos, conforme você pode verificar no quadro a seguir.

4
Conceituação de Mestre e Escravo.

CPU Memória Busca de instruções e dados


CPU E/S Início de transferência de dados

CPU Coprocessador Instruções de ponto flutuante

E/S Memória DMA

Coprocessador Memória Buscando operandos

Fonte: Elaborado pelo autor.

A maioria dos mestres de barramento está ligada a ele por meio de plaquinhas ou
pastilhas, chamadas acionadores de barramentos (bus driver), que são basicamente
amplificadores digitais. Em geral, os escravos estão ligados ao barramento pelos
receptores de barramento (bus receiver).

Com relação aos dispositivos de E/S que podem atuar tanto como mestres quanto
como escravos, é empregada uma plaquinha ou pastilha combinada chamada
transceptor de barramento (bus transceiver). Essas pastilhas de interconexão
com o barramento são regularmente dispositivos tri-state. Sua ação consiste
em deixar que eles flutuem quando não são utilizados. Um barramento síncrono
tem uma linha disparada por um oscilador cristal. Todos os ciclos de pedidos do
barramento gastam um número inteiro de ciclos do oscilador, denominados ciclos de
barramento.

Já um barramento assíncrono não apresenta um relógio mestre que o guie. Os ciclos


podem ter qualquer durabilidade que se queira e não necessitam ser os mesmos
entre todos os pares dos dispositivos.

Considere um relógio de 4MHZ. Um ciclo de barramento leva 250ns, admitindo que


a leitura de um byte da memória leva três ciclos de barramento. Assim, o ciclo de
leitura leva 750ns.

5
Atenção
No modelo de um módulo de E/S, representado pelos três tipos
de barramentos, temos as variações dos dispositivos externos,
que são legíveis ao ser humano, tais como monitor, impressora e
teclado, e os legíveis à máquina, como monitoração e controle e a
parte de comunicação (modem e placa de interface de rede).

À medida que uma leitura de bloco é iniciada, o mestre do barramento solicita ao


escravo quantos bytes serão transferidos. O escravo solta um byte a cada ciclo até
que a quantidade seja exterminada. A leitura de um bloco de n bytes gastaria (n + 2)
ciclos, em vez de 3n.

No barramento assíncrono, em vez de se atrelar tudo ao relógio, um conjunto de


sinais chamado handshake completo determina o início e o fim de um ciclo de
leitura/escrita, conforme figura a seguir.

Temos, então, os sinais: MSYN (Master SYNchronisation), SSYN


(SlaveSYNchronisation) e o handshake, que consiste em quatro eventos:

1. MSYN é ativado;
2. SSYN é ativado em resposta a MSYN;
3. MSYN é desativado em resposta a SSYN;
4. SSYN é desativado em resposta à desativação de MSYN.

Barramentos Assíncronos.

Fonte: Mourelle (2018, p. 12).

6
Os handshakes completos são interdependentes do tempo. Isso significa que cada
evento é acusado por um anterior e não por um pulso sincronizado pelo relógio.

No barramento síncrono, tudo converge em múltiplos inteiros dos ciclos do relógio.


Para concordar com as diferentes velocidades dos dispositivos E/S incluídos,
os estados de espera (waitstates) são colocados. No barramento assíncrono,
o intervalo de tempo de um ciclo de leitura/escrita resulta da velocidade dos
dispositivos de E/S envolvidos. Veja como isso acontece na figura abaixo.

Ciclo de Leitura.

Fonte: Mourelle (2018, p. 9).

Se dois ou mais dispositivos necessitam se tornar mestres ao mesmo tempo,


aparece a obrigação de algum instrumento de arbitragem de barramento. Na
arbitragem centralizada, um único árbitro de barramento estipula qual o próximo
mestre.

Árbitros em barramento
O barramento apresenta uma linha única de requisição ou solicitação que poderá
ser iniciada por um ou mais dispositivos de E/S ao mesmo tempo. Quando o árbitro
reconhece uma solicitação do barramento (bus request), ele gera uma permissão
disparando uma linha de permissão de barramento (bus grant).

7
Essa linha é interligada em série com todos os dispositivos de E/S. À medida que
o dispositivo fisicamente mais próximo do árbitro enxerga a permissão, verifica se
foi ele mesmo que fez a requisição ou solicitação. Se sim, ele assume totalmente o
barramento e não propaga ou dispara a permissão pela linha. Se não, ele dispara a
permissão para o próximo dispositivo que se encontra na linha.

Esse esquema ou artifício é chamado de daisy chaining. A prioridade depende


da proximidade do dispositivo ao árbitro. Para driblar a prioridade solicitada
condicionada na distância do árbitro, podemos utilizar diversos níveis de prioridade.
Para cada um se estabelece uma linha de solicitação ou requisição de uma linha de
permissão de barramento.

Alguns árbitros apresentam uma terceira linha que um dispositivo ativa quando ele
aceitou a permissão e tomou controle do barramento (bus acknowledge). Sendo
ativadas, as linhas de requisição e permissão podem ser desativadas ou suspensas.
Como resultado, outros dispositivos de E/S podem requisitar ou solicitar o
barramento, enquanto outro o está utilizando. Quando a transferência atual terminar,
o próximo mestre já terá sido selecionado.

Na figura a seguir, observe a prioridade dos árbitros de barramento.

Prioridade dos árbitros de barramento.

Fonte: Mourelle (2018, p. 16).

8
Quando a arbitragem descentralizada está sendo empregada, não há árbitro de
barramento. Uma dica: o barramento mostra as linhas de solicitação priorizadas, às
quais cada dispositivo se conectará (havendo limitação do número de dispositivos).
Quando um dispositivo de E/S solicita usar o barramento, ele ativa a sua linha de
solicitação. Os dispositivos supervisionam todas as linhas de requisição.

Igualmente, ao fim de cada ciclo do barramento, cada dispositivo reconhece se


ele é o solicitante de maior prioridade ou se lhe é autorizado usar o barramento no
próximo ciclo.

Equiparado à arbitragem centralizada, esse modelo pede mais linhas de barramento,


deixando o custo potencial do árbitro. Outra dica consiste em o barramento mostrar
somente três linhas, independentemente do número de dispositivos presentes, como
podemos ver na figura abaixo.

Exemplo arbitragem no barramento.

Fonte: Elaborada pelo autor.

Assim que a linha de requisição é iniciada pelo dispositivo, a linha de ocupado é


iniciada pelo mestre corrente do barramento. A linha de arbitragem é utilizada para
arbitrar o barramento. Ela é sequenciada por meio de todos os dispositivos de E/S. O
início da cadeia é regularmente mantido ativo, ligando-se à fonte de +5V.

À medida que nenhum dispositivo de E/S requer o barramento, a linha de arbitragem


ativada é disseminada por meio de todos os dispositivos. Para se utilizar do
barramento, um dispositivo, primeiro, observa se o barramento está disponível e se a
linha de arbitragem que está recebendo (I-Input) está ativada.

Se I estiver desativada, ele não poderá ser alçado a mestre do barramento. Se


I estiver ativada, o dispositivo desativa O (output), o que faz todos os outros
dispositivos na cadeia desativarem I e O. No final, apenas um dispositivo terá

9
I ativado e O desativado. Ele se torna mestre do barramento, e começa sua
transferência.

Esse modelo é parecido com a arbitragem daisy chain original, excetuada pela
ausência do árbitro. Igualmente é mais barato, mais veloz e não vulnerável a erros no
árbitro.

Fechamento
Chegamos ao final do estudo sobre conceitos básicos de arquitetura de
computadores em relação à entrada e saída (E/S) e compreendemos que o
processo de entrada/saída (E/S) busca compartilhar informações ou adquiri-las dos
computadores. Vimos que essas informações são transferidas de formas diretas,
através do controlador de acesso direto à memória ou de mediadores, quando
os acessos devem ser priorizados entre CPU e E/S. Em um segundo momento,
compreendemos os barramentos síncronos, controlados por um relógio (oscilador
de cristal) e assíncronos sem controle de relógios. Por fim, vimos o processo
de arbitragem de barramento que supervisiona as linhas de requisição de um
barramento.

10
Referências
MOURELLE, L. Conceitos de Entradas e Saídas. Disponível em: http:// www.eng.uerj.
br/~ldmm/arquitetura/Conceitos_de_entrada_e_saida. pdf. Acesso em: 21 maio
2018.

11
Sistemas integrados
SANTOS, E. M. dos
SST Sistemas Integrados / Eliane Moreira dos Santos
Ano: 2020
nº de p.: 9 páginas

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Sistemas Integrados

Apresentação
Um sistema integrado é aquele que integra todos os departamentos e processos
de uma empresa, o que possibilita unificar as tarefas em conjunto para que sejam
alcançados os seus devidos resultados conforme o planejamento inicial do projeto.

Ao longo deste material, conheceremos melhor essa ferramenta e as razões para


utilizá-la.

Enterprise Resource Planning (ERP)


A tecnologia ERP ou planejamento de recursos empresariais são pacotes de software
para gestão empresarial que contêm recursos de automação e informatização,
visando contribuir para o gerenciamento dos negócios empresariais (REZENDE;
ABREU, 2013).

Curiosidade
De maneira mais específica, podemos definir ERPs como softwares
que integram todos os dados e processos de uma empresa em
um único sistema. Assim, um ERP é uma plataforma de software
desenvolvida com o objetivo de integrar os diversos departamentos
da empresa, permitindo a automação e o armazenamento de todas
as informações de negócios.

O sistema ERP é composto por módulos que se integram a partir de uma única e não
redundante base de dados. Cada módulo contempla uma área da empresa, e por meio
da integração desses módulos, é possível entender todos os processos envolvidos na
operacionalidade do negócio, o que serve como apoio à tomada de decisões de todos
os setores.

3
Os sistemas ERP do mercado são compostos por uma estrutura básica que é própria
de cada desenvolvedor e que pode ser customizada em função das necessidades
particulares da empresa que compra o software.

Stair e Reynolds (2016) apresentam os sistemas ERP com melhores classificações


no ano de 2011. Observe o quadro a seguir:

Sistemas ERP com melhores classificações em 2011

Sistemas ERP Sistemas ERP para Sistemas ERP


para grandes organizações de para pequenas
organizações médio porte organizações

Microsoft dynamics Epicor Abas

Industrial and
Oracle Activant solutions. Inc.
financial systems

Oracle eEbusiness suite Infor Baan

Oracle jd edwards Lawson Compiere

Oracle peoplesoft Plex Netsuite

Sap Sage Syspro

Fonte: Adaptado de Stair e Reynolds (2016, p. 415).

Evolução dos Sistemas


Até pouco tempo, o foco da gestão da produção eram os estoques, no sentido de
propiciar o atendimento da demanda a partir da disponibilização dos produtos de
constantes pedidos dos clientes. Contudo, em uma situação na qual o ciclo de vida
dos produtos fosse medido em anos, e as demandas variassem pouco, a gestão de
estoques poderia ser simples e o seu gerenciamento, eficiente.

Entretanto, a dinâmica dos negócios gerou uma diferença na taxa de suprimento e


consumo, tornando a gestão de estoque mais complexa. De maneira mais específica,
podemos dizer que os estoques e a necessidade de sua gestão surgem em virtude
da falta de coordenação ente o suprimento e a demanda. Nesse contexto, surgiram
modelos diferentes de gestão de estoques que, aliados ao conceito de produzir
apenas o que será vendido, proporcionaram a criação de um novo conceito.

4
Gestão de estoques

Fonte: Plataforma Deduca (2020).

Nesse novo paradigma, o cálculo da necessidade de materiais tem base na ideia


de que os componentes de um produto e o tempo para sua obtenção são fatos
conhecidos. Assim, é possível determinar quais materiais e em qual quantidade
deverão ser disponibilizados para atender às necessidades de produção, sem causar
falta ou sobra dos componentes.

Os primeiros sistemas usando a TI surgiram em 1960, na forma dos sistemas de


processamento de listas de materiais (Bill of Materials - BOM). Em seguida, esses
sistemas evoluíram para o primeiro sistema de material (Material Requirement
Planning - MRP), que tinha como base computadores da IBM/360.

Por volta de 1970, a expressão MRP tornou-se comum, e sua utilização permitiu
melhorar a produtividade e a qualidade de áreas produtivas.

À medida que as empresas utilizavam esses sistemas, percebeu-se que não seria
suficiente apenas determinar os materiais necessários para produção, mas que
seria preciso, também, planejar a capacidade de produção com o intuito de fazer
um gerenciamento de situações de ociosidade e sobrecarga da produção (AUDY;
CIDRAL; ANDRADE, 2011).

Planejar a capacidade de produção ampliou o escopo do MRP, e em meados de


1980, o modelo passou a se chamar MRP II (Manufacturing Resource Planning),
sendo definido como um modelo efetivo para fazer o planejamento de todos os
recursos de uma empresa de manufatura.

5
Curiosidade
O próximo passo para evoluir os sistemas utilizados pelas
empresas foi a integração de todas as funções empresariais,
visando ao planejamento de recursos corporativos. Com isso, a
partir de 1990, os modelos de gestão passaram a ser identificados
como Enterprise Resource Planning (ERP).

O ERP integra processos de negócio em uma única arquitetura. Atualmente,


podemos afirmar que a gestão empresarial é caracterizada por uma profusão de
modelos que dão ênfase a diferentes aspectos organizacionais.

Sistema ERP (Planejamento dos Recursos da Empresa)

Fonte: Plataforma Deduca (2020).

Resumindo:

• O primeiro ciclo evolutivo nos modelos da gestão da produção foi marcado


pelo uso dos sistemas de processamento de listas de materiais (BOM).
• O segundo ciclo evolutivo nos modelos da gestão da produção teve o MRP
como item de maior expressão.

6
• O terceiro ciclo evolutivo nos modelos da gestão da produção foi caracteriza-
do pelo uso do MRP II.
• O quarto ciclo evolutivo nos modelos da gestão da produção se caracterizou
pela utilização do ERP.

Perspectivas atuais da integração de


processos intra e interorganizacionais
As tecnologias baseadas na WEB facilitam a movimentação de informações para
fora da empresa (intraorganizacional), ou seja, facilita a movimentação por parte de
fornecedores e consumidores.

Temos então os negócios eletrônicos (e-business), que abrangem três tipos de


estágios:

E-commerce

Inclui transações de venda e compras que são realizadas pela empresa.

E-business

Trata de melhorar o desempenho nos negócios através do uso da Web, e pelo


uso de padrões de conexão entre fornecedores e consumidores.

E-partnering

É o estabelecimento de alianças estratégias entre empresas, de forma que


elas possam compartilhar os benefícios e melhorias provenientes do uso dos
recursos de e-business.

Assim, é possível considerarmos que o desafio atual da evolução das soluções


tecnológicas é definir uma arquitetura que seja capaz de integrar o ERP ao
e-business, com intuito de potencializar as vantagens competitivas.

Algumas soluções adotadas incluem a integração do ERP ao SCM (Supply Chain


Management) e CRM (Customer Relationship Management).

7
Sistemas de SCM: São sistemas de informação que permitem diversas organizações
se integrarem. Isso resulta em um compartilhamento de padrões e recurso, e uma
integração entre os sistemas ERP da empresa e os sistemas ERP dos clientes e
fornecedores. O SCM, gerenciamento de cadeia de suprimentos, de forma mais
específica, é um sistema que inclui o planejamento, execução e o controle de
atividades que envolvem a compra e abastecimento de matéria-prima, envolve
também a conversão de matéria-prima em produtos acabados / finalizados para os
clientes. O objetivo do SCM é reduzir os custos e otimizar o serviço ao cliente.

Sistemas CRM: São sistemas de informação que fornecem suporte para o


atendimento de clientes com objetivo de conquistar sua fidelidade. Esses sistemas
incluem desde centrais de atendimento até o desenvolvimento de soluções para
identificar o comportamento dos consumidores, através de técnicas de data mining
e data warehouse.

Fechamento
Desse ponto de vista de suporte à integração entre processos de negócios e
funções empresariais, os sistemas de informação são elementos que articulam a
evolução da TI e a evolução dos modelos de negócio. Nesse sentido, os sistemas de
informação proporcionam uma integração cada vez maior entre processos de uma
organização, integrando processos de fornecedores e clientes.

8
Referências
AUDY, J. N.; CIDRAL, A.; ANDRADE, G. K. Fundamentos de sistemas de informação.
Porto Alegre: Bookman, 2011.

STAIR, R. M.; REYNOLDS, G. W. Princípios de sistemas de informação. São Paulo:


Cengage, 2016.

REZENDE, D. A.; ABREU, A. F. Tecnologia da informação aplicada a sistemas de


informação empresariais. São Paulo: Atlas, 2013.

9
Organização e funções
básicas dos componentes
de um Sistema de
Computação: Parte I
Schirigatti, J. L., Ancelmo, J. R.;
Organização e funções básicas dos componentes de um
Sistema de Computação: Parte I / Autor: Jackson Luis
Schirigatti, José Roberto Ancelmo
SST
Local: Florianópolis, 2020.
nº de p. : 10 páginas

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Organização e funções básicas
dos componentes de um
Sistema de Computação: Parte I

Apresentação
Estudar a arquitetura e a organização de um computador é enxergá-lo por dentro,
a sua organização, seus dispositivos e para que funcionam. Agora você estudará
como os dispositivos e processadores estão organizados num computador e como
a memória trabalha.

Também entenderá como funcionam as filas de endereçamento, como o computador


consegue fazer mil tarefas ao mesmo tempo e ainda deixar o processador livre para
que a máquina responda de maneira satisfatória.

Dispositivos E/S e Unidade Central de


Processamento (CPU)
O hardware de um computador é composto por um conjunto de três componentes
básicos, os quais são combinados sistematicamente a fim de armazenar uma série
de dados e, posteriormente, processá-los em forma de resultados, sendo que, para
cada aplicação particular desejada, é possível arquitetar uma configuração lógica
diferente desses componentes.

No entanto, independentemente da aplicação projetada, para que esse


comportamento funcional do sistema ocorra, é indispensável que haja a troca e a
interpretação de dados e sinais de controle entre os seus componentes lógicos.
Assim, dependendo do sinal fornecido a partir de um dado, o computador será capaz
de executar diferentes funções.

Para isso, faz-se necessário um componente de entrada e saída (E/S) interconectado


ao sistema que seja capaz de introduzir os dados de modo que sejam geradas
instruções a serem processadas e, posteriormente, reproduzidas ao usuário. Cada
componente E/S é capaz de controlar um ou mais dispositivos periféricos, também
conhecidos como dispositivos input/output (I/O), pelos quais é possível introduzir e/
ou extrair dados, por meio da interação do processador com o homem.

3
Os dispositivos de entrada correspondem aos equipamentos pelos quais é
possível, especificamente, introduzir dados no computador, por exemplo: teclado,
mouse, scanners, disquetes, HDs externos, microfone, câmera, mesa gráfica
etc. Comumente, todos os dispositivos de entrada são capazes de codificar
as informações fornecidas pelo homem em forma de dados que possam ser,
posteriormente, processados pelo sistema digital do computador.

Por sua vez, os dispositivos de saída correspondem aos equipamentos pelos


quais é possível, especificamente, extrair dados do computador, como monitor de
vídeo, impressora, caixas de som, fones de ouvido, entre outros. Ao contrário dos
dispositivos de entrada, essa classe de equipamentos é responsável por decodificar
os dados gerados pelo sistema digital do computador em forma de informações que
podem ser percebidas de maneira inteligível pelo usuário.

Ainda, existem dispositivos E/S que funcionam tanto para entrada quanto para a
saída de dados, sendo, portanto, chamados de dispositivos híbridos. São exemplos
desses dispositivos os drives de CD e DVD-ROM, pen drives e os modens.

No entanto, para que os dados fornecidos pelos dispositivos de entrada sejam


convertidos efetivamente em resultados pelo dispositivo de saída, é necessário
que haja um componente intermediário presente no sistema que seja capaz
de interpretar esses dados e, consequentemente, gerar sinais de controle
correspondentes. A esse componente damos o nome de Unidade Central de
Processamento (CPU).

Conhecida popularmente como microprocessador, a unidade central de


processamento (CPU) é o componente mais importante do sistema computacional,
pois é ela quem executará os programas armazenados na memória principal,
buscando e interpretando cada instrução fornecida pelo dispositivo de entrada de
dados, a fim de devolvê-los em forma de informações acessíveis ao usuário por meio
dos dispositivos de saída.

De modo geral, cada processador é composto por um circuito integrado próprio,


o qual pode ser dividido, basicamente, em dois grandes módulos: a unidade de
controle (UC) e a unidade lógica e aritmética (ULA). Enquanto a UC responsabiliza-se
por supervisionar todas as operações do computador sob a direção de um programa
armazenado, a ULA realiza todas as operações matemáticas e comparações lógicas
sobre um conjunto de dados.

4
Esquematização do processamento de dados

Unidade de
Memória

Unidade Central
Dispositivo Dispositivo
de Processamento
de Entrada de Saída
(CPU)

Fonte: Adaptada de Stallings (2002).

Para isso, a UC determina, primeiramente, qual instrução será executada pelo


computador e, depois, procura essa instrução na memória interna, gerando um sinal
que será interpretado pela ULA. A execução dessas instruções ocorre, na maioria
das vezes, de modo sequencial por meio de algoritmos escritos a partir de uma
linguagem de programação que são compilados e geram um código programado
responsável pelo processamento dos dados. A instrução é então executada
por outras unidades do computador sob a direção da UC, caracterizando o que
chamamos de Ciclo de Instrução.

Ciclo de instrução e endereçamento


de memória
O ciclo de instrução pode ser entendido tipicamente como uma sequência de
passos, em que, a cada passo, uma operação lógica ou aritmética é executada pela
ULA sobre algum dado a partir das instruções fornecidas pela memória do sistema.
Para isso, o circuito realiza uma busca nos registradores da UC, os quais são
responsáveis por receber, guardar o endereço da próxima instrução a ser executada
e transferi-la na direção de algum dispositivo de controle. Desse modo, para cada
ciclo de instrução, o microprocessador realiza dois processos respectivos: um ciclo
de busca e um ciclo de execução.

5
Esquematização do Ciclo de Instrução Básico

ciclo de busca ciclo de execução

Busca da
Execução da
INÍCIO próxima PARADA
instrução
instrução

Fonte: Adaptada de Stallings (2002).

A partir do esquema apresentado, pode-se observar que a execução de um


programa se encerra somente se a máquina for desligada, se ocorrer algum erro
irrecuperável ou se for executada uma instrução de programa que pare a operação
do computador. Do contrário, enquanto novos dados forem inseridos no sistema, o
ciclo de instrução permanecerá ininterrupto. Ainda, cada CPU de computador pode
executar vários ciclos de busca e execução diferentes de acordo com o conjunto de
informações que forem guardadas nos registradores.

Cada registrador compreende uma posição de memória identificada por um


endereço específico, capaz de guardar informações temporárias (sequências de
bits = palavra) que podem ser deslocadas dentro de um mesmo registrador ou
transferidas entre dois registradores, a fim de serem interpretadas como uma
instrução ou como um dado. O modo específico pelo qual esse processo ocorre será
explicado detalhadamente mais adiante.

Saiba mais
Bit: Descendente das palavras “dígito binário” (binary digit), o bit
corresponde à menor unidade de medida de transmissão de dados
usada na área da computação e informática.

Tipicamente, os registradores são endereçados sequencialmente e, juntos,


constituem um subsistema de memória da Memória lnterna, denominado Memória
RAM (Random Access Memory).

Um endereço de memória identifica uma locação física na memória interna de um


computador, apontando para o local onde os dados estão armazenados. É como um
endereço residencial o qual indica onde você reside.

6
Nessa analogia, o espaço de endereçamento corresponde à área onde sua moradia
está fixada, como o seu bairro ou a sua cidade, por exemplo. Aqui, o espaço é
extremamente importante, porque, ainda que existam duas “Av. Brasil, 120”, cada um
pertence a uma cidade diferente (São Paulo e Rio de Janeiro, por exemplo), ou seja,
correspondem a espaços de endereçamento diferentes. O mesmo acontece com o
endereçamento da memória. A memória RAM é dividida em linhas (Row) e colunas
(Column). O acesso é feito enviando os valores CAS (Columm Adress Strobe) e
RAS (Row Adress Strobe), que correspondem a esses endereços de linha e coluna.
Combinados os dois endereços, é acessado o bit de dados desejado. Para acesso a
uma determinada posição, seja para gravar ou ler dados, o controlador de memória
primeiro gera o valor de RAS ou o número da linha que está relacionada à posição,
sendo gerado em seguida o valor de CAS, que corresponde à coluna dessa posição.
Veja o exemplo:

Modelo de endereçamento de memória

1
2
3
4
Valor RAS:
5
"9 linha"
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10

Bit a ser
acessado

Legenda: Exemplo de Endereçamento de Memória.


Fonte: Rodrigues (2014)

De modo geral, a memória principal de um sistema de computação é arquitetada


hierarquicamente, sendo que os registradores estão no topo dessa hierarquia.
Isso porque os registradores são o meio mais rápido de se armazenar um dado
ou instrução e, por isso, também compreendem o componente mais caro de uma
Memória. É a capacidade de armazenamento dos registradores (n bits) que irá ditar

7
o tamanho da memória interna e, consequentemente, limitará o tipo de serviço que o
computador poderá executar.

Alguns registradores mais comuns são:

• Acumulador (AC): responsável por armazenar os resultados de um cálculo.


• Registrador de endereçamento da memória (Memory address register –
MAR): especifica o endereço da memória que deverá ser usado pela próxima
instrução de leitura ou escrito.
• Registrador de dados da memória (Memory data register – MDR): contém o
dado a ser lido ou escrito na memória.
• Registrador de instrução (Instruction Register – IR): armazena a próxima ins-
trução que deverá ser interpretada e executada.
• Contador de programa (Program Counter – PC): usado para guardar o ende-
reço da próxima instrução a ser buscada na memória.
• Registradores de propósito gerais (R): são aqueles capazes de armazenar di-
versos tipos de dados, podendo ser utilizados para a manipulação de cálculos,
contagens, armazenamento, ponteiros, entre outros.

Modos de execução do processador


Levando-se em conta os conhecimentos adquiridos no decorrer desta unidade,
podemos ter uma visão mais detalhada do processo de execução do processador, no
qual: no início de cada ciclo, o processador busca uma instrução primária guardada
no endereço de memória do PC que irá informar o endereço da próxima instrução a
ser executada e assim por diante.

Saiba mais
Considere um sistema de computação no qual cada palavra de
memória contenha 16 bits e, a partir daí, suponha que o PC possui o
endereço 200. O microprocessador irá buscar a próxima instrução
na posição de memória 200 e, a cada novo ciclo de instrução,
buscará as instruções nas posições seguintes: 201, 202, 203, e
assim por diante.

Cada instrução é carregada simultaneamente no IR que, por sua vez, contém uma
sequência de bits que especificam a ação que a UC deverá executar. A partir daí,

8
um sinal é enviado para a ULA, a qual interpreta a instrução armazenada no IR e a
devolve para a UC a fim de executar a ação requisitada.

Em geral, essas ações podem ser classificadas em quatro categorias:

• Processador-memória: ação de transferência de dados do componente de


processamento para o componente de memória e vice-versa.
• Processador-E/S: ação de transferência de dados entre o componente de pro-
cessamento e um dispositivo periférico de entrada e saída.
• Processamento de dados: execução de operações lógicas ou aritméticas so-
bre os dados.
• Controle: ação em que a sequência de informações pode ser alterada. Nes-
ses casos, o programador pode desenvolver um programa não sequencial de
modo que, ao buscar uma instrução na posição de memória de endereço 256,
seja transmitido um sinal para que a próxima busca seja direcionada para a
posição de memória de endereço 182. Desse modo, no ciclo seguinte, a ins-
trução será obtida no endereço 182, e não no endereço 257 como previsto.

Conclui-se, portanto, que um ciclo de instrução pode envolver mais de uma


referência, podendo não só especificar uma interação entre o processador e a
memória, como também entre o processador e um componente E/S e, ainda, entre
um componente E/S e a memória.

Fechamento
Entendemos que a Arquitetura de Computadores basicamente corresponde ao
comportamento funcional de um sistema computacional. Já a Organização de
Computadores cuida da estrutura interna do computador (ex. frequência do relógio
ou tamanho da memória física).

Trabalhar com arquitetura e organização de computadores é trabalhar com vários


níveis de funções, e tomamos por exemplo o nível mais alto, onde o usuário
executa programas e o nível mais baixo, que consiste em transistores e fios.

Estudamos a memória principal, que nada mais é que um sistema de computação


que possui uma hierarquia, cujos registradores são os primeiros alocados no topo
dessa hierarquia.

9
Os registradores têm capacidade de armazenamento (n bits) que, de certa maneira,
determina o tamanho da memória interna e, consequentemente, limitará o tipo de
serviço que o computador poderá executar.

Referências
STALLINGS, W. Arquitetura e organização de computadores. São Paulo: Prentice
Hall, 2002.

RODRIGUES, Bruno Rafael de Oliveira. Métodos de acesso de dados. Arquitetura de


Computadores. Disponível em: http://slideplayer.com.br/slide/298336/. Acesso 26
mar 2020.

10
Organização e funções
básicas dos componentes
de um sistema de
computação: Parte II
ANCELMO, J.
SST Organização e funções básicas dos componentes de um
sistema de computação: Parte II / José Ancelmo
Ano: 2020
nº de p.: 10 páginas

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Organização e funções básicas
dos componentes de um sistema
de computação: Parte II

Apresentação
Neste material, vamos nos dedicar a conhecer melhor aquilo que está dentro
de um computador, seus componentes e suas funcionalidades. Começaremos
pela memória, passaremos pelos processadores e características, até, por fim,
compreendermos a organização RAID.

Tipos de memória
Na informática, “memória” é um termo genérico utilizado para designar tanto as
partes de um sistema de computação quanto de um dispositivo periférico (E/S),
nas quais é possível armazenar dados e programas. Embora o seu conceito seja
aparentemente simples, a memória é, provavelmente, o componente do computador
que apresenta um maior número de variedade em relação ao tipo, tecnologias,
organizações, desempenhos e custos.

Atenção
De modo geral, toda memória permite a realização de dois tipos de
operações: escrita (armazenamento da informação na memória)
e leitura (recuperação da informação armazenada). No caso da
memória primária, por exemplo, essas operações são realizadas
por intermédio da CPU e efetuadas através dos registradores.

O uso de mais de um nível de memória explora o fato de que existe uma variedade
de tipos de memória que utilizam a mesma tecnologia, porém diferem quanto à
velocidade e custo. Desse modo, é possível combinar memórias menores, mais
caras e mais rápidas com memórias maiores, mais baratas e mais lentas.

3
Principais diferenças entre as memórias internas e externas

Memória RAM Memória ROM

Localização Interna / primária Externa / Secundária

Capacidade Bytes ou palavras Bytes

Tecnologia Semicondutores Mídias Magnéticas ou Ópticas

Volatilidade Sim Não

Categoria Leitura e Escrita Somente leitura

Método de Acesso Direto Indireto

Fonte: Elaborada pelo autor (2020).

A memória interna (RAM) corresponde à memória que o processador precisa


acessar para enviar dados e, assim, executar suas ações. De acesso mais rápido,
porém com uma capacidade mais restrita, esse tipo de memória armazena
informações temporariamente durante um processamento realizado pela CPU, ou
seja, na falta de energia ou quando o computador for desligado, todos os dados
serão perdidos.

Embora a memória interna seja geralmente identificada apenas como a memória


principal, outras formas de memória interna também fazem parte do sistema de
computação, como os registradores e a memória cache, sobre a qual falaremos a
seguir.

Do ponto de vista físico, a memória cache pode ser considerada uma pequena peça
presente dentro do circuito interno do processador, onde, sem observar arquiteturas
específicas, poderíamos imaginá-la como um pequeno módulo contendo os seus
próprios subcomponentes. Já, do ponto de vista funcional, esta compreende um
tipo de memória de linguagem simples e objetiva que trabalha em conjunto com o
processador, organizando a movimentação de dados entre a memória principal e
seus registradores a fim de potencializar o seu desempenho.

Algumas operações e tarefas de programas podem ser complexas e demandam


um grande tempo e robustez de processamento para sua execução. Desse modo, o
processador organiza a execução dos cálculos de dados através de forma inteligente
e eficaz onde, para realizar as ações de um operador/usuário, a CPU divide as
informações a serem processadas entre dados e instruções.

4
Memória

Fonte: Plataforma Deduca (2020).

Conhecida como memória secundária ou, ainda, memória de mercado, a memória


externa é popularmente denominada de Memória ROM (Read Only Memory). Ao
contrário da memória RAM, a memória ROM é utilizada para armazenar dados e/ou
instruções permanentes ou que raramente serão alterados, de modo que, ainda que
o computador seja desligado, essas informações continuarão salvas.

Para isso, a memória ROM é fabricada com um chip de armazenamento que possui
um software próprio não editável, o qual não permite que a memória seja alterada
por um programa do usuário, tornando-se, portanto, uma memória somente de
leitura. A esse conjunto de instruções operacionais (hardware + software) dá-se o
nome de firmware.

Assim como a memória cache, a utilização da memória externa na hierarquia de um


computador visa contribuir com a melhora do desempenho do sistema e, para isso,
atua essencialmente de duas maneiras:

Forma 1

As operações de escrita em disco são agrupadas, ou seja, em vez do


processador realizar diversas transferências contendo uma pequena
quantidade de dados, são feitas poucas transferências em grandes blocos de
dados;

5
Forma 2

Alguns dados a serem escritos em um disco podem ser referenciados


novamente pelo programa antes que seja realizada a próxima transferência de
dados da memória cache para esse mesmo disco.

Dos sistemas de memória externa, o disco magnético é por muitos considerado


o mais importante até hoje, por compor a base de quase todos os sistemas de
computação em uso na atualidade.

O disco magnético é composto por um prato circular de metal, plástico ou outro


material rígido que, por sua vez, é revestido por um material que possa ser
magnetizado, no qual ocorrerá a escrita e a leitura dos dados por meio de uma bobina,
denominada cabeçote, ou também cabeça de leitura e gravação. Para que esse
processo ocorra, o cabeçote é mantido imóvel enquanto o prato gira embaixo dele.

Elementos do disco magnético

Fonte: Plataforma Deduca (2020).

A escrita, nesse sistema, é realizada através de pulsos de corrente elétrica


transmitidos do cabeçote para o disco que gravam os dados magnéticos digitais
na sua superfície localizada logo abaixo do prato. Nesse sistema, a indução de
correntes positivas gera padrões magnéticos diferentes da indução de correntes
negativas, possibilitando assim, diferentes impressões digitais da informação a ser
armazenada. Já o processo de leitura ocorre pela reprodução dessa informação
armazenada no prato, que quando em movimento, a superfície logo abaixo do

6
cabeçote emite uma corrente idêntica à que fora transmitida no momento da
gravação desses dados.

A transferência de dados para o disco ocorre em forma de blocos, que por sua
vez comumente têm dimensões de armazenamento inferior ao de uma trilha. São
denominadas setores as regiões do mesmo tamanho de um bloco, tipicamente
dispostas entre 10 a 100 setores por trilha, que podem ter tamanho fixo ou variável.
Setores adjacentes contam com espaços internos à trilha (ou espaços entre
setores) para evitar impor requisitos de precisão do posicionamento do disco
exagerados ao sistema.

Para permitir a existência de um mecanismo que identifique um setor dentro de uma


trilha, o disco é formatado com alguns dados extras, invisíveis para o usuário, que
permitem identificar o início e o fim de cada setor, e o início de cada trilha.

Organização dos dados no disco magnético

Trilhas
Setores

Espaço entre Trilhas

Espaço entre Setores

Fonte: Adaptada de Stallings (2002).

No tópico a seguir, vamos estudar as características dos processadores atuais.

7
Características dos processadores
atuais
Atualmente, a maioria dos sistemas de computação é fabricada em torno de
processadores que buscam maior velocidade na realização de suas atividades. Para
atingir esse objetivo, os processadores se utilizam de uma tecnologia denominada
pipeline, na qual a CPU se divide em várias partes funcionais distintas (estágios),
cada uma correspondendo a uma determinada atividade.

Assim, várias instruções são realizadas de forma simultânea, embora em estágios


diferentes.

Modelo com visão expandida de um Pipeline de Instrução de dois estágios

Espera Espera
Novo Endereço

Instrução Instrução Resultado


Busca Execução

Descarte

Fonte: Elaborada pela autora (2020).

Tomando como base um ciclo de instrução com dois estágios (busca e execução
da instrução), como mostra o modelo acima, existem dois momentos durante a
execução de uma instrução em que a memória principal não está sendo usada.
Desse modo, esse intervalo pode ser usado para buscar a próxima instrução,
concomitantemente com a execução da instrução em curso.

A pipeline tem dois estágios independentes. O primeiro busca a instrução e a guarda


em uma área de armazenamento temporário enquanto o segundo está livre e, então, o
primeiro passa para ele a instrução armazenada. Por sua vez, enquanto o segundo está
executando a instrução enviada, o primeiro tira proveito de ciclos de memória que não
são usados para buscar e armazenar a próxima instrução. Esse processo é chamado de
“busca antecipada de instrução” (instruction prefetch) ou “superposição de busca” (fetch
overlap) e é a partir dele que, portanto, a execução de instruções é acelerada.

8
Características e organização RAID
Assim como acontece com a programação de processadores e da memória primária,
a melhoria no desempenho de memórias secundárias também tem sido alvo da
preocupação dos projetistas dessa geração. No entanto, sabe-se que, como em todas
as outras áreas da programação, os dispositivos de um sistema de computação
podem ser melhorados até certo ponto, portanto, para conseguir ganhos adicionais de
desempenho, são utilizados componentes em paralelo ao sistema.

Em relação à tecnologia de armazenamento de discos, houve uma sensível melhora


no espelhamento de vários hard disks, onde um bloco de dados a ser acessado
é distribuído em diversos discos. Com isso, os dados podem ser organizados de
diferentes maneiras, podendo ser empregada alguma redundância para melhorar a
confiabilidade dos resultados. Para isso, adota-se um padrão para o projeto de banco
de dados de vários discos, conhecido como RAID.

Atenção
Do inglês Redundant Array of Independent Disks (RAID), os
arranjos redundantes de disco independentes constituem parte
da capacidade física de armazenamento de dados de um sistema
de computação, na qual informações repetidas sobre os dados
são guardadas no restante da capacidade de armazenamento de
memória. Essa informação redundante possibilita a regeneração
de dados em caso de falha de um dos elementos do arranjo de
discos ou em um dos caminhos de dados.

De modo geral, o esquema RAID consiste em sete níveis que variam de zero a seis,
os quais implicam em uma relação hierárquica e, ao mesmo tempo, designam
diferentes arquiteturas de projeto com três características em comum:

• o RAID consiste em um agrupamento de unidade de discos físicos, entendido


pelo sistema operacional como uma única unidade de disco lógico;
• os dados são distribuídos pelas unidades de discos físicos do agrupamento;
• a capacidade de armazenamento redundando é utilizada para armazenar in-
formação de paridade, garantindo a recuperação dos dados em caso de falha
em algum disco.

9
Fechamento
Nesta unidade, você aprendeu: quais são os componentes de um sistema de
computação e suas funções; como ocorre a interconexão entre os componentes do
sistema de computação; como ocorre a execução de um processamento de dados;
quais os tipos de memórias que compõem um sistema e seu funcionamento;
as características da Organização RAID; e sobre os diferentes tipos de mídia
(magnética e óptica).

10
Referências
STALLINGS, W. Arquitetura e organização de computadores. São Paulo: Prentice
Hall, 2002.

11
Processadores Vetoriais/
Matriciais e Arquiteturas
RISC e CISC
Moreira, Marcelo dos Santos
SST Processadores Vetoriais/Matriciais Arquiteturas RISC e
CISC / Marcelo dos Santos Moreira
Ano: 2020
nº de p. : 11

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Processadores Vetoriais/
Matriciais e Arquiteturas
RISC e CISC

Apresentação
Em nosso estudo, veremos os processadores vetoriais/matriciais que realizam
operações aritméticas vetoriais e matriciais de números pontos flutuantes. Em
um segundo momento, estudaremos a arquitetura de processadores RISC e CISC,
relacionando as suas instruções, cada um com suas características específicas. E,
na sequência, faremos um comparativo entre essas duas arquiteturas.

Processadores Vetoriais/Matriciais
Para Stallings (2008), a principal característica do projeto de um processador
vetorial reside no fato de que a sua principal tarefa é executar operações
aritméticas de vetores ou matrizes de números de ponto lutuante, pois isso requer,
necessariamente, uma interação por meio de cada elemento da matriz.

Como exemplo, o autor cita dois vetores de números A e B – matrizes


unidimensionais. Daí a necessidade de somá-los e os respectivos resultados devem
ser registrados em C.

Na tabela a seguir, veja a soma de vetores com seis operações separadas.

Soma de vetores com operações separadas.

1,5 2,0 3,5

7,1 39,7 46,8

6,9 1000,003 1006,093


+ =
100,5 11 111,5

0 21,1 21,1

59,7 19,7 79,4

A + B = C

Fonte: Stallings (2008, p. 542).

3
Uma alternativa proposta pelo mesmo autor na busca da melhoria de desempenho
é a aplicação do processamento vetorial, por meio do qual é possível operar em um
vetor de dados unidimensional.

A mesma operação, que se utiliza de seis operações, pode ser adaptada com o
processamento vetorial, expresso em código da linguagem Fortran, o qual passa a
ter uma única operação, conforme ilustra a figura a seguir.

Soma de vetores com o processamento vetorial.

DO 100 I = 1,N
C(I,J) = 0,0 (J = 1,N)
DO 100 K = 1,N
C(I,J) = C(I,J) + A(I,K) + B(K,J) (J = 1,N)

100 CONTINUE

Fonte: Stallings (2008, p. 543).

No código da figura apresentada, podemos notar que todos os elementos da


i-ésima linha serão calculados de forma paralela, ou seja, cada elemento da linha
é um somatório, e os somatórios – K – serão processados de forma serial em
vez de paralelo.

Já Tanenbaum (2013) cita a similaridade de um processador vetorial com um


processador SIMD – Single Instruction, Multiple Data, o qual se caracteriza pelo
único fluxo de instrução, porém com múltiplos fluxos de dados.

Um processador vetorial tem como característica principal a sua eficiência na


execução de uma sequência de operações em pares de elementos de dados. O
autor destaca a diferença entre um processador vetorial e um SIMD, quando no
primeiro as operações de adição são efetuadas em uma única unidade funcional,
de alto grau de paralelismo.

Atenção
Em sistemas vetoriais, o acesso à memória deve ser rápido e
uniforme, ou seja, o mesmo tempo de acesso para todos os
elementos de um vetor. Diante disso, sistemas computacionais
com arquitetura vetorial não necessitam de memória cache e nem
de memória virtual.

4
A concepção dos processadores vetoriais está baseada em matrizes de dados,
instruções únicas e um registrador vetorial, o qual é carregado com base na memória
em uma única instrução.

Em seguida, uma instrução de adição vetorial efetua as adições a partir dos


elementos de dois desses vetores, alimentando-os em um somador com
paralelismos (pipelined) com base em dois registradores vetoriais.

O resultado do somador é outro vetor, o qual pode ser armazenado em um registrador


vetorial e usado diretamente como um operando para outra operação vetorial.

Arquiteturas RISC e CISC


Vale aqui descrever um pouco da história das tecnologias dos processadores.

A tecnologia de processadores RISC (Reduced Instruction Set Computing ou


Computador com um Conjunto Reduzido de Instruções) foi desenvolvida pela IBM
em 1980, com a proposta de um conjunto reduzido de instruções, definidas apenas
às mais frequentemente utilizadas, evitando o uso de microcódigos (MONTEIRO,
2007). O seu projeto previa instruções simplificadas, utilizando apenas um único
operando.

A ênfase dos processadores RISC estava no uso de registradores, limitando o acesso


à memória a instruções load/store. Como resultado, o processador necessitaria de
apenas um ciclo para cada instrução.

Diante da dificuldade de se escrever programas complexos, utilizando um conjunto


muito reduzido de instruções, tal conjunto foi incrementado com novas instruções,
propícias para trabalharem com memória virtual e multiprocessamento. Assim, a
tecnologia RISC teve forte predominância em estações de trabalho científicas.

Quanto aos processadores CISC (Complex Instrution Set Computing ou Computador


com um Conjunto Complexo de Instruções), foi dada uma ênfase mais geral a eles.
A sua predominância foi em ambientes comerciais, haja vista não apresentarem
velocidade necessária aos trabalhos com extensas manipulações de números e alta
resolução gráfica.

Para esses ambientes, faz-se necessário contemplar todo o sistema: CPU, memória,
velocidade de discos, sistema operacional e software.

5
Destacamos como vantagem de uma arquitetura CISC apresentar grande parte
das instruções armazenadas no próprio processador. Assim, o trabalho dos
programadores é facilitado, pois acessam rapidamente todas as instruções que
serão usadas em seus programas.

Outra vantagem dos processadores CISC é a redução do tamanho do código


executável, haja vista já disporem de muito do código comum em vários programas
na forma de uma única instrução.

Os processadores CISC utilizam um conjunto de códigos de instruções que são


gravados no processador, permitindo a eles receber as instruções dos programas
e executá-las. Esse conjunto de códigos são chamados de microprogramação.
Tais instruções, já em baixo nível, são subdivididas em diversas instruções mais
próximas do hardware.

Elas são implementadas e guardadas na forma microcódigo no processador,


dificultando a modificação da sua lógica de tratamento. O resultado disso é que
CISC suporta apenas operações similares a [a=a+b], as quais podem ser descritas
por [adda,b].

Podemos notar que tais operações conseguem manipular somente dois operandos
para uma única instrução. Um deles, fonte; o outro, destino (acumulador). Elas
permitem um ou mais operadores em memória para a realização das instruções.

Isso reforça a necessidade de um leque de modelos de endereçamento, com acesso


direto à memória e com apontadores para as variáveis de memória, armazenados
em células de memória.

Em se tratando de um processador genuinamente RISC, exige-se do programador


outra estratégia, haja vista que os processadores dessa tecnologia não têm
microprogramação e, consequentemente, as instruções são executadas diretamente
pelo hardware. Ou seja, além de não ter microcódigo, RISC tem o conjunto de
instruções reduzido e um baixo nível de complexidade.

Uma aplicação prática e muito comum é o uso da tecnologia RISC pelos modernos
videogames, pois exigem hardware dedicado para o seu processamento, resultando
em dispositivos muito mais rápidos se comparados aos microcomputadores que
geralmente contam com mais recursos computacionais.

6
Videogame.

Fonte: Plataforma Deduca (2020).

Algumas características destacam a tecnologia RISC. Chamamos a atenção ao fato


de o RISC apresentar um conjunto menor de instruções, todas de largura fixa, se
comparado à CISC, e a vantagem de ter a mesma capacidade de processamento.

Outro destaque da tecnologia RISC frente à CISC diz respeito à chamada de rotinas
e à passagem de parâmetros. Fato é que as chamadas de funções consomem muito
tempo de processador, apesar de requererem poucos dados.

Porém, demandam mais tempo para os acessos à memória. Daí o motivo de a


tecnologia RISC utilizar mais registradores. O mesmo acontece com as chamadas de
função, as quais são processadas com acessos à memória na tecnologia CISC; e em
RISC isso ocorre internamente ao processador.

Como já discutido, pipeline traz a ideia de estágios de uma linha de produção e


se espera que dois estágios terminem de forma simultânea. O objetivo de cada
instrução é completar um estágio de pipeline dentro de um ciclo de clock, entretanto
isso nem sempre é o que acontece.

7
Comparativo das arquiteturas RISC e
CISC
No intuito de uma melhor compreensão sobre esse assunto, elaboramos o quadro
abaixo, que apresenta uma comparação entre as arquiteturas RISC e CISC.

Comparativo das Arquiteturas RISC e CISC

Características RISC CISC

Tipo de Arquitetura Registrador-registrador Registrador-memória

Tipo de Dados Pouca variedade de dados Muita variedade de dados

Acesso aos dados pela


Modo de Acesso aos Dados Acesso à memória
memória

Acesso à memória
Acesso à memória por
Modo de Acesso à Memória somente pelas instruções
várias instruções
load/store

Quantidade de Conjuntos
Múltiplos conjuntos Um único conjunto
Registradores

Quantidade de Operandos Três operandos de Até dois operandos por


de Registradores por Instrução registradores instrução

Instruções simples em Instruções complexas e


Tipos de Instruções número reduzido em grande quantidade

Instruções contendo Instruções contendo


Formato das Instruções poucos endereços muitos endereços

Instruções de tamanho
Tamanho das Instruções Instruções de tamanho fixo
variável

Instruções de um único Instruções de múltiplos


Número de Instruções por Ciclo ciclo (load/store) ciclos

Poucos modos de Muitos modos de


Modos de Endereçamento endereçamento endereçamento

Altamente paralelizado
Características de Paralelismo (uso de pipeline)
Muito pouco paraliezado

8
Número de estágios de
Entre 4 e 10 Entre 20 e 30
pipeline

Complexidade no
Foco da complexidade compilador
Complexidade no código

Fonte: Adaptado de Tanenbaum (2013, p.47-48).

Stallings (2003) ressalta que em RISC são produzidos programas menores e,


consequentemente, executados mais rapidamente. Daí a vantagem de ocuparem
menos memória e ter um melhor desempenho. Menos instruções equivalem a um
menor número de bytes de instrução para ser obtido. Além disso, considerando um
ambiente de paginação, programas menores ocuparão menos páginas, diminuindo a
probabilidade de falhas de páginas.

Assim, podemos concluir que, para instruções complexas, os processadores CISC


têm um melhor desempenho. No entanto, o que se tem visto atualmente é uma
forte tendência de utilização de processadores híbridos, os quais, na sua essência,
são processadores CISC, que também incorporam recursos encontrados nos
processadores RISC.

Internamente, o processador híbrido processa apenas instruções simples. Aliado às


instruções internas, um circuito decodificador será o responsável por converter as
instruções complexas utilizadas pelos programas em várias instruções simples que
podem ser entendidas pelo processador.

Reflita
Por questões de marketing, ainda hoje os fabricantes de
processadores divulgam a sua linha de produtos como sendo de
RISC, porém não há mais quase nenhum processador com essa
tecnologia. O mercado de processadores vê a adoção híbrida das
tecnologias CISC e RISC por simples questão de desempenho. Por
que nos restringir a uma ou outra tecnologia se podemos usufruir
do melhor das duas?

9
Fechamento
Chegamos ao final do estudo sobre os processadores vetoriais/matriciais e
arquitetura RISC e CISC. Compreendemos que os processadores vetoriais/matriciais
têm o objetivo de processar dados aritméticos de vetores ou matrizes de números de
ponto flutuante. Vimos que as arquiteturas RISC e CISC apresentam características
específicas, em que o processador trabalha com ciclos diferentes para cada
instrução. Por fim, realizamos um comparativo entre essas arquiteturas, mostrando
a diferença entre as várias características como modos de acesso, tipos e formados
de instruções, modos de endereçamento e outras.

10
Referências
MONTEIRO, M. A. Introdução à organização de computadores. Rio de Janeiro: LTC,
2007.

STALLINGS, W. Arquitetura e organização de computadores. 8. ed. São Paulo:


Pearson, 2008.

TANENBAUM, A. S. Organização estruturada de computadores. 6. ed. São Paulo:


Pearson, 2013.

11
Conjunto de Instruções
Moreira, Marcelo dos Santos
SST Conjunto de Instruções / Marcelo dos Santos Moreira
Ano: 2020
nº de p. : 12

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Conjunto de Instruções

Apresentação
Neste momento, estudaremos os modos de endereçamento em áreas de memória
e registradores, como o modo direto, indireto, por registrador, indexado, modo base
mais deslocamento. Em um segundo momento, compreenderemos a representação
de dados, seus tipos, dados numéricos, dados não numéricos e dados lógicos. Por
fim, compreenderemos o conjunto de instruções e os tipos de instruções para serem
interpretadas e executadas pelo processador.

Modos de endereçamento
• Modo Direto

No modo direto, o valor binário armazenado no campo “operando da instrução”


representa o endereço da memória em que se localiza o dado. Atualmente, o modo
direto é o que é mais utilizado. O endereço pode ser tanto uma célula, que armazena
o dado, como pode ser o endereço da célula inicial.

Vale ressaltar a simplicidade de acesso do método, haja vista a necessidade de


apenas uma única referência à memória principal para se executar a busca do dado.
Porém, o método direto é mais lento do que o método imediato devido à necessidade
de referenciamento à memória.

Para os casos de um dado que tem o seu valor variado em cada execução do
programa, a recomendação é armazená-lo na memória principal e, a partir disso, o
programa passa a utilizá-lo por meio do modo direto, ou seja, a instrução indicará
apenas o endereço onde o dado se localiza.

Com relação às desvantagens do modo direto, podemos citar a limitação de


memória a ser usada, conforme o tamanho do campo. Ou seja, considere um campo
com tamanho de 12 bits. No modo direto, somente as células de endereçamento de
0 a 4095 (sistema decimal) poderão ser acessadas – sistema binário 000000000000
a 111111111111.

3
Saiba mais
As arquiteturas de processadores atuais têm o espaço de
endereçamento que varia de 32 bits a 4GB, o que torna inviável a
criação de instruções com um campo operando dessa magnitude.
No sentido de se evitar tal situação, basta reduzir o tamanho do
campo operando por meio do modo de endereçamento base mais
deslocamento.

• Modo Indireto

No modo indireto, o valor binário do campo operando representa o endereço de uma


célula, porém o conteúdo dela não representa o valor de um dado, mas um outro
endereço de memória cujo conteúdo é o valor do dado.

Dessa forma, o modo indireto é caracterizado pelo duplo endereçamento de acesso a


um dado, necessitando de múltiplos ciclos de memória para buscar o dado. Para que
isso aconteça, esse método utiliza um ponteiro que aponta para o endereço do dado.

Com esse recurso, o problema de limitação do valor de endereçamento de dado


descrito no modo direto é sanado, haja vista que o endereço armazenado na
memória ocupará o tamanho necessário para a representação do maior endereço da
memória principal da arquitetura computacional utilizada.

De modo similar ao direto, o modo indireto traz consigo, como desvantagem, a


grande quantidade de ciclos de memória requerida pelo computador para completar
o ciclo de instrução. Isso acontece porque, para acessar um dado, é necessário que
o processador efetue dois acessos à memória: um para buscar o endereço do dado;
e outro para efetivar a busca do dado.

Memória computacional.

Fonte: Plataforma Deduca (2020).

4
• Modo de Endereçamento por Registrador

Similar aos modos diretos e indiretos, o método de endereçamento por registrador se


diferencia dos métodos anteriores, no que se refere à célula de memória referenciada
na instrução, a qual é substituída por um dos registradores do processador. Dessa
forma, o endereço mencionado na instrução passa a ser o endereço de um dos
registradores e não uma célula da memória principal, como nos métodos anteriores.

Esse artifício resulta em um menor número de bits necessários ao endereçamento


dos registradores, pois eles existem em muito menor quantidade de células de
memória e, consequentemente, o tamanho geral da instrução é reduzido. Também
como vantagem do método de endereçamento por registrador, podemos citar o
próprio emprego do dado, pois ele passa a ser armazenado em um registrador que
tem um acesso muito mais rápido do que o da memória.

• Modo Indexado

Ao se executar um programa, pode ser que haja a necessidade de se manipular


endereços de acesso a tipos específicos de dados. Esses endereços são
denominados “ponteiros” desses tipos específicos de dados.

Considere o acesso aos elementos de um vetor, os quais são armazenados


sequencialmente na memória. O ponteiro (endereço) faz referência à sua localização
e ele é alterado para indicar o elemento desejado. Essa descrição demonstra que a
obtenção do endereço de um dado (nesse caso, elemento do vetor) se relaciona com
o seu índice de forma unívoca.

Assim, o endereço do dado é obtido pela soma do valor do campo operando – valor
fixo para todos os elementos do vetor – e de um valor armazenado em um dos
registradores do processador, o qual varia para o acesso de cada elemento do vetor.

• Modo Base Mais Deslocamento

O modo base mais deslocamento se assemelha ao modo indexado, pois o endereço


de acesso a uma célula de memória é obtido pela soma de dois valores: o valor
do campo apropriado da instrução – denominado “base” – e o outro valor de um
determinado registrador – denominado “registrador base”.

Na prática, a diferença entre os dois modos está na aplicação, no propósito e na


forma de implementação. O valor que deverá ser mantido fixo é o do registrador
base, variando apenas o valor do campo deslocamento de cada instrução,
diferentemente do modo indexado, no qual o que se altera é o conteúdo do

5
registrador. Esse modo não exige que o campo operando tenha um tamanho
correspondente à capacidade total de endereçamento da memória principal,
bastando simplesmente que o endereço desejado seja obtido pela soma de um valor
existente em um dos registradores da CPU com um valor contido na instrução. Daí o
nome base mais deslocamento, devido à utilização de dois campos na instrução, os
quais substituem o campo operando:

• um campo com o endereço de um registrador – base;


• um campo com um valor denominado “deslocamento” – contendo um valor
relativo, o qual se desloca em relação à primeira instrução.

Por fim, ao compararmos os modos indexado e base mais deslocamento, chegamos à


conclusão de que o processo de cálculo do efetivo endereço de acesso é o mesmo.

Representação dos dados


A organização dos computadores está diretamente relacionada à forma como eles
representam números, caracteres e informações de controle. Também, padrões
e convenções estabelecidos ao longo dos anos determinam certos aspectos da
organização do computador.

A unidade mais básica de informação utilizada por um computador digital é


denominada bit, representando a contração da língua inglesa binarydigit – ou dígito
binário: 0 ou 1.

Na prática, 0 ou 1 representa “ligado” ou “desligado” em um circuito computacional.


Em 1964, os projetistas do computador mainframe IBM System/360 estabeleceram
uma convenção de processamento de dados, usando grupos de 8 bits como a
unidade básica de armazenamento de computador endereçável. Nominaram essa
coleção de 8 bits de byte.

Palavras em um computador consistem em dois ou mais bytes adjacentes que, por


vezes, são endereçados e quase sempre são manipulados coletivamente. O tamanho
da palavra representa o tamanho dos dados, que é tratado com mais eficiência por
uma arquitetura específica.

6
Bits e bytes.

Fonte: Plataforma Deduca (2020).

As palavras podem ter 16 bits, 32 bits, 64 bits ou qualquer outro tamanho que faça
sentido no contexto da organização de um computador. Os bytes de oito bits podem
ser divididos em duas metades de 4 bits, as quais são denominadas “nibbles”. Como
cada bit de um byte tem um valor dentro de um sistema de numeração posicional,
o nibble que contém o dígito binário de menor valor é chamado de nibble de baixa
ordem, e a outra metade de nibble, de alta ordem.

• Tipos de Dados

Antes de apresentarmos os tipos de dados, vale conceituar o nível ISA – Instruction


Set Architecture ou Arquitetura do Conjunto de Instruções. Trata-se da interface
entre software e hardware que representa o nível mais próximo ao hardware em que
um usuário pode programar.

Como vimos, os dados em um sistema computacional têm de ser representados na


forma binária. No nível ISA, são utilizados vários tipos diferentes de dados. Vamos
subdividi-los em tipos de dados numéricos e não numéricos.

• Dados Numéricos

O principal tipo de dados numéricos são os dados numéricos inteiros, podendo ter
muitos comprimentos – geralmente 8, 16,32 e 64 bits. Números inteiros quantificam
coisas: quantidade de funcionários de uma empresa, quantidade de itens em estoque
etc. Identificam coisas: número do registro de um automóvel no departamento de
trânsito, número do seguro social de um cidadão etc. Esses números inteiros são
armazenados pelos computadores na forma binária. Computadores suportam tanto

7
números inteiros sem sinal como números inteiros com sinal. Em se tratando de um
número inteiro sem sinal, não existe o bit de sinal e, consequentemente, todos os bits
contêm dados.

Já na necessidade de se expressar um número não inteiro – por exemplo 2,8 – são


utilizados números de ponto flutuante, os quais podem ter o comprimento de 32, 64
ou 128 bits.

• Dados Não Numéricos

Nos dias atuais, a necessidade de processamento de dados exige que os


computadores modernos sejam utilizados também para aplicações não numéricas:
e-mail, navegação web, edição de imagens digitais, criação e reprodução de
multimídias.

Essas aplicações demandam outros tipos de dados e a clara importância dos


caracteres, dos quais destacamos os padrões ASCII – American Standard Code
for Information Interchange ou Padrão Americano de Código para o Intercâmbio de
Informações – e o Unicode. Ambos os padrões suportam caracteres de 7 bits e 16
bits, respectivamente.

Curiosidade
O código ASCII não foi criado especificamente para uso em
computadores. Ele foi criado para ser utilizado por telégrafos e
apresenta apenas sete bits, possibilitando, no máximo, 128 valores
diferentes.

• Dados Tipo Lógico

Vale destacar a importância dos dados do tipo lógico, conhecidos como valores
booleanos, que podem assumir um de dois valores: verdadeiro – bit 1 – ou falso
– bit 0. Com os dados do tipo lógico, é possível realizar uma série de operações
utilizando-se, para isso, as simbologias AND, OR e NOT, com a tabela-verdade
(PAIXÃO, 2014). Nos quadros a seguir, observe as suas aplicações.

8
Aplicação do operador lógico AND.

Variável 1 Variável 1 Resultado

Operador and Verdadeiro Verdadeiro Verdadeiro

Verdadeiro Falso Falso


Resulta em um valor
verdadeiro se os dois
Falso Verdadeiro Falso
valores de entrada
da operação forem
verdadeiros. Falso Falso Falso

Fonte: Adaptado de Monteiro (2007, p. 211-215).

Aplicação do operador lógico OR.

Variável 1 Variável 1 Resultado

Operador or Verdadeiro Verdadeiro Verdadeiro

Verdadeiro Falso Verdadeiro


Resulta um valor
verdadeiro se ao
Falso Verdadeiro Verdadeiro
menos um dos dois
valores de entrada
da operação for
Falso Falso Falso
verdadeiro.

Fonte: Adaptado de Monteiro (2007, p. 211-215).

Aplicação do operador lógico NOT.

Variável 1 Resultado

Operador not Verdadeiro Falso Verdadeiro

Tem por função


inverter os valores de Falso Verdadeiro
entrada.

Fonte: Adaptado de Monteiro (2007, p. 211-215).

Como pôde ser observado, os operadores lógicos podem ser utilizados de diferentes
formas em programas de computador, pois, por meio das tabelas-verdade,
apresentam todas as possibilidades de combinação dos seus operadores.

9
Conjunto de Instruções
Todo computador tem como base de funcionamentos ordens simples e básicas:
(1) efetuar a soma de dois números; (2) mover um dado de um local para outro (3)
incrementar 1 ao valor de um número etc. As referidas ordens são simples porque o
hardware não é capaz de manipular diretamente ordens mais complexas. Tais ordens
são transmitidas ao processador para serem interpretadas e executadas por meio de
sinais elétricos representados pelos bits 1 ou 0. Instruções de máquinas e todos os
processadores são fabricados contendo em seu interior esse conjunto de instruções.

Reflita
Pense em um game que realiza diversas funções durante a sua
execução: uma personagem pode correr para frente, correr para
trás, andar para frente, andar para trás, pular, deitar e atirar.

Para a execução de tais funções, os desenvolvedores projetaram um conjunto


de instruções primitivas. Dessa maneira simples, pudemos exemplificar o
funcionamento dos computadores. Por meio de um conjunto básico de instruções
primitivas, um programador pode combiná-las de diferentes maneiras, de modo a
obter diferentes resultados.

Um computador, com o seu conjunto de instruções de máquina (primitivas), pode ser


utilizado para o desenvolvimento de textos, planilhas, para processar e tratar imagens,
bem como realizar o pagamento de uma conta por meio do internet banking.

• Tipos de Instruções

A maioria das instruções opera sobre dados e outras não, como comenta Null e
Lobur (2010). Fabricantes de computadores regularmente agrupam instruções nas
seguintes categorias: movimentação de dados, aritméticas, booleanas, manipulação
de bits, E/S, transferências de controle e propósito especial. Para Stallings (2002, p.
344), podem ser catalogadas em:

10
1. Processamento de dados: instruções aritméticas e lógicas.
2. Armazenamento de dados: instruções de memória.
3. Movimentação de dados: instruções de E/S.
4. Controle: instruções de testes e de desvio.

Com relação às operações de processamento de dados, para Null e Lobur (2010),


elas incluem aquelas instruções aritméticas que usam números inteiros e de
ponto-flutuante. As instruções aritméticas incluem operações de soma (ADD),
multiplicação (MULTIPLY), divisão (DIVIDE), incremental (INCREMENT), decremental
(DECREMENT) e de mudança de sinal (NEGATE). Já para as operações lógicas
booleanas, Stallings (2002, p. 344) comenta que “as instruções lógicas operam sobre
bits de uma palavra, como bits e não como números”. Instruções lógicas incluem
AND, NOT, OR, XOR, TESTE e COMPARE.

Com relação às operações de movimentação de dados (instruções de E/S), elas são


necessárias para transferir dados e resultados da memória para o usuário. Já para as
operações de armazenamento de dados (instruções de memória), existem instruções
de memória para mover dados entre a memória e os registradores, de registradores
para registradores e de registradores para a memória e incluem as instruções MOVE,
LOAD, STORE, PUSH, POP, EXCHANGE e suas variações (NULL; LOBUR, 2010).

Já nas operações de controle, as instruções de testes são usadas para testar o valor
de uma palavra de dados ou o estado de uma computação. Instruções de desvio
são utilizadas para desviar a execução de um programa para uma nova instrução,
“[...] dependendo do resultado de um teste.” (STALLINGS, 2002, p. 344). Incluem
instruções de desvio e paradas: JUMP, RETURN, SKIP, HALT, WAIT.

Fechamento
Chegamos ao final do estudo sobre conjunto de instruções e compreendemos
a importância e os tipos de modos de endereçamento de memórias tanto para
acesso a memórias RAM e para processadores. Na sequência, compreendemos a
representação de números, caracteres e informações de controle, de acordo com
padrões e convenções estabelecidos ao longo dos anos e que determinam certos
aspectos da organização do computador. Por fim, estudamos os tipos de conjuntos
de instruções utilizadas pelo processador para interpretar, executar, armazenar,
movimentar e controlar dados.

11
Referências
NULL, L.; LOBUR, J. Princípios Básicos de Arquitetura e Organização de
Computadores. Porto Alegre: Bookman, 2010.

MONTEIRO, M. A. Introdução à organização de computadores. Rio de Janeiro: LTC,


2007. ISBN: 978-85-216-1973-4.

PAIXÃO, R. R. Arquitetura de computadores: PCs. São Paulo: Érica, 2014. ISBN:


9788536518848.

STALLINGS, W. Arquitetura e Organização de Computadores: projeto para o


desempenho. São Paulo: Prentice Hall, 2002.

12
Tipos de Instruções de
Dados e Tipos de
Endereçamento
Ancelmo, Jose Roberto
SST Tipos de Instruções de Dados e Tipos de Endereçamento /
Jose Roberto Ancelmo
Ano: 2020
nº de p. : 11

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Tipos de Instruções
de Dados e Tipos de
Endereçamento

Apresentação
Em nosso estudo, compreenderemos os tipos de instruções dos computadores,
os quais têm a função da movimentação, operações e transferências de controle
de dados. Estudaremos a catalogação dessas instruções e veremos também os
tipos de endereçamento entre memória e processador, bem como o conceito de
chamadas de funções ou serviços.

Tipos de Instruções
A maioria das instruções opera sobre dados. Como comentam Null e Lobur (2010),
fabricantes de computadores regularmente agrupam instruções nas seguintes
categorias: movimentação de dados, aritméticas, booleanas, manipulação de bits,
E/S, transferências de controle e propósito especial.

Para Stallings (2002, p. 344), as instruções podem ser catalogadas em:

1. Processamento de dados: instruções aritméticas e lógicas.


2. Armazenamento de dados: instruções de memória.
3. Movimentação de dados: instruções de E/S.
4. Controle: instruções de testes e de desvio.

Com relação às operações de processamento de dados, para Null e Lobur (2010),


elas incluem instruções aritméticas que usam números inteiros e de ponto-flutuante.
As instruções aritméticas incluem operações de soma (ADD), multiplicação
(MULTIPLY), divisão (DIVIDE), incremental (INCREMENT), decremental (DECREMENT)
e de mudança de sinal (NEGATE).

Stallings (2002, p. 344) afirma que “[…] as instruções lógicas booleanas operam
sobre bits de uma palavra, como bits e não como números”. Instruções lógicas
incluem AND, NOT, OR, XOR, TESTE e COMPARE.

Com relação às operações de movimentação de dados (instruções de E/S), elas são


necessárias para transferir dados e resultados da memória para o usuário.

3
Para as operações de armazenamento de dados (instruções de memória), existem
instruções de memória para mover dados entre a memória e os registradores, de
registradores para registradores e de registradores para a memória e incluem as
instruções MOVE LOAD, STORE, PUSH, POP, EXCHANGE e suas variações (NULL;
LOBUR, 2010).

Nas operações de controle, as instruções de testes são usadas para testar o valor
de uma palavra de dados ou o estado de uma computação. Instruções de desvio
são utilizadas para desviar a execução de um programa para uma nova instrução,
“[…] dependendo do resultado de um teste” (STALLINGS, 2002, p. 344). Incluem
instruções de desvio e paradas: JUMP, RETURN, SKIP, HALT, WAIT.

No quadro a seguir, resumimos os tipos de instruções e operações de um processador.

Tipo de Instruções e operações de um processador.

Tipo de Instruções Operações Instruções


• Add: Soma dois Operandos.
• Multiply: Calcula o produto entre
dois operandos.
• Divide: Calcula o quociente
Aritméticas entre dois operandos.
• Increment: Soma 1 ao
operando.
• Negate: Muda o sinal do
Processamento de Dados operando.

• And, Not, Or, Xor, Teste: Efetuam


operações lógicas específicas
bit a bit.
Lógicas • Compare: Efetua uma
comparação lógica ou
aritmética de dois ou mais
operandos.

• Read (Input): Transfere dados


da porta ou dispositivo E/S
Movimentação de Dados Transferência para a memória principal ou
de Dados de E/S registrador.
(Operações de E/S) (Usuário e Memória) • Read (Output): Transfere dados
da fonte especificada para uma
porta ou um dispositivo de E/S.c

4
• Move: Transfere uma palavra ou
bloco da fonte para o destino.
• Load: Transfere uma palavra da
memória para o processador.
Transferência
• Store: Transfere uma palavra do
Armazenamento de entre memória e
processador para a memória.
registradores (Move
Dados (Transferência de e armazena, retira
• Push: Transfere uma palavra da
fonte para o topo da pilha.
Dados) do armazenamento
• Pop: Transfere uma palavra do
e move).
topo da pilha para o destino.
• Exchange: Troca os conteúdos
dos operandos-fonte e de
destino.

• Jump (condicional e não


condicional): carrega o PC com
o endereço especificado.
• Return: substitui o conteúdo do
PC e de outros registradores
com os valores armazenados
em uma posição conhecida.
Desvio de Execução • Skip (condicional e não
Controle por meio de testes condicional): incrementa o PC
condicionais para o endereço da próxima
instrução com desvio ou sem
desvio.
• Halt: Para a execução de um
programa.
• Wait: Para a execução de um
programa; testa a condição
especificada repetidamente.

Fonte: Adaptado de Stallings (2002).

Os tipos de operandos que podem ser diretamente manipulados por uma arquitetura
dependem, é claro, dos tipos de instruções oferecidas. O apresentado nos mostrou
como os principais tipos de dados são normalmente representados em uma
arquitetura de uso geral.

Tipos de Endereçamento
Vimos que, quando o processador executa uma instrução, ele realiza operações
específicas por meio de movimentação e armazenamento de dados entre memória
e registradores. Esses dados podem residir em um registrador, na memória principal
ou em uma porta de E/S.

Para realizar o acesso a essas memórias e diferentes localizações dos operandos, o


processador pode realizar sete modos de endereçamento:

5
1. Endereçamento por registro.

2. Endereçamento por base.


3. Endereçamento direto.
4. Endereçamento imediato.
5. Endereçamento indireto por registro.
6. Endereçamento indexado.
7. Endereçamento por base indexada.

O quadro que segue apresenta os principais modos de endereçamento e suas


principais características, como o modo de endereçamento por registro, por base,
direto e imediato.

Principais tipos de endereçamento: características, vantagens e desvantagens.

Tipos de Operaçõo Características,


Endereçamento Exemplo Vantagens e Desvantagens
• Os dois operandos são registradores.
• O tamanho do campo de endereço
requerido na instrução é pequeno
(limitado).
• Não requer nenhuma referência à
memória.
• Tempo de acesso é menor que a
memória principal.

MOV AX, BX
Endereçamento por (move
operando entre
registro registradores)
AX BX

• O registrador referenciado contém


um endereço base de memória
MOV CX,
e o campo de endereço, um
Endereçamento por base [BX+0102H]
deslocamento em relação a esse
(registrador base
(2) (Vetores na memória) endereço.
+ deslocamento
• Utilizado no tratamento de vetores.
adicional)
Apenas os registradores BX e BP
podem ser utilizadps como base.

6
• Comum nas primeiras gerações de
computadores.
• Requer apenas um acesso à
memória e nenhum cálculo especial
(simples).
• Sua desvantagem é fornecer um
espaço de endereço limitado.

MOV BX, [1102H]


Deslocamento
dado por um
Endereçamento direto (3) número ou nome
de variável.
BX (DS:1102H)

• É a forma mais simples de


endereçamento.
• O valor do operando é especi icado
diretamente na instrução.
• Pode ser usado para de inir
constantes ou para atribuir valores
iniciais em variáveis.
• Vantagem por não requerer qualquer
acesso à memória para obter o
MOV AL, 17H AL operando além do acesso para obter
Endereçamento imediato 17H a própria instrução economizando
um ciclo de cache ou de memória no
ciclo de instrução.
• Tamanho do operando é limitado.

Fonte: Adaptado de Stallings (2002).

De acordo com o quadro apresentado, os modos de endereçamento podem ser


resumidos em:

Endereçamento de registro: ocorre de registro ou memória para outro registro ou


memória. Ou seja, os dados saem do registro para outro registro ou para outra memória,
bem como podem sair da memória para um registro ou para outro local da memória.

7
Endereçamento imediato: transfere-se da fonte de forma imediata, por meio de um
número constante em hexadecimal.

Endereçamento direto: move uma informação entre um endereço de memória e


um registro.

Endereçamento indireto de registro: ocorre entre registro e local da memória onde


ela é endereçada por um registro de índice ou registro de base, que são BP, BX (BH e
BL), SI e DI. Usado em endereços de segmentos de dado do offset.

Endereçamento de base índice: igual ao modo de endereçamento indireto de


registro, porém ele também usa o registro de índice (SI ou DI).

Endereçamento relativo de registro: também usa registro de índice ou registro de


base, mas com algum deslocamento no endereço.

Endereçamento relativo de base índice: igual ao caso anterior, mas usando ambos
os registros (de índice e de base), além do deslocamento.

Chamadas a funções
Para Weber (2012), os programas de montagem podem realizar “chamadas de
serviços”, ou seja, executar funções de serviços do sistema operacional (e de BIOS
[Basic Input Output/System – sistema básico de E/S]) por meio de interrupções de
software pela instrução INT.

As interrupções são sinais enviados ao microprocessador, também chamados


de armadilhas (traps) ou exceções usadas por diversas aplicações de software.
Computadores modernos suportam tanto interrupções de software como de
hardware usando tratadores de interrupções (NULL; LOBUR, 2010).

Quase todos os computadores apresentam “[…] [tais mecanismos] pelos quais


componentes distintos do processador (E/S, memória) podem interromper a
sequência normal de execução do processador” (STALLINGS, 2002, p. 63).

Um exemplo de chamadas de funções de E/S para o sistema operacional utiliza a


interrupção 21h por meio de passagem de parâmetros, uso para entrada de teclado,
saída na tela e retorno ao DOS, entre outros serviços.

8
O que segue mostra as classes de interrupções. Vamos conhecê-las?

Classes de interrupções

Classes de Interrupções
Gerada por alguma condição que ocorra como resultado
da execução de uma instrução, tal como overflow em uma
Interrupção de software operação aritmética, divisão por zero, tentativa de executar
uma instrução de máquina ilegal e referência a um endereço
de memória fora do espaço do programa.

Gerada pelo relógio interno do processador. Esse tipo de


Interrupção de relógio interrupção permite que o sistema operacional execute certas
funções a intervalos de tempos regulares.

Interrupção de entrada Gerada por um controlador de e/s para sinalizar a conclusão


de uma operação ou para sinalizar a ocorrência de uma
e saída situação de erro.

Interrupção de falha de Gerada na ocorrência de uma falha, tal como queda de energia
hardware ou erro de paridade de memória.

Fonte: Adaptado de Stallings (2002, p. 63).

As interrupções por software podem ser ativadas diretamente por programas


Assembly (linguagem de montagem), invocando da interrupção desejada com a
instrução INT. O uso das interrupções facilita bastante a criação de programas,
tornando-os menores. Pode-se chamar uma função, por exemplo, a função de E/S
21h (que apresenta vários serviços):

• MOV AH, 2
• INT 21h

Nessa operação, usamos o serviço “2” inserido no registrador AH do processador


antes da chamada da função (INT 21h) para escrever o caractere que está em DL
(registrador de dados) na tela.

9
Fechamento
Chegamos ao final do estudo sobre os tipos de instruções de dados e tipos
de endereçamento, e compreendemos sobre os tipo de instruções que são
classificadas em processamento de dados, armazenamento de dados, instruções
de memória, movimentação de dados: instruções de E/S e controle. Em um segundo
momento, estudamos os tipos de endereçamento, classificados em endereçamento
por base; endereçamento direto; endereçamento imediato; endereçamento indireto
por registro; endereçamento indexado; endereçamento por base indexada. Por fim,
compreendemos as funções utilizadas pelos computadores para a execução de
diversos serviços do sistema operacional.

10
Referências
NULL, L.; LOBUR, J. Princípios Básicos de Arquitetura e Organização de
Computadores. Porto Alegre: Bookman, 2010.

STALLINGS, W. Arquitetura e Organização de Computadores: projeto para o


desempenho. São Paulo: Prentice Hall, 2002.

WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre:


Bookman, 2012.

11
Organização e
Hierarquia das Memórias
Moreira, Marcelo dos Santos
SST Organização e Hierarquia das Memórias / Marcelo dos
Santos Moreira
Ano: 2020
nº de p. : 12

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Organização e Hierarquia
das Memórias

Apresentação
Em nosso estudo, compreenderemos a organização da memória dos computadores
e como funciona um sistema de memória, suas características de localização,
capacidade, unidade de transferência, método de acesso, tipos e características
físicas e organização. Ao final, veremos a hierarquia das memória em um sistema
computacional.

Organização da memória
Paixão (2014, p. 71) define genericamente memória como “[...] todo meio que tem
a capacidade de guardar informações que posteriormente podem ser recuperadas,
sem prejuízo de conteúdo”.

Assim, por definição, a memória de um computador tem por função armazenar


dados ou informações, que deverão estar disponíveis a qualquer momento para
serem recuperadas e manipuladas de acordo com a necessidade.

Quando estudamos a memória de um computador, vemos que existem diferentes


tipos, tecnologias, organizações, desempenhos e até mesmo custos.

Mas qual o tipo de memória ideal para satisfazer aos requisitos necessários ao
funcionamento de um computador? A resposta é: nenhuma em específico.

Um computador típico é composto por uma hierarquia de subsistemas de memória


(subsistemas internos), acessíveis pelo processador ou subsistemas externos,
acessíveis pelo processador por meio de um módulo de E/S (Entrada e Saída).

O elemento básico de armazenamento físico na memória de um computador é o bit,


representado pelo sistema numérico binário (0 ou 1), na forma de sinais elétricos,
conforme podemos ver na figura a seguir:

3
Representação de um bit.

Fonte: Monteiro (2007, p. 82).

Atenção
Um computador é incapaz de interpretar letras e números como nós,
seres humanos. Ele só consegue interpretar sinais elétricos na sua
forma mais rudimentar: sem corrente (0) ou com corrente (1).

Dada a complexidade do nosso dia a dia, torna-se impossível registrar as


informações apenas com a combinação de zeros e uns. Diante disso, os sistemas
computacionais agrupam combinações de bits, identificando-os como células.

4
Sistemas de memória - Visão geral
Veja, no quadro a seguir, como classificamos os sistemas de memória:

Características de Memória dos Computadores

Interna
• registradores do Processador cache
• memória principal
Localização Externa
• discos óticos
• discos magnéticos
• fitas magnéticas

• número de palavras
Capacidade • número de bytes

• palavra
Unidade de transferência • bloco

• sequencial
• direto
Método de acesso • aleatório
• associativo

• tempo de acesso
Desempenho • tempo de ciclo
• taxa de transferência

• semicondutor
• magnético
Tipos físico • ótico
• magneto-ótico

• volátil ou não volátil


Características físicas • apagável ou não apagável

Organização • módulos de memória

Fonte: Stallings (2010, p. 90).

Detalhando um pouco mais, veja, a seguir, as características de cada item.

• Localização: demonstra se a memória é interna ou externa ao computador. É


muito comum chamar a memória interna de memória principal, porém exis-
tem outros tipos de memória interna. A memória cache também é outro tipo
de memória interna. Já a memória externa representa o local de armazena-
mento de dispositivos periféricos, como discos e fitas, acessíveis pelo proces-
sador por meio dos controladores de E/S.

5
• Capacidade: ao nos referir à memória interna, expressamos a sua capacidade
em bytes ou palavras. Já a memória externa tem a sua capacidade expressa
somente em bytes.
• Unidade de transferência: ao considerarmos a memória interna, a unidade de
transferência é representada pelo número de linhas elétricas dentro e fora do
módulo de memória. Geralmente, esse número é representado por 64, 128 ou
256 bits.
• Método de acesso: podemos classificar os métodos de acesso da seguinte forma:
• Acesso sequencial: a memória é organizada em registros, também
chamadas de unidades de dados. O acesso deve ser feito por meio
de uma sequência linear específica. As informações de endereça-
mento armazenadas são usadas para separar registros e auxiliar no
processo de recuperação. Um exemplo típico de dispositivo que se
utiliza do acesso sequencial são as fitas.
• Acesso direto: o acesso direto, de forma similar ao acesso sequen-
cial, utiliza-se de um mecanismo compartilhado de leitura e de grava-
ção. O que difere um método do outro é que os blocos ou registros
individuais têm um endereço exclusivo baseado na sua localização
física. Isso quer dizer que o acesso é realizado por acesso direto em
uma região endereçada e, a partir daí, ocorre a busca sequencial den-
tro dessa região. Exemplo: os discos.
Exemplo de acesso direto.

Fonte: Plataforma Deduca (2020).

• Acesso aleatório: cada setor da memória tem um mecanismo exclu-


sivo de endereçamento fisicamente conectado. O tempo para aces-
sar um determinado local é independente da sequência de acessos
anteriores e é constante. Assim, qualquer setor pode ser seleciona-
do aleatoriamente e endereçado e acessado diretamente. Exemplos:
memória principal e alguns sistemas de cache.

6
• Associativo: representado também como acesso aleatório de me-
mória, permitindo que seja feita uma comparação dos locais de bits
desejados em uma palavra para uma correspondência especificada.
Isso representa que uma palavra é recuperada com base em uma
parte de seu conteúdo e não em seu endereço. O tempo de recupera-
ção é constante, independentemente da localização ou dos padrões
de acesso já citados. Exemplo: memórias cache.
• Desempenho: para um usuário de computador, os pontos mais relevantes da
memória são a capacidade e o desempenho. Detalhamos o desempenho da
memória em três parâmetros:

Latência

Se considerarmos a memória de acesso aleatório, esse é o tempo necessário


para executar uma operação de leitura ou gravação. Já a memória de acesso
não aleatório se refere ao tempo necessário para posicionar o mecanismo de
leitura e gravação no local desejado.

Tempo de ciclo da memória

Aplicável à memória de acesso aleatório. Consiste no tempo de acesso mais


qualquer tempo adicional necessário antes do início de um próximo acesso. Vale
ressaltar que o tempo de ciclo da memória está relacionado ao barramento do
sistema e não ao seu processador.

Taxa de transferência

Representa a taxa na qual os dados podem ser transferidos de/para uma


unidade de memória. Na memória de acesso aleatório, ela é representada por
1/tempo de ciclo. Na memória de acesso não aleatório, a taxa de transferência
é representada pela fórmula:

Em que n = Número de bits


Tn = Tempo médio de leitura e gravação de n bits
TA = Tempo médio de acesso
R = Taxa de transferência em bits por segundo (bps)

7
• Tipos físicos

São muitos os possíveis tipos físicos de memória. Atualmente, os mais usados são
memória semicondutora, memória de superfície magnética – usada em discos e
fitas – memória ótica e memória magneto-ótica.

• Características físicas:

Destacamos aqui as características físicas de uma memória volátil, na qual a


informação pode se perder, por exemplo, na ocorrência de queda ou desligamento da
energia elétrica. Isso já não acontece com a memória não volátil, pois a informação
gravada jamais é alterada ou apagada sem que haja algum comando para isso
(PAIXÃO, 2014). Exemplos:

• memória de superfície magnética: não volátil;


• memória de semicondutores – em circuitos integrados: pode ser tan-
to volátil como não volátil;
• memória não apagável – não volátil – não pode ser alterada, exceto
por meio da destruição da unidade de armazenamento – memória
somente para leitura (ROM).

Hierarquia das memórias


Acabamos de citar a existência de diversos tipos de dispositivos de armazenamento
que, conceitualmente, podem ser organizados de forma hierárquica, conforme a
figura a seguir:

Hierarquia das memórias.

Fonte: Monteiro (2007, p. 86).

8
• Registradores

O princípio fundamental de um sistema computacional é processar informações e a


função principal da memória, seja de qual tipo for, é abastecer o processador para, a
qualquer momento, processá-las.

A função do processador é executar instruções por meio da manipulação de dados


e gerar os resultados das suas operações. Para que todo o processo ocorra, ele
deve buscar instruções onde quer que elas estejam armazenadas – memória
cache ou memória principal – e armazená-las em si próprio, em um compartimento
denominado “registrador de instrução”.

Como demonstrado na figura apresentada, o registrador se encontra no topo da


hierarquia das memórias, tem a maior taxa de transferência de dados do sistema
computacional e, consequentemente, o menor tempo necessário para o seu acesso.
Em contrapartida, tem a menor capacidade de armazenamento e um custo elevado.

• Memória Cache

Descendo na pirâmide de hierarquia das memórias, em seguida podemos encontrar


o conjunto de memórias cache e principal.

Ao executar uma instrução, o processador acessa diretamente a memória principal


(sem cache) ao menos uma vez, a fim de buscar uma instrução e depois a transfere
aos registradores do processador. Esse processo é denominado “ciclo de memória”.

Fato é que o tempo gasto pelo processador para a realização de uma operação é
muitas vezes menor que o tempo do ciclo de memória e isso ocasiona uma demora
demasiada em todo o processamento. Os processadores geralmente são capazes
de executar operações lógico-aritméticas de maneira mais rápida que o tempo de
acesso da memória principal de um computador.

Embora a memória semicondutora possa operar a velocidades comparáveis com a


operação do processador, torna-se economicamente inviável utilizar toda a memória
principal com memória semicondutora. O problema pode ser contornado com a
utilização de um pequeno bloco de memória de alta velocidade, denominado “cache”,
entre a memória principal e o processador.

A fim de diminuir esse tempo e minimizar o problema, engenheiros de computação


criaram um dispositivo de memória entre o processador e a memória principal, ou
seja, a memória cache.

9
Quando uma solicitação de acesso à memória principal é gerada, essa solicitação
é apresentada primeiro à memória cache e, se ela não puder atender, a solicitação
é direcionada à memória principal. Dessa forma, a memória cache pode servir de
buffer entre a CPU e a memória principal.

Na figura a seguir, veja como funciona esse esquema:

Funcionamento das memórias cache e principal.

Fonte: Stallings (2010, p. 96).

Para uma melhor compreensão do conceito de memória cache, vamos usar uma
metáfora: considere que um mecânico esteja em seu posto de trabalho para reparar
motores e que, de tempos em tempos, ele necessite de uma chave fixa para ajustar
os parafusos, porém a chave fixa fica guardada em uma prateleira a 10 metros de
distância. Ou seja, toda vez que ele precisar da chave fixa para ajustar os parafusos
de um motor, ele terá de se deslocar até a prateleira, pegar a chave fixa, retornar ao
seu posto de trabalho, fixar os parafusos necessários e devolver a chave fixa na mesma
prateleira e novamente retornar ao seu posto de trabalho para dar continuidade ao
processo.

Fica aqui uma sugestão: logo no início do expediente, o borracheiro vai até a
prateleira, pega a chave fixa e a pendura em um gancho ao lado do seu posto de
trabalho e, ao final do dia, devolve a chave fixa na prateleira.

De forma análoga, a memória cache seria o gancho ao lado do posto de trabalho do


borracheiro. Ela é um bloco de memória de armazenamento de dados temporários
que estarão disponíveis para serem utilizados frequentemente.

10
• Memória Principal

Conceitualmente, um processador acessa instruções, uma após a outra, devido à


capacidade de armazenamento interno do computador. Daí se justifica a existência
das memórias.

Dessa forma, a memória principal de um computador é a sua memória básica, que


tem por finalidade processar programas que manipularão dados e armazenarão o
resultado das operações, seguindo instrução por instrução.

• Memória Secundária

Situada na base da hierarquia das memórias de um sistema computacional, a


memória secundária, também chamada de auxiliar, é uma memória que detém
maior capacidade de armazenamento, menor custo por byte armazenado e, em
contrapartida, com os maiores tempos de acesso.

Então, você pode nos perguntar: qual a finalidade desse tipo de memória? Simples. É o
tipo de memória mais adequado para armazenamento permanente de dados. Podemos
citar os discos rígidos, CD-ROMs, DVDs, fitas magnéticas etc.

Fechamento
Chegamos ao final do estudo sobre organização e hierarquia de memória, e
compreendemos que todo sistema computacional tem uma memória para o
armazenamento de dados com características específicas para o armazenamento,
como localização, capacidade, unidade de transferência, método de acesso,
desempenho, características físicas e organização. Vimos também a hierarquia das
memórias, como os registradores, memória cache, memória principal e secundária.

11
Referências
MONTEIRO, M. A. Introdução à organização de computadores. Rio de Janeiro: LTC,
2007. ISBN: 978-85-216-1973-4.

PAIXÃO, R. R. Arquitetura de computadores: PCs. São Paulo: Érica, 2014. ISBN:


9788536518848.

STALLINGS, W. Arquitetura e organização de computadores. 5. ed. São Paulo:


Pearson, 2010. ISBN: 9788587918536.

12

Você também pode gostar