NP 217 Capitulo 1
-
Upload
caio-cesar-machado -
Category
Documents
-
view
51 -
download
7
Transcript of NP 217 Capitulo 1
1
Capítulo 1 Introdução aos Sistemas Computacionais
Capítulo 1
Introdução aos
2º. Semestre / 2012
Sistemas Computacionais
Prof. Evandro Luís Brandão Gomes
2
Capítulo 1 Introdução aos Sistemas Computacionais
Organização Básica dos Sistemas Computacionais
• Todo Sistema Computacional é constituído de duas partes fundamentais:
Todo Sistema Computacional possui como principal
característica a propriedade de ser “programável”.
2º. Semestre / 2012
• Todo Sistema Computacional é constituído de duas partes fundamentais:
���� Hardware: é a parte física de todo o Sistema.
���� Software: é a parte maleável do Sistema,
constituído pelo Programa a ser executado.
3
Capítulo 1 Introdução aos Sistemas Computacionais
Organização Básica dos Sistemas Computacionais
Todo Sistema Computacional tem seu Hardware, organizado segundo a estrutura básica apresentada pela figura abaixo.
2º. Semestre / 2012
Arquitetura de VON NEUMAN (ou Princeton)
4
Capítulo 1 Introdução aos Sistemas Computacionais
CPU (Unidade Central de Processamento)
• A CPU é responsável pelo controle de todo o Sistema.
2º. Semestre / 2012
Em um Microcomputador a CPU é implementada por um único Chip, o Microprocessador.
EX: Pentium, Athlon, etc
Em um Microcontrolador toda esta estrutura é encapsulada em um único chip.
5
Capítulo 1 Introdução aos Sistemas Computacionais
CPU (Unidade Central de Processamento)
2º. Semestre / 2012
Sistema Computacional com Microprocessador
Sistema Computacional com Microcontrolador
6
Capítulo 1 Introdução aos Sistemas Computacionais
Dispositivos de entrada e saída (I/O)
PORTAS:
• Paralela
• Serial
• USB
• etc
2º. Semestre / 2012
• Periféricos ���� são os vários tipo de Dispositivos que permitem a comunicação entre oSistema e o exterior, através das Portas.
• Portas � estabelecem padrões, para os Periféricos serem conectados ao Sistema.
• Padrões:- Físico (conector),- Elétrico (tensão nos pinos, por exemplo)
- Sinalização (seqüência de comunicação)
7
Capítulo 1 Introdução aos Sistemas Computacionais
Barramentos
• Dados ���� por onde trafegam os dados (Bi-direcional)
• Capacidade de manipulação dedados• Ex: 8 bits � valores de 0 a 255
Barramentos ���� fazem a interconexão de todas as partes do Sistema Computacional
2º. Semestre / 2012
• Ex: 8 bits � valores de 0 a 25516 bits � valores de 0 a 6553532 bits � valores de 0 a 4.294.967.295
• Endereços ���� indica qual dispositivo será acessado
• Capacidade de endereçamento da CPU• Ex: 16 bits = 216 = 65.536 (64K) endereços de memória ou portas de I/O
32 bits = 232 = 4.294.967.296 (4G) endereços
• Controle ���� determina a maneira como será feito o acesso aos dispositivos (Read/Write)faz a sequenciação e sincronização dos sinais de controle internos e externos
8
Capítulo 1 Introdução aos Sistemas Computacionais
Memórias
• Armazenam os dados que serãomanipulados e também o próprioprograma a ser executado pela CPU.
• Tipos:
• Memória de programa
2º. Semestre / 2012
• Memória de programa
• Memória de dados
Quanto a funcionalidade no sistema:
• Memória Principal � armazenam programas e dados que são manipulados pela CPU durante o processamento.
• Memória Secundária (ou auxiliar) � armazenam programas e dados que não estão em uso pela CPU.
9
Capítulo 1 Introdução aos Sistemas Computacionais
Conceitos Básicos e Terminologia
Memória ���� todo dispositivo capaz de armazenar informações.
Célula de memória ���� dispositivo capaz de armazenar um único bit (0 ou 1). Como célula de memória podemos citar o flip-flop, um capacitor, um ponto magnético em fita ou disco, etc.
Memórias
2º. Semestre / 2012
magnético em fita ou disco, etc.
Palavra de memória ���� um conjunto de bits que representa instruções ou dados armazenados.
Ex: um registrador composto por 8 flip-flops � capacidade de armazenar uma palavra de 8 bits (1 byte).
Endereço ���� um número que identifica a posição de uma palavra na memória.
10
Capítulo 1 Introdução aos Sistemas Computacionais
Conceitos Básicos e Terminologia
Ex:uma memória de 1024 endereços x 8 bits:
Memórias
2º. Semestre / 2012
MODE CONTROLS DATA BUS CS/ OE/
disable H X HI-Z
read L L OUT
write L H IN
11
Capítulo 1 Introdução aos Sistemas Computacionais
Capacidade de uma memória
É a capacidade de armazenamento de bits. Esta medida, muitas vezes pode ser expressa em bytes.
Exemplos:
Memórias
2º. Semestre / 2012
1) Uma memória que possa armazenar 4.096 palavras de 20 bits.
Capacidade total de armazenamento de: 4.096 x 20 = 81.920 bits
2) Uma memória que possa armazenar 65.536 palavras de 8 bits.
Capacidade total de armazenamento de: 65536 x 8 = 524.288 bits ou 65536 bytes ou64 Kbytes
12
Capítulo 1 Introdução aos Sistemas Computacionais
Conceitos sobre dispositivos de memória
Tempo de acesso ���� É a quantidade de tempo necessário à efetivação de uma operação de leitura ou, é o tempo decorrido entre o momento da recepção pela memória de um novo endereço, e o instante em que a informação daquele endereço fica disponível.
Memórias
2º. Semestre / 2012
Memória volátil ���� tipo de memória que necessita de energia elétrica para reter as informações armazenadas. Quando a energia elétrica for interrompida toda a informação armazenada será perdida.
Memória não-volátil ���� tipo de memória que mantém os dados armazenados mesmo sem energia.
13
Capítulo 1 Introdução aos Sistemas Computacionais
Conceitos sobre dispositivos de memória
Memória de acesso randômico (RAM) ���� a localização física real de uma palavra de memória não tem efeito sobre o tempo que se leva para ler ou escrever nesta posição, isto é, o tempo de acesso é constante para qualquer endereço da memória.
Memória de acesso seqüencial (SAM) ���� Para encontrar determinada palavra,
Memórias
2º. Semestre / 2012
Memória de acesso seqüencial (SAM) ���� Para encontrar determinada palavra, passa-se por todos os endereços situados entre aquele onde se realizou o último acesso e o objeto do acesso atual. Isto produz tempos de acesso bem maiores do que os dispositivos de acesso randômico.
Memória de Leitura/Escrita (RWM) ���� Qualquer memória que possa ser lida ou escrita.
Memória Somente de leitura (ROM) ���� Memória que só pode ser gravada ou programada por processo especial de gravação ou na fábrica, ou seja, depois de programada ou gravada, a informação somente poderá ser lida pela CPU.
14
Capítulo 1 Introdução aos Sistemas Computacionais
Conceitos sobre dispositivos de memória
Memória estática ���� as informações armazenadas permanecerão armazenadas enquanto houver energia elétrica aplicada à memória, sem que haja necessidade da informação ser rescrita periodicamente na memória.
Memórias
2º. Semestre / 2012
Memória dinâmica ���� as informações armazenadas não permanecerão armazenadas, mesmo com a presença da energia elétrica necessária para alimentar o circuito, a não ser que as informações sejam periodicamente rescritas. Esta operação é denominada refresh (recarga).
15
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
ROM (Read-Only Memory)
Durante sua operação normal nenhum dado poderá ser escrito na ROM, sendo utilizada então apenas para leitura de dados que estiverem armazenados.
Memórias
2º. Semestre / 2012
Para alguns tipos de ROM os dados são gravados durante o processo de fabricação enquanto que, para outros, os dados são gravados eletricamente por um processo especial de gravação.
As ROMs são não voláteis e por isso são usadas para guardar programas e alguns dados (tabelas, códigos, etc) que não mudarão durante a operação de um sistema.
16
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
ROM – Arquitetura – Um exemplo de uma ROM de 16 x 8 bits
Memórias
2º. Semestre / 2012
17
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
Tipos de ROM: MROM (Mask ROM) - ROM programada por máscara
Tem suas posições de memória gravadas pelo fabricante de acordo com as especificações do cliente.
Memórias
2º. Semestre / 2012
do cliente.
Uma máscara é utilizada para realizar as conexões elétricas do chip;
Vantagem: alternativa mais econômica, desde que sejam produzidas em larga escala;
Desvantagem: não podem ser apagadas e reprogramadas caso ocorra a mudança de um determinado projeto que exija modificações nos dados armazenados, a memória não pode ser reaproveitada (regravada).
18
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
Tipos de ROM: PROM (Programmable ROM) - ROM programáveis
Esse tipo de ROM é conhecido como PROM FUSE, isto é, uma ROM programável por fusíveis.
Memórias
2º. Semestre / 2012
Depois de gravada uma palavra, não mais poderá ser alterada ou desgravada.
Se após gravada, houver a necessidade de modificar os dados armazenados, isto não mais será possível, havendo então necessidade de utilizar outro chip.
19
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
Tipos de ROM: EPROM (Erasable PROM) - ROM programável / apagável
Pode ser programada pelo usuário, com a vantagem de poder ser apagada e reprogramada quantas vezes forem necessárias.
Memórias
2º. Semestre / 2012
Uma vez programada uma EPROM comporta-se como uma memória não volátil.
O processo de programação de uma EPROM envolve a aplicação de níveis especiais de tensão situados entre 10 e 25V às entradas do chip, em intervalos com tempo determinado, da ordem de alguns milisegundos por posição de memória.
Em seu estado natural (sem qualquer programação) todas as células armazenam o bit 1. Durante a programação os pinos de dados e endereços da EPROM são usados para selecionar quais células são programadas como “0” e quais serão deixadas em “1”.
20
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
Tipos de ROM: EPROM (Erasable PROM) - ROM programável / apagável
Depois de gravada uma EPROM, é possível apagá-la expondo-a à luz ultravioleta,aplicada através de uma janela no chip, requerendo para isso uma exposição quevaria de 15 a 30 minutos, dependendo da intensidade da luz.
Memórias
2º. Semestre / 2012
varia de 15 a 30 minutos, dependendo da intensidade da luz.
Não é possível apagar células selecionadas, pois aoexpor o chip à radiação ultravioleta todas as célulasse apagarão, voltando a nível “1”.
21
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
Tipos de ROM: EEPROM (Electrically-Erasable PROM) - ROM programável / apagáveleletricamente
As EPROMs apresentam duas grandes desvantagens:- precisa ser retirada do circuito para ser apagada e reprogramada;
Memórias
2º. Semestre / 2012
- precisa ser retirada do circuito para ser apagada e reprogramada;- a memória inteira é apagada com a aplicação de radiação ultravioleta.
Para contornar esse inconveniente foi desenvolvido um outro tipo de EPROM, quepode ser apagada por pulsos elétricos, são as denominadas EEPROM ou E2PROM.
A grande vantagem com relação a EPROM é que o apagamento e a reprogramação dos dados podem ser feitos seletivamente (em bytes) ao invés da memória toda e para ser programada ou reprogramada, o chip não precisa ser removido do circuito.
22
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
Tipos de ROM: FLASH
Nas memórias E2PROM, a gravação e regravação podem ser feitas em cada byte, oque as tornam versáteis, mas lentas.
Memórias
2º. Semestre / 2012
Fabricantes responderam a essa limitação com as memórias FLASH, um tipo deE2PROM que usa para apagar dados um campo elétrico em todo o circuito ou emuma seção pré-determinada do circuito, chamada de blocos.
A memória Flash funciona muito mais rapidamente que as tradicionais E2PROMsporque grava os dados em blocos, geralmente de 512 bytes, em vez de 1 byte porvez.
23
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
RAM (Random Access Memory)
Também conhecidas como memórias de escrita e leitura (RWM) são usadas em computadores para armazenamento temporário de dados durante o processamento dos programas.
Memórias
2º. Semestre / 2012
dos programas.
24
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
Tipos de RAM: SRAM (Static Random Access Memory)
As RAMs por serem voláteis perdem os dados nela armazenados com a falta de energia.
Memórias
2º. Semestre / 2012
Mas, armazenam dados por tempo indeterminado, enquanto a alimentação estiver sendo aplicada ao chip.
Por esse motivo, essas RAMs são denominadas RAMs ESTÁTICAS (SRAM).
25
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
Tipos de RAM: DRAM (Dynamic Random Access Memory)
Enquanto que as RAMs estáticas armazenam informações em flip-flops, as RAMsdinâmicas armazenam os bits 0 e 1 em microcapacitores parasitas nos transistores MOS que constituem sua célula.
Memórias
2º. Semestre / 2012
MOS que constituem sua célula.
Devido a corrente de fuga essas informações podem ser perdidas após um determinado período, necessitando de um processo de restauração periódica.
O ato de restaurar um dado armazenado em uma RAM dinâmica chama-se refresh.
A necessidade da operação de refresh torna a RAM dinâmica desvantajosa em relação à RAM estática, porém seu custo é bem menor.
26
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
RAM não volátil (NVRAM – Non Volatile RAM)
As RAMs estáticas são utilizadas para leitura e escrita, devido a sua alta velocidade na realização dessas operações, no entanto, por serem voláteis, os dados nela armazenados se perdem quando cessa a alimentação elétrica.
Memórias
2º. Semestre / 2012
armazenados se perdem quando cessa a alimentação elétrica.
Existem duas soluções para esse problema:
1 - usar memórias que possam ser alimentadas por baterias sempre que ocorrer falta de energia.
Isto requer memórias de baixo consumo (para não consumir rapidamente toda a carga da bateria). Neste caso, a tecnologia CMOS é a mais indicada e as memórias deveriam ser mantidas em standby para consumir o mínimo possível de energia. Algumas SRAMs com tecnologia CMOS incluem no chippequenas baterias de lítio (lithium).
27
Capítulo 1 Introdução aos Sistemas Computacionais
Tipos de Memórias a Semicondutor
RAM não volátil (NVRAM – Non Volatile RAM)
2 - usar a NVRAM (RAM não voláteis). Uma NVRAM possui uma matriz de RAM estática e uma matriz de EAPROM (Electrically Alterable Read Only Memory); combinando dessa forma a velocidade de operação de uma SRAM com a
Memórias
2º. Semestre / 2012
combinando dessa forma a velocidade de operação de uma SRAM com a capacidade de armazenamento de uma EAPROM.
Uma NVRAM tem a vantagem de não necessitar de bateria, sendo no entanto mais complexa do que um chip de memória convencional e por isso não estão disponíveis para altas capacidades de armazenamento.
Quando se requer o uso de memórias não voláteis de alta capacidade, a alternativa é a utilização de RAMs CMOS com bateria.
28
Capítulo 1 Introdução aos Sistemas Computacionais
- Ampliação das palavras (dados)
- Ex: usando memórias de 1024 x 4 bits construir um banco de memória com capacidade de 1024 x 8 bits
Ampliação de Capacidade das Memórias
2º. Semestre / 2012
- Ampliação dos endereços
- Ex: usando memórias de 1024 x 8 bits construir um banco de memória com capacidade de 2048 x 8 bits
29
Capítulo 1 Introdução aos Sistemas Computacionais
Ampliação de Dados
Exemplo 1: A partir de uma memória RAM de 16 x 4 bits, gerar um banco de memória que possa armazenar 16 x 8 bits.
Ampliação de Capacidade das Memórias
2º. Semestre / 2012
30
Capítulo 1 Introdução aos Sistemas Computacionais
Exercícios:
1 – Utilizando blocos de RAM 1K x 4 bits, forme um banco de 1K x 8 bits
2 – A partir de blocos de ROM 64 x 4 bits, esquematize uma ROM 64 x 8 bits.
Ampliação de Capacidade das Memórias
2º. Semestre / 2012
31
Capítulo 1 Introdução aos Sistemas Computacionais
Ampliação de Endereços
Exemplo 2: A partir de uma memória RAM de 16 x 4bits, gerar um banco de memória que possa armazenar 32 x 4 bits.
Ampliação de Capacidade das Memórias
Endereço
2º. Semestre / 2012
Endereço
A3 A2 A1 A0
0 0 0 0 ...1 1 1 1
0 0 0 0...1 1 1 1
A4
0...0
1...1
RAM 0
RAM 1
32
Capítulo 1 Introdução aos Sistemas Computacionais
Ampliação de Endereços
Exemplo 2 (continuação):
Ampliação de Capacidade das Memórias
Endereço
2º. Semestre / 2012
A3 A2 A1 A0
0 0 0 0 : : : :1 1 1 1
0 0 0 0: : : :1 1 1 1
A4
0:0
1:1
RAM 0
RAM 1
33
Capítulo 1 Introdução aos Sistemas Computacionais
Ampliação de EndereçosExemplo 3: A partir de memórias RAMs de 32 x 4 bits expandir para uma memória de 128 x 4 bits.
Ampliação de Capacidade das Memórias
Faixa de Endereços:
A4 A3 A2 A1 A0
0 0 0 0 0 : : : : :1 1 1 1 1
A6 A5
0 0: :0 0
RAM 0
2º. Semestre / 2012
RAM1 0000000 até 0011111b 00h até 1Fh
RAM2 0100000 até 0111111b 20h até 3Fh
RAM3 1000000 até 1011111b 40h até 5Fh
RAM4 1100000 até 1111111b 60h até 7Fh
0 0 0 0 0: : : : :1 1 1 1 1
0 0 0 0 0 : : : : :1 1 1 1 1
0 0 0 0 0: : : : :1 1 1 1 1
0 0
0 1: :0 1
1 0: :1 0
1 1: :1 1
RAM 1
RAM 2
RAM 3
34
Capítulo 1 Introdução aos Sistemas Computacionais
Ampliação de Capacidade das Memórias
Ampliação de EndereçosExemplo 3 (continuação):
A4 A3 A2 A1 A0
0 0 0 0 0 : : : : :1 1 1 1 1
A6 A5
0 0: :0 0
RAM 0
2º. Semestre / 2012
0 0 0 0 0: : : : :1 1 1 1 1
0 0 0 0 0 : : : : :1 1 1 1 1
0 0 0 0 0: : : : :1 1 1 1 1
0 1: :0 1
1 0: :1 0
1 1: :1 1
RAM 1
RAM 2
RAM 3
35
Capítulo 1 Introdução aos Sistemas Computacionais
Ampliação de EndereçosExemplo 4: A partir de Memórias PROM de 2K x 8 bits obter uma memória de 8K x 8 bits (usando decodificador).
Ampliação de Capacidade das Memórias
Exercício
2º. Semestre / 2012
Exercício
Faixa de Endereços:
PROM0 –
PROM1 –
PROM2 –
PROM3 –
36
Capítulo 1 Introdução aos Sistemas Computacionais
Exercícios:
1 – A partir de blocos de RAM de 8 x 4 bits formar um banco de 16 x 4 bits.
2 – Utilizando blocos de memória RAM 128 x 4 bits, forme um banco de 256 x 4 bits. Escreva a palavra de endereço inicial e final de cada bloco (em hexadecimal).
Ampliação de Capacidade das Memórias
2º. Semestre / 2012
3 – Formar uma RAM de 512 x 8 bits com blocos de estrutura 128 x 4 bits.
4 – Idem ao anterior, para uma RAM 64 x 8, obtida com blocos 32 x 4.
37
Capítulo 1 Introdução aos Sistemas Computacionais
Estrutura Básica da Unidade Central de Processamento (CPU)
2º. Semestre / 2012
• Unidade de Controle ���� Controla a operação interna e externa da CPU e, portanto, do computador
• Unidade Lógica e Aritmética ���� realiza o processamento das operações lógicas e aritméticas da CPU
• Unidade de Registros ���� oferece armazenamento interno, temporário e de rápido acesso à CPU
38
Capítulo 1 Introdução aos Sistemas Computacionais
Estrutura Básica da Unidade Central de Processamento (CPU)
Unidade Lógica e Aritmética (ALU)
Responsável pelas operações lógicas e aritméticas com os dados.
As principais operações que a ALU geralmente pode executar são:
2º. Semestre / 2012
Após a realização de uma operação lógica ou aritmética, a ALU faz o ajuste dos bits de FLAGs conforme o resultado da operação.
Flags indicam por exemplo: se o resultado foi 0 (zero), se foi positivo ou negativo, se houve overflow (estou na capacidade de armazenamento do resultado), etc.
39
Capítulo 1 Introdução aos Sistemas Computacionais
Estrutura Básica da Unidade Central de Processamento (CPU)
Unidade de Registradores
É composta por um grupo de Registradores, onde ficam armazenados os dados, temporariamente, durante a execução dos Programas ou, onde ficam armazenadas informações necessárias ao controle do próprio Sistema.
Esta unidade de registradores é dividida em dois grupos:
2º. Semestre / 2012
Esta unidade de registradores é dividida em dois grupos:
• Registradores de propósito geral ���� armazenam dados durante o processamento do programa.
• Registradores de propósito específico ���� possuem funções específicas durante o processamento dos programas e não podem ser utilizados para armazenar qualquer valor.
40
Capítulo 1 Introdução aos Sistemas Computacionais
Estrutura Básica da Unidade Central de Processamento (CPU)
Unidade de Registradores – Alguns Registradores Específicos Importantes
O Contador de Programa (PC – Program Counter)
Responsável pela armazenagem do endereço da próxima instrução a ser buscada na Memória de programa, para futura execução.
2º. Semestre / 2012
É incrementado em cada instrução, ficando sempre com o endereço da próxima instrução na memória.
Quando a execução do programa é de forma seqüencial, o PC vai sendoincrementado a cada nova instrução para apontar sempre para a próxima a serexecutada.
Quando a CPU executa uma instrução de salto, o PC ao invés de serincrementado (para o endereço seguinte) ele é alterado para o novo endereço dememória onde será a execução da próxima execução no salto do programa.
41
Capítulo 1 Introdução aos Sistemas Computacionais
Estrutura Básica da Unidade Central de Processamento (CPU)
Unidade de Registradores – Alguns Registradores Específicos Importantes
O Registrador de Status / Flags
Contém vários bits de status que refletem o estado da última operação lógica ou aritmética. Os bits de flags podem variar para cada tipo de processador.
2º. Semestre / 2012
Esta indicação serve para tomada de decisões no programa e para controle da CPU.
42
Capítulo 1 Introdução aos Sistemas Computacionais
Processamento das Instruções
• Instruções ���� São tarefas elementares que podem ser executadas em umprocessador, tais como:
• Somar 2 números;
• Transferir um número da Memória para a CPU;
• Transferir um dado da CPU para uma Porta de E/S;
• etc
2º. Semestre / 2012
• etc
OBS: Cada instrução é representada por um código de operação (OP-CODE)
• Conjunto de Instruções (ou “SET” DE INSTRUÇÕES”) ���� É o conjunto de todas as Instruções disponíveis, quando da construção do Processador, escolhido para implementar o Sistema.
OBS: cada microprocessador ou microcontrolador tem o seu próprio “Set de
Instruções”
43
Capítulo 1 Introdução aos Sistemas Computacionais
• Processamento das Instruções ���� Estando o Programa já escrito e armazenadona Memória, o processamento do programa passa por:
1 - Leitura do “Op.Code” na memória de programa2 - Interpretação do código 3 - Execução da Instrução4 - volta ao passo 1, para a próxima Instrução.
Processamento das Instruções
2º. Semestre / 2012
Desta forma, o mesmo Hardware permite gerar inúmeros Programas (Softwares), através dasdiferentes combinações da seqüência de instruções do mesmo Conjunto de Instruções (Setde Instruções).
44
Capítulo 1 Introdução aos Sistemas Computacionais
Ciclo de Instrução
O Processamento de cada instrução é feito pela atuação da UC (Unidade de Controle) sobre todos os sinais de controles do Sistema (Via de controle interna e Via de controle externa), numa seqüência de tempo bem definida (baseada na frequência do clock).
Esta seqüência de controles para o processamento da Instrução é chamado de:
2º. Semestre / 2012
Ciclo de Instrução
sendo subdividido em: Ciclo de Busca (Fetch) e Ciclo de Execução.
45
Capítulo 1 Introdução aos Sistemas Computacionais
Cada Instrução do "Set de Instruções" possui, para sua identificação, um códigode operação, conhecido como Op-code.
Para facilitar a programação, o fabricante também associa a cada op-code um símbolo, conhecido como MNEMÔNICO.
Processamento das Instruções
2º. Semestre / 2012
Exemplo de um Conjunto de Instruções de um determinado Processador
46
Capítulo 1 Introdução aos Sistemas Computacionais
Uma instrução pode ser executada em vários ciclos de máquina, ou seja, um ciclo de instrução é formado por vários ciclos de máquina (dependente da arquitetura).
Os ciclos de máquina indicam quanto tempo uma instrução leva para ser executada pelo processador.
Ciclo de Instrução
2º. Semestre / 2012
47
Capítulo 1 Introdução aos Sistemas Computacionais
Arquiteturas dos Processadores
Arquitetura de Von Neuman:
A CPU é interligada à memória por um único barramento (bus). O sistema é composto por uma única memória onde são armazenados dados e instruções;
2º. Semestre / 2012
são armazenados dados e instruções;
Arquitetura de Harvard:
A CPU é interligada a memória de dados e a memória de programa por barramentos diferentes, de dados e de instruções.
48
Capítulo 1 Introdução aos Sistemas Computacionais
Arquiteturas dos Processadores
Arquitetura de Von Neuman:
Definiu a arquitetura CISC – Complex Instruction Set Computer (Set de instruções Complexo)
- Set de instruções grande (muitas instruções) Ex: 8051 � 225 instruções
2º. Semestre / 2012
- Os programas armazenados na memória são menores em relação ao RISC.
- Op-codes são pequenos e realizam varias tarefas (a UC consegue decodificá-lo em varias sequencias de sinais de controle para executar a instrução - Microcódigo).
- Execução mais lenta (op-code é decodificado em vários passos na UC)
- Instruções possuem diferentes Ciclos de Máquina.
49
Capítulo 1 Introdução aos Sistemas Computacionais
Arquiteturas dos Processadores
Arquitetura de Harvard:
Definiu a arquitetura RISC – Reduce Instruction Set Computer (Set de Instruções Reduzido)
- Set de instruções reduzido (poucas instruções) Ex: PIC16Fxxx � 35 instruções
- Instruções possuem um comprimento fixo e longo, que permite a utilização de um
2º. Semestre / 2012
- Instruções possuem um comprimento fixo e longo, que permite a utilização de umDecodificador de Instruções bastante simplificado, onde, praticamente, o Op.code
atua diretamente sobre os controles dos dispositivos do Sistema (eliminando o microcódigo).
- Processamento das Instruções é mais rápido.
- Os Programas armazenados na memória são maiores (op-codes são grandes).
- Instruções possuem o mesmo número de Ciclos de Máquina.
50
Capítulo 1 Introdução aos Sistemas Computacionais
Arquiteturas dos Processadores
Arquitetura Híbrida:
Atualmente, existem os processadores híbridos, que são essencialmente processadores CISC (com um grande conjunto de instruções), porém possuem internamente núcleos RISC (para execução das instruções em alta velocidade).
2º. Semestre / 2012
51
Capítulo 1 Introdução aos Sistemas Computacionais
Os programas para execução na CPU são armazenados na memória em binário,ou seja, nos seus respectivos op-codes.
É imensamente desconfortável desenvolvermos programas utilizando a Linguagem de Máquina, ou seja, usando diretamente os opcodes das instruções.
Linguagem Assembly ���� - Linguagem Mnemônica (Símbolos)
Linguagens de Programação
2º. Semestre / 2012
Linguagem Assembly ���� - Linguagem Mnemônica (Símbolos)- Necessita de tradução (Montador ou Assembler)- Baixo Nível: mais próxima da arquitetura do processador- Para cada processador: Set de instruções próprio
Linguagem C ���� - Comandos mais “familiares” ao programador- Necessita de tradução (Compilador)- Alto Nível: mais próximo do programador- Igual, mesmo trocando a arquitetura do processador
52
Capítulo 1 Introdução aos Sistemas Computacionais
Exemplo: Assembly x C
Linguagens de Programação
2º. Semestre / 2012
53
Capítulo 1 Introdução aos Sistemas Computacionais
Linguagens de Programação
Qual é a melhor linguagem para escrever os programas (baixo ou alto nível)?
A linguagem de alto nível x linguagem de baixo nível:
• mais amigável e mais fácil para desenvolvimento de aplicações mais complexas.
• permite maior portabilidade
2º. Semestre / 2012
• permite maior portabilidade
• não é necessário se preocupar com a arquitetura interna do processador
• ponto fraco da programação com linguagem de alto nível � o código gerado, muitas vezes, é maior do que um código gerado por um montador (assembler), ocupando uma memória maior de programa e também uma memória maior de dados.
• muitas vezes, a eficiência de execução do programa não é boa (tempo de processamento maior – pouco otimizado).
54
Capítulo 1 Introdução aos Sistemas Computacionais
Linguagens de Programação para Microcontroladores
AssemblyAssembler(Montador)
2º. Semestre / 2012
55
Capítulo 1 Introdução aos Sistemas Computacionais
Linguagens de Programação para Microcontroladores
Linguagem C
2º. Semestre / 2012