Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

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

Introdução a Sistemas Computacionais

Tipologia: Notas de estudo

2012

Compartilhado em 23/11/2012

wellington-cassio-faria-8
wellington-cassio-faria-8 🇧🇷

4.5

(37)

129 documentos

1 / 28

Documentos relacionados


Pré-visualização parcial do texto

Baixe Introdução a Sistemas Computacionais e outras Notas de estudo em PDF para Engenharia Informática, somente na Docsity! 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. 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). 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). 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 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. 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
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved