Introdução a Sistemas Computacionais, Notas de estudo de Engenharia Informática
wellington-cassio-faria-8
wellington-cassio-faria-8

Introdução a Sistemas Computacionais, Notas de estudo de Engenharia Informática

28 páginas
50Números de download
1000+Número de visitas
Descrição
Introdução a Sistemas Computacionais
50 pontos
Pontos de download necessários para baixar
este documento
Baixar o documento
Pré-visualização3 páginas / 28
Esta é apenas uma pré-visualização
3 mostrados em 28 páginas
Esta é apenas uma pré-visualização
3 mostrados em 28 páginas
Esta é apenas uma pré-visualização
3 mostrados em 28 páginas
Esta é apenas uma pré-visualização
3 mostrados em 28 páginas

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

 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 o Sistema 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 de dados • Ex: 8 bits  valores de 0 a 255

Barramentos  fazem a interconexão de todas as partes do Sistema Computacional

2º. Semestre / 2012

16 bits  valores de 0 a 65535 32 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ão manipulados e também o próprio programa a ser executado pela CPU.

• Tipos:

• Memória de programa

2º. Semestre / 2012

• 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

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 ou 64 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

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

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 que varia de 15 a 30 minutos, dependendo da intensidade da luz.

Memórias

2º. Semestre / 2012

Não é possível apagar células selecionadas, pois ao expor o chip à radiação ultravioleta todas as células se 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ável eletricamente

As EPROMs apresentam duas grandes desvantagens: - precisa ser retirada do circuito para ser apagada e reprogramada;

Memórias

2º. Semestre / 2012

- a memória inteira é apagada com a aplicação de radiação ultravioleta.

Para contornar esse inconveniente foi desenvolvido um outro tipo de EPROM, que pode 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, o que as tornam versáteis, mas lentas.

Memórias

2º. Semestre / 2012

Fabricantes responderam a essa limitação com as memórias FLASH, um tipo de E2PROM que usa para apagar dados um campo elétrico em todo o circuito ou em uma seção pré-determinada do circuito, chamada de blocos.

A memória Flash funciona muito mais rapidamente que as tradicionais E2PROMs porque grava os dados em blocos, geralmente de 512 bytes, em vez de 1 byte por vez.

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

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 RAMs dinâmicas armazenam os bits 0 e 1 em microcapacitores parasitas nos transistores MOS que constituem sua célula.

Memórias

2º. Semestre / 2012

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

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 chip pequenas 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

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

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ços Exemplo 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 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ços Exemplo 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ços Exemplo 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

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

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 sendo incrementado a cada nova instrução para apontar sempre para a próxima a ser executada.

Quando a CPU executa uma instrução de salto, o PC ao invés de ser incrementado (para o endereço seguinte) ele é alterado para o novo endereço de memó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 um processador, 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

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 armazenado na Memória, o processamento do programa passa por:

1 - Leitura do “Op.Code” na memória de programa 2 - Interpretação do código 3 - Execução da Instrução 4 - 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 das diferentes combinações da seqüência de instruções do mesmo Conjunto de Instruções (Set de 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ódigo de 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

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

Decodificador 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

- 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

• 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

Assembly Assembler (Montador)

2º. Semestre / 2012

55

Capítulo 1 Introdução aos Sistemas Computacionais

Linguagens de Programação para Microcontroladores

Linguagem C

2º. Semestre / 2012

Até o momento nenhum comentário
Esta é apenas uma pré-visualização
3 mostrados em 28 páginas