Arquitetura Básica e Funcionamento de Computadores/ Conceitos de Hardware e Software Profº. Helvio...

Post on 22-Apr-2015

104 views 1 download

Transcript of Arquitetura Básica e Funcionamento de Computadores/ Conceitos de Hardware e Software Profº. Helvio...

Arquitetura Básica e Funcionamento de

Computadores/ Conceitos de Hardware e Software

Profº. Helvio Jeronimo Junior

jeronimohjr@gmail.com

Computador Formado por: - Hardware; - Software;

Transforma os dados (entrada) em informação (saída) útil e armazena-as (em um dispositivo de armazenamento secundário) para proteção ou reutilização;

O processamento da entrada para a saída é conduzida pelo software, mas realizado pelo hardware;

Hardware “O computador digital é constituído por um conjunto

de componentes interligados, composto por processadores, memória principal, registradores, terminais, impressoras, discos magnéticos, além de outros dispositivos físicos (hardware)”.

Todos os componentes de um sistema computacional são agrupados em três subsistemas básicos, chamados unidades funcionais: processador ou Unidade Central de Processamento (UCP), memória principal e dispositivos de entrada e saída. Estes subsistemas estão presentes em qualquer tip de computador, independente da arquitetura ou fabricante.

Unidades Funcionais de um Computador

Componentes de Microcomputador padrão PC Gabinete: Parte que envolve e protege o

computador. Geralmente já vem com a fonte, e é encontrado nos modelos torre, mini-torre e desktop.

Fonte: Recebe e transforma a energia necessária para o funcionamento do computador;

Placa Mãe: Parte principal de um computador, é nela que se encontram o microprocessador e os pentes de memória.

Processador: Considerado o coração do microcomputador, nele (UCP) se encontram a Unidade Lógica e Aritmética e a Unidade de Controle (UC).

Processo de Inicialização do computador (I) Ao ligar o computador um complexo curso de operações

ocorrem para ter certeza que seus componentes estão funcionando corretamente, o mais simples;

Processo de boot-up (boot): termo advindo de uma expressão em inglês, algo como “levantar-se com seus próprios pés. Isto é necessário para trazer os componentes à vida, para realizar o objetivo de carregar o Sistema Operacional (SO);

Executa o POST e procura por drives para o SO; O SO realiza tarefas mais complicadas, as que o boot não

pode gerenciar sozinho, incluindo a interação entre o hardware e o software.

Processo de Inicialização do computador (II) Antes que o PC possa carregar o SO, ele precisa

verificar se os componentes de hardware, UCP e memória estão funcionando. Este é o trabalho do power-on-self-test, ou POST;

O POST é a primeira coisa que o PC faz quando é lidado;

Avisa sobre problemas existentes nos componentes através de mensagens na tela;

Avisa através de bips sonoros (caso o monitor seja um dos problemas)

Um bip com apresentação do DOS significa que os componentes passaram no POST;

Sistema Operacional (SO) O sistema operacional é um alocador de recursos

onde recursos são CPU, memória, espaço de disco, etc;

É um programa de controle, pois controla os É um programa de controle, pois controla os dispositivos de E/S e os programas dos usuáriosdispositivos de E/S e os programas dos usuários;

Seu principal objetivo é permitir o uso do computador de uma forma eficiente sem que o usuário necessite ter grande conhecimento a respeito do hardware (toda a operação do hardware com o software) é controlada pelo SO.

Arquitetura Básica de Computadores (I) Para funcionar um computador necessita de

quatro tipos principais de manipulação de dados: entrada, processamento, saída e armazenamento;

O armazenamento pode ser: - primário memória principal - secundário dispositivos (periféricos) O hardware é responsável por esses principais

quatro tipos principais de manipulação de dados; Esquema de arquitetura básica;

Arquitetura Básica de Computadores (II) - Entrada e Saída A entrada de dados e a saída de informações é realizada através

dos periféricos do computador; Periféricos: São dispositivos que realizam a ligação do

computador com o mundo exterior. Os periféricos classificam-se em: - Entrada: Estes têm a função de traduzir as informações

exteriores para determinados código que a Unidade Central de Processamento (UCP) possam entender codifica informações em dados;

- Saída: Os dados são traduzidos de maneira que seja possível a legibilidade humana ou a legibilidade mecânica (outros softwares, ex: soft. p/ deficientes visuais) decodificam os dados em informações.

Arquitetura Básica de Computadores (II) Exemplos de Periféricos Entrada: - Teclado, mouse, leitoras de código de barras, scanners, Joystick (utilizado em jogos, controlador), caneta eletrônica,

microfone, camera digital, webcam...; Saída: - Monitores, impressoras, caixas de sons, terminais

eletrônicos; Entrada e Saída: - Discos Magnéticos, dispositivos de armazenamento

(disquete, pen-drives, hd externo), monitores touchscreen, cds, dvds, Joystick (com funções de vibração), Modem.

Arquitetura Básica de Computadores (III) Processamento Realizado pelo processador;

Um microprocessador, ou simplesmente processador, é um circuito integrado (ou chip), que é considerado o "cérebro" do computador.

Os microprocessadores formam uma parte importantíssima do computador, chamada de UCP (Unidade Central de Processamento), ou em inglês, CPU (Central Processing Unit).

Antes da existência dos microprocessadores, as UCPs dos computadores eram formadas por um grande número de chips, distribuídos ao longo de uma ou diversas placas.

Um microprocessador nada mais é que uma UCP inteira, dentro de um único CHIP.

Arquitetura Básica de Computadores (III) Processamento - Processador

Placa de circuito impresso

Processador

Um microprocessador contém todos os circuitos que antigamente eram formados por diversas placas.

Ligando-se um microprocessador a alguns chips de memória e alguns outros chips auxiliares, tornou-se possível construir um computador inteiro em uma única placa de circuito.

Esta placa é comumente chamada de placa mãe dos microcomputador.

Arquitetura Básica de Computadores (III) Processamento - Processador

Placa-mãe

Sua principal função é executar os programas, fazer os cálculos e tomar as decisões, de acordo com as instruções armazenadas na memória principal. UCP executa as instruções de um computador; Consiste em duas partes: - A Unidade de Controle (UC); - Unidade Lógica e Aritmética (ULA) Cada parte possui uma finalidade específica;Além destas, partes estas possuem os registradores;

Arquitetura Básica de Computadores (III) Processamento - Unidade Central de Processamento (UCP)

A UC tem a maior importância na operação de um computador (através de sinais elétricos);

Assume toda a tarefa de controle das ações a serem realizadas pelo computador, comandando todos os demais componentes de sua arquitetura (não executa instruções, comanda!);

E nesta que nesta que as operações a serem realizadas, são identificadas e através da qual os dados são obtidos da memória;

É a unidade de controle que gerencia todos os eventos associados à operação do computador, particularmente as chamadas interrupções, tão utilizadas nos sistemas há muito tempo;

Deve-se comunicar-se tanto tanto com a ULA e com a memória; Responsável pelo tráfego de dados;

Arquitetura Básica de Computadores (III) Processamento - UCP – Unidade de Controle (UC)

Contém os circuitos eletrônicos que executam todas as operações lógicas e aritméticas;

É onde as operações de cálculos aritméticos, lógicos e qualquer manipulação de dados numéricos e alfanuméricos são efetivamente executados;

Realiza as quatro operações matemáticas; Executa operações lógicas ou comparações (pode

comparar números, letras e caracteres) Responsável por verificar se o processo

executado tem resultado.

Arquitetura Básica de Computadores (III) Processamento - UCP – Unidade Lógica e Aritmética (ULA)

Parâmetros que influenciam no desempenho global de um sistema computacional: Um parâmetro importante é o tamanho da palavra

processada pela unidade lógica e aritmética. Como o sistema de numeração adotado nas arquiteturas de computadores é o binário, o tamanho de palavra é dado em números de bits. Quanto maior o tamanho da palavra manipulada pelo microprocessador, maior é o seu potencial de cálculo e maior a precisão das operações realizadas.

Bit: valor 0 ou 1 (representam números em binário); Byte: compreende 8 bits; Atualmente microprocessadores operamem: 16, 32 e 64

bits;

Arquitetura Básica de Computadores (III) Processamento - UCP – Unidade Lógica e Aritmética (ULA)

A velocidade de cálculo obviamente é outro fator de peso para o desempenho do computador; Uma vez que ela será determinante para o tempo de resposta de um sistema computacional com respeito à execução de uma dada aplicação. A velocidade de cálculo está diretamente relacionada com a frequência do relógio que pilota o circuito da CPU como um todo.

Arquitetura Básica de Computadores (III) Processamento - UCP – Unidade Lógica e Aritmética (ULA)

Outro parâmetro importante associado ao desempenho do computador é a quantidade de operações que ela suporta. Por exemplo, os primeiros processadores suportavam um conjunto relativamente modesto de operações lógicas e aritméticas. Em particular, no que diz respeito às operações aritméticas, os primeiros processadores suportavam apenas operações de adição e subtração, sendo que as demais operações tinham de ser implementadas através de sequências destas operações básicas. Os processadores suportando um conjunto mais complexo de instruções surgiu de 15 anos para cá, graças à adoção da tecnologia CISC (Complex Instruction Set Computer).

Arquitetura Básica de Computadores (III) Processamento - UCP – Unidade Lógica e Aritmética (ULA)

A CPU contém internamente uma memória de alta velocidade que permite o armazenamento de valores intermediários ou informações de comando. Esta memória é composta de registradores (ou registros), na qual cada registro tem uma função própria. Os registros, geralmente numerosos, são utilizados para assegurar o armazenamento temporário de informações importantes para o processamento de uma dada instrução. Conceitualmente, registro e memória são semelhantes: a localização, a capacidade de armazenamento (registrador menor) e os tempos de acesso às informações que os diferenciam (custo maior do que a memória). Os registros se localizam no interior de um microprocessador, enquanto a memória é externa a este.

Arquitetura Básica de Computadores (III) Processamento - UCP - Registradores

Um registro memoriza um número limitado de bits, geralmente uma palavra de memória. Os registros mais importantes são:• Contador de Instruções (CI), que aponta para a

próxima instrução a executar.

• Apontador da Pilha ou stack pointer (SP);

• PSW – Registrador de estado (program status word);

Arquitetura Básica de Computadores (III) Processamento - UCP - Registradores

Arquitetura Básica de Computadores (III) Processamento - UCP -

Registradores- CI- Contador de Instruções

É responsável pelo armazenamento do endereço da próxima instruções que a UCP deverá buscar e executar;

Toda vez que a UCP executa uma instrução, o PC é atualizado com um novo endereço de memória da instrução seguinte a ser executada;

Arquitetura Básica de Computadores (III) Processamento - UCP -

Registradores- AP- Apontador da Pilha

Contém o endereço de memória do topo da pilha, que é a estrutura de dados onde o sistema mantém informações sobre tarefas que estavam sendo processadas e tiveram que ser interrompidas por algum motivo.

Arquitetura Básica de Computadores (III) Processamento - UCP -

Registradores- PSW- Registrador de Estado

Armazena informações sobre a execução do programa;

A cada instrução gerada, o registrador de estado é alterado conforme o resultado gerado pela instrução.

Clock é um circuito oscilador que tem a função de sincronizar e ditar a medida de velocidade de transferência de dados no computador, por exemplo, entre o processador e a memória principal. Esta frequência é medida em ciclos por segundo, ou Hertz.

Existe a frequência própria do processador, comandando operações internas a ele, e a frequência do computador a ele associado, basicamente ciclos CPU - Memória principal.

 Ex: Um Pentium 200, por exemplo, apesar de internamente funcionar a 200 MHz, comunica-se com a placa mãe a apenas 66 MHz. A frequência de operação do processador é chamada de clock interno (Internal clock), enquanto que a frequência da placa mãe é chamada de clock externo (External clock).

Arquitetura Básica de Computadores (III) Processamento - UCP - Clock

Antes de uma instrução poder ser executada, instruções e dados do programa devem ser colocadas na memória por meio de um dispositivo de entrada ou um dispositivo de armazenamento secundário;

A unidade UCP executa:

1. A UC busca a instrução na memória e coloca em um registrador; 2. A UC decodifica a instrução e define a localização na memória dos

dados necessários (obtidos). Etapas 1 e 2 são juntas (denominada de tempo de instrução - I-time);

3. A UC transfere os dados da memória para a ULA. Esta executa a operação segundo comando da UC;

4. A UC armazena o resultado da operação na memória ou em um registrador. Etapas 3 e 4 são juntas (denominada tempo de execução – E-time);

Esquema de Funcionamento;

Arquitetura Básica de Computadores (III) Processamento - UCP - Funcionamento

A UCP interage com a memória principal (armazenamento primário) recorrendo a ela para obter informações e dados;

A interação da UCP com a memória principal faz recurso da memória cache;

Memória cache: É um pequeno bloco de memória de alta velocidade que armazena os dados e instruções mais utilizadas e as utilizadas recentemente;

Processador faz a busca na cache; Cache recupera os dados necessários na memória; Quanto mais dados na cache, mais rápido e o

desempenho do sistema;

Arquitetura Básica de Computadores (III) Processamento - UCP - Funcionamento

Armazenamento Secundário: Consiste em dispositivos de armazenamento secundário como um disco (disco rígido, disco flexíveis (disquetes) ou outro dispositivo) que pode armazenar dados e programas;

Obs 1: Capacidade de armazenamento um disco rígido > disco flexível;

Obs 2: Acesso aos dados em disco rígido é mais rápido do que um disco flexível; (ex: acesso a pen-drive, HD);

Armazenamento Primário: Representa a memória, nesta os dados são armazenados temporariamente.

Arquitetura Básica de Computadores (IV) Armazenamento

Memória Principal (Primária ou Real) É o local onde são armazenados

instruções e dados; A memória é composta por

unidades de acesso chamadas células, sendo cada célula composta por um determinado número de bits;

O bit é a unidade básica de memória, podendo assumir o valor lógico 0 ou 1;

Atualmente, a grande maioria dos computadores utiliza o byte(8bits) como o tamanho da célula.

Memória Principal

Conclui-se que a memória é formada por um conjunto de células, onde cada célula possui um determinado de bits;

O acesso ao conteúdo de uma célula é realizado através da especificação de um número chamado endereço;

O endereço é uma referência única que podemos fazer a uma célula de memória;

Quando um programa deseja escrever ou ler um dado em uma célula, deve primeiro especificar qual o endereço de memória desejado, para depois realizar a operação;

Memória Principal

Registrador de endereço de memória (REM) - Através de seu conteúdo a unidade de controle sabe qual célula de memória que será acessada;

Registrador de dados da memória (RDM) – Utilizado para guardar o conteúdo de uma ou mais células de memória, após uma operação de leitura, ou para guardar o dado que será transferido para a memória em uma operação de gravação.

Ciclo de Leitura e Gravação

Memória Principal

A capacidade de uma memória é limitada pelo tamanho do REM;

Sendo n o número de bits de REM, a memória principal poderá endereçar no máximo 2 (elevado a n) células, ou seja, do endereço 0 ao 2n – 1.

Memória Principal

Volatilidade – capacidade da memória preservar o seu conteúdo sem uma fonte de alimentação ativa;

Memórias voláteis – caracterizam pela capacidade de serem lidas ou gravadas. Ex.: Memória RAM(Random Access Memory);

Memória não voláteis – não permitem alterar ou apagar seu conteúdo. Ex.: Memória ROM (Read Only Memory) e EPROM (Erasable Programmable ROM).

Memória Cache É uma memória volátil de alta velocidade,

porém com pequena capacidade de armazenamento;

O propósito do uso da memória cache é minimizar a disparidade existente entre a velocidade com que o processador executa instruções e a velocidade com que os dados são lidos e gravados na memória principal;

A capacidade de armazenamento das memórias cache é limitada em função do seu alto custo.

Memória Cache A memória cache armazena uma pequena parte do

conteúdo da memória principal. Toda vez que o processador faz referência a um dado da memória, é verificado primeiramente, se o mesmo encontra-se na memória cache. Caso o processador encontre o dado (cache hit), não há necessidade do acesso à memória principal, diminuindo assim o tempo de acesso.

Se a informação não estiver presente na cache, o acesso à memória principal é obrigatório (cache miss).

Neste caso, o processador, transfere um bloco de dados da memória principal para a cache.

Memória Secundária

É uma memória não volátil de armazenamento de programas e dados;

Não precisa estar sempre energizada para manter suas informações;

Acesso é mais lento que o acesso a memória principal ou cache, porém seu custo é mais baixo e sua capacidade de armazenamento é bem superior;

Exemplos: Fita magnética, disco magnético, disco óptico.

Relação entre os dispositivos de armazenamento

Barramento Bus, Barras ou Vias. São linhas de comunicação

que interligam a UCP, memória principal e os dispositivos de E/S (unidades funcionais de um sistema computacional);

Em geral um barramento possui linhas de controle de linhas de dados. Através das linhas de controle trafegam informações de sinalização, como por exemplo, o tipo de operação que está sendo realizada.

Pelas linhas de dados, informações como instruções, operandos e endereços são transferidos entre unidades funcionais.

Pipelining É uma técnica que permite ao processador executar

múltiplas instruções paralelamente em estágios diferentes.

Uma tarefa é dividida em uma sequencia de subtarefas, executadas em diferentes estágios;

A execução de uma instrução pode ser dividida em subtarefas, como as fases de busca de instrução e dos operandos, execução e armazenamento dos resultados;

Pode ser empregada em sistemas com um ou mais processadores, e tem sido a técnica de paralelismo mais utilizada para maior desempenho dos sistemas de computadores.

Pipelining com Quatro Estágios

Arquitetura RISC

RISC (Reduced Instruction Set Computer): O processador só entende linguagem de máquina;

Cada processador possui um conjunto de instruções de máquina, definido por seu fabricante;

As instruções de máquinas fazem referência a detalhes, como registradores, modos de endereçamento e tipos de dados, que caracterizam um processador e suas funcionalidades;

Um processador com arquitetura RISC, se caracteriza por possuir poucas instruções de máquina – instruções simples, que são executadas diretamente pelo hardware;

Arquitetura RISC

Na sua maioria, estas instruções não acessam a memória principal, trabalhando com registradores,que nesta arquitetura se apresentam em grande número.

Estas características além de permitirem que as instruções sejam executadas rapidamente, facilitam a implementação do pipeline.

Exemplos de processadores RISC: SPARC(Sun), RS-600(IBM), PA-RISC(HP), Alpha AXP(Compaq) e Rx000(MIPS).

Arquitetura CISC

CISC (Complex Instruction Set Computers) Instruções complexas que são

interpretadas por microprogramas; Número de registradores é pequeno; Qualquer instrução pode referenciar a

memória principal; Implementação do pipeline é mais difícil. Exemplos de processadores CISC:

VAX(DEC), Pentium (Intel), 68xxx(Motorola)

Nos processadores RISC, um programa em linguagem de máquina é executado diretamente pelo hardware, porém isso não ocorre nos processadores CISC;

O código executável de um processador CISC é interpretado por microprogramas durante sua execução, gerando microinstruções , que finalmente são executadas pelo hardware. Para cada instrução em linguagem de máquina existe um microprograma associado.

RISC X CISC

ANÁLISE DE DESEMPENHO

Uma das variáveis a ser considerada para avaliar o desempenho de processadores é o intervalo de tempo entre os pulsos de um sinal de clock, conhecido como ciclo de clock.

A frequência de clock é o indica o número de pulsos elétricos gerados em um segundo.

A medida da frequência é dada em Hertz(Hz), ou seus múltiplos : quilohertz (KHz), megahertz (MHz)

ANÁLISE DE DESEMPENHO

Tempo de UCP é o tempo para executar instruções pelo processador, não incluindo o tempo de espera em operações de entrada/saida. O tempo de UCP para um determinado programa é dado por:

Frequência do clock é o inverso o ciclo.