Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fundamentos de Análise e Desenvolvimento de Sistemas Prof. Msc. Carlos Queiroz Carlosqueiroz.fate@gmail.com Semestre 2013.2 0-2 Agenda ¤ Arquitetura de Computadores ¤ Linguagem de Máquina ¤ Execução de Programas ¤ Instruções aritméticas 0-3 Arquitetura de Computadores ¤ Unidade Central de Processamento (CPU) ¤ É o conjunto de circuitos de computador que controla a manipulação de dados ¤ Em razão da sua evolução, hoje são conhecidos também por microprocessadores ¤ Consiste em três partes ¤ Unidade Lógica e Aritmética ¤ Unidade de Controle ¤ Unidade de Registro 0-4 Arquitetura de Computadores ¤ Unidade Lógica e Aritmética ¤ Contém circuitos que realizam operações sobre os dados ¤ Unidade de Controle ¤ Contém circuitos para a coordenação das atividades da máquina ¤ Unidade de Registro ¤ Contém células de armazenamento de dados ¤ Essas células são chamadas Registradores e servem como locais temporários de armazenamento de dados que são manipulados pela CPU ¤ Registradores ¤ Propósito geral ¤ Propósito específico 0-5 Arquitetura de Computadores ¤ Barramento ¤ Ligação entre a CPU de uma máquina e sua memória principal, para fins de transferência de padrões de bits, através de um conjunto de fios 0-6 Figura 2.1 CPU e memória principal Forma geral de operação em dados 1. Unidade de controle transfere dados da memória principal para os registradores 2. Unidade de controle informa a unidade lógica e aritmética (ULA) sobre quais registradores mantém os dados 3. Ativa os circuitos apropriados da ULA e informa quais os registradores que devem receber o resultado 0-7 Conceito de Programa Armazenado 0-8 ¤ Nos primeiros computadores, os passos que cada dispositivo executava eram definidos dentro das suas unidades de controle, como uma parte da máquina ¤ O objetivo é que a CPU pudesse ser reconfigurada ¤ Ex.: Cartões perfurados ¤ A ideia é que um programa assim como seus dados, pudesse ser codificado e armazenado na memória principal ¤ A CPU pode extrair as instruções e executá-las ¤ O programa a ser executado pode ser alterado mais facilmente ¤ Não é mais necessário alterações na CPU para modificações no seu programa 0-9 Linguagem de Máquina ¤ A partir do conceito de programa armazenado, as CPUs são projetadas para reconhecer instruções codificadas como padrões de bits ¤ Linguagem de Máquina ¤ Conjunto de instruções, em conjunto com o sistema de codificação, reconhecidas por uma máquina ¤ Instrução de Máquina ¤ Uma instrução (ou comando) codificado em um padrão de bits que é reconhecido por uma CPU 0-10 Filosofias de Projeto de Linguagens de Máquina ¤ O número de instruções de uma máquina não necessariamente tem impacto direto as suas funcionalidades ¤ Computador com conjunto reduzido de instruções (Reduced Instruction Set Computing - RISC) ¤ Poucas instruções ¤ Instruções mais simples ¤ Eficiência ¤ Instruções mais rápidas ¤ Exemplos: PowerPC from Apple/IBM/Motorola e ARM (Advanced RISC Machine) ¤ Computador com conjunto completo de instruções (Complex Instruction Set Computing - CISC) ¤ Quantidade de instruções maiores ¤ Instruções mais convenientes ¤ Instruções mais poderosas ¤ Exemplo: Processadores Intel 0-11 Tipos de Instruções de máquina ¤ Independente do tipo de processador (RISC ou CISC), as instruções de uma máquina podem ser classificadas em três grupos ¤ Transferência de dados: instruções que requerem o movimento de dados de uma localidade para outra ¤ Instruções de entrada e saída (E/S) ¤ Lógica e Aritmética: instruções que dizem a unidade de controle para requisitar uma atividade dentro da unidade de lógica e aritmética ¤ Usa padrões de bits para computar novos padrões ¤ Controle: instruções que direcionam a execução do programa Exemplo: Somando valores armazenados na memória ¤ Passo 1 – Obtenha da memória um dos calores a ser somando e coloque-o em um registrador ¤ Passo 2 – Obtenha da memória o outro valor a ser somando e coloque-o em outro registrador ¤ Passo 3 – Ative os circuitos de adição com os registradores usados nos passos 1 e 2 como entrada e outro registrador selecionado para armazenar o resultado ¤ Passo 4 – Guarde o resultado na memória ¤ Passo 5 - Pare 0-12 0-13 Exemplo de arquitetura de máquina (Apêndice C) 16 registradores 256 células 8 bits 8 bits 0-14 Detalhes de uma instrução de máquina ¤ Código de Operação (Op-code) ¤ Especifica a operação a ser executada ¤ Operando ¤ Fornece mais detalhes sobre a operação ¤ A interpretação do operando varia de acordo com o op-code 0-15 Detalhes de uma instrução de máquina 0-16 O Op-code 3 significa o armazenamento do conteúdo de registrador em uma célula de memória Esta parte do operando identifica o registrador no qual o conteúdo deve ser armazenado Esta parte do operando identifica o endereço da célula de memória que receberá os dados Instrução Exemplo: Decodificando a instrução 35A7 0-17 Execução de Programas ¤ Controlado por dois registradores de propósito específico ¤ Contador de programa ¤ Mantém o endereço da próxima instrução a ser executada ¤ Registrador de instruções ¤ Armazena a instrução corrente ¤ Ciclo de máquina ¤ Busca ¤ Decodificação ¤ Execução 0-18 Figura 2.8 O Ciclo de Máquina Obter Decodificar Executar 1. Obtém a próxima instrução da memória (indicado pelo contador de programa) e então incrementa o contador de programa 2. Decodifica o padrão de bits no registrador de instruções 3. Executa a ação requisitada pela instrução no registrador de instruções 0-19 Figura 2.10 Programa armazenado na memória principal pronto para execução 0-20 Figura 2.11 Passo “Obter” no ciclo de máquina 0-21 Figura 2.11 Passo “Obter” no ciclo de máquina (cont.) 0-22 ¤ Controlador ¤ Um aparato intermediário que cuida da comunicação entre a CPU e um dispositivo ¤ Especializados para cada tipo de dispositivo ¤ Traduz mensagens e dados em ambas as direções entre formatos compatíveis ¤ Atualmente existem controladores de propósito geral (Ex.: USB) Comunicação com outros dispositivos 0-23 ¤ Porta ¤ Ponto no qual um dispositivo se conecta ao computador ¤ E/S Mapeada em memória ¤ A CPU se comunica com os periféricos como se eles fossem células de memória Comunicação com outros dispositivos 0-24 Figura 2.13 Controladores anexados ao barramento 0-25 Figura 2.14 Representação conceitual da E/S mapeada em memória 0-26 ¤ Acesso direto à memória (Direct memory access – DMA) ¤ Controladores acessam a memória principal através do barramento ¤ Handshaking ¤ O computador e os dispositivos periféricos trocam informações sobre o estado do dispositivo e coordenam suas atividades ¤ Processo de coordenação da transferências de dados entre os componentes ¤ Gargalo de Von Neumann ¤ Competição no acesso ao barramento entre a CPU e os diversos controladores Comunicação com outros dispositivos (Cont.) 0-27 ¤ Comunicação Paralela ¤ Diversos sinais são transferidos ao mesmo tempo, cada um em uma “linha” separada ¤ Comunicação Serial ¤ Com base na transferência de sinais um após o outro sobre uma única linhaComunicação com outros dispositivos (Cont.) 0-28 Taxas de comunicação de dados ¤ Unidades de medida ¤ Bps: Bits per second ¤ Kbps: Kilo-bps (1,000 bps) ¤ Mbps: Mega-bps (1,000,000 bps) ¤ Gbps: Giga-bps (1,000,000,000 bps)
Compartilhar