ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 01: APRESENTAÇÃO Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação QUAIS OS OBJETIVOS DESSA DISCIPLINA? OBJETIVOS • Apresentar um breve histórico da evolução dos sistemas computacionais; • Apresentar os paradigmas organizacionais que determinam a capacidade e o desempenho dos sistemas computacionais; • Apresentar todos os subsistemas de um sistema computacional; O QUE É UM COMPUTADOR? COMPUTADOR • É um dispositivo capaz de executar e cálculos e tomar decisões lógicas em velocidade milhões e até bilhões de vezes mais rápidas do que qualquer ser humano. – A finalidade do computador é receber, manipular e armazenar dados (Realizar a tarefa de processamento de dados). Dados iniciais 1 Manipulação dos dados 2 Armazenamento do dados 3 Resultado da manipulação QUAIS AS FUNÇÕES DE UM COMPUTADOR? FUNÇÕES DO COMPUTADOR • Processamento de dados – Um computador deve ser capaz de processar dados. • Armazenamento de dados – É essencial que um computador seja capaz de armazenar dados. • Movimentação/Transferência de dados – Um computador deve ser capaz de transferir dados. • Controle – Deve existir um controle das três funções básicas (processamento, armazenamento e movimentação de dados) FUNÇÕES DO COMPUTADOR Armazenar dados Transferência de dados Mecanismo de controle Processar dados VOCÊ SABE DO QUE É COMPOSTO UM COMPUTADOR? MODELO DE VON NEUMANN • Modelo para todos os computadores de propósito geral. • Consiste de: – Memória principal: Para armazena dados e instruções. – Unidade lógica e aritmética: Para realiza operações com dados. – Unidade de controle: Serve para interpretar e executar as instruções armazenadas na memória. – Dispositivo de entrada e saída: Tem a função de transferir dados entre o computador e o meio externo MODELO DE VON NEUMANN Unidade lógica e aritmética Equipamento de entrada e saída Memória principal Unidade de controle COMPONENTES DE UM COMPUTADOR • Os principais componentes que permitem a viabilização das funcionalidades de um computador são: – Central de processamento (CPU): Tem a responsabilidade de controlar as operações do computador e realizar as funções de processamento. – Memórias: Compreende todos os meios de armazenamento para os programas e para os dados dos programas. – Dispositivos de entrada e saída (E/S): Tem a função de transferência de dados. – Rede de Interconexão: É composto pelos mecanismos de comunicação entra a CPU, memória e dispositivos de E/S. COMPONENTES DE UM COMPUTADOR Memória Principal CPU Rede de interconexão (Barramento) Armazenamento Secundário Dispositivos de Entrada e Saída COMPUTADOR: CPU • A CPU pode ser considerado o cérebro do computador. – Responsável pela execução de todas as tarefas e pelo processamento de dados. – Todas as operações aritméticas e lógicas de um programa são executadas na CPU. • Uma CPU pode ser composta por um ou vários processadores (multicores). COMPUTADOR: CPU • Os processadores possuem vários componentes internos: – Unidade de controle: Controla cada operação da CPU. Ela é responsável por decodificar as instruções presentes no programa em execução emitindo sinais de controle para as demais partes do computador. – Unidade lógica e aritmética (ULA): É responsável por executar as operações aritmética e lógicas do programa. – Registradores: São espaço de armazenamento interno para a CPU (são memórias de acesso ultra-rápido). – Rede de interconexão da CPU: Possibilita a comunicação entre a unidade de controle, a ULA e os registradores. COMPUTADOR: CPU CPU Registradores Unidade de controle ULA COMPUTADOR: MEMÓRIAS • Memória principal – Dispositivo que permite armazenamento de dados e instruções. – Também chamada de memória RAM. • Memória secundária – Memória para armazenamento de longa duração de dados e programas DISPOSITIVOS DE ENTRADA E SAÍDA • Dispositivos de entrada – São dispositivos que fornecem dados para execução de um programa. – Permite a interação usuário-máquina • Dispositivos de saída – São dispositivos que exibem dados e informações processadas pelo sistema computacional COMPUTADOR CPU Registradores Unidade de controle ULA Memórias Rede de interconexão Dispositivos de entrada e saída VOCÊ SABE O QUE VEM A SER E COMO É CONSTITUIDO A ARQUITETURA DE UM COMPUTADOR? ARQUITETURA DE COMPUTADORES • Refere-se aos atributos dos sistemas computacionais que são visíveis para o programador. – Esses atributos têm impacto direto sobre a lógica de construção e execução dos programas. • São aspectos da arquitetura de computadores: – – – – Conjunto de instruções de uma máquina; O número de bits do processador; Os mecanismos associados aos periféricos; As técnicas de endereçamento da memória. E O QUE VEM A SER A ORGANIZAÇÃO DOS SISTEMAS COMPUTACIONAIS? ORGANIZAÇÃO DE COMPUTADORES • Refere-se ao estudo dos aspectos não visíveis ao programador. – As unidades operacionais e suas interconexões implementam as especificações da sua arquitetura. • São considerados computadores: aspectos – Os sinais de controle; – A interface computador/periféricos; – A tecnologia de memória utilizada; da organização que dos QUAL A RELAÇÃO ENTRE ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES? ARQUITETURA X ORGANIZAÇÃO • Muitos fabricantes oferecem uma família de modelos de computadores com a mesma arquitetura, mas com diferenças na organização, características de desempenho e preços. – O cliente pode migrar para modelos da mesma família (mesma arquitetura) sem precisar trocar o software. – Mantem a compatibilidade de código. – Preserva o investimento em software. EXEMPLOS DE ARQUITETURA COM VÁRIAS ORGANIZAÇÕES IBM360 • Um exemplo de computador com várias organizações é o IBM 360. – Uma arquitetura com grande número de modelos. – A IBM introduzia novos modelos do 360, mantendo a mesma arquitetura. – Um cliente poderia comprar um modelo inferior e, poderia migrar para um outro modelo superior. SABEM DE OUTRO EXEMPLO? ARQUITETURA DOS COMPUTADORES PESSOAIS • Já percebeu que os computadores pessoais mantem uma certa compatibilidade entre as diversas gerações? – Esta compatibilidade se deve ao fato de todos adotarem a arquitetura INTEL x86. – Por isso programas antigos ainda podem ser executados sem muitos transtornos nos computadores pessoais de hoje. POR QUE APRENDER CONCEITOS DE ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES? IMPORTÂNCIA DA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES • Desempenho é um importante fator de qualidade para tornar os softwares competitivos. • Desenvolver SW com bom desempenho requer o entendimento de como um computador funciona: – Componentes de um computador – Como os componentes interagem entre si – Como o software interagem com os componentes • Projetistas de SW devem desenvolver aplicações que maximizam o uso eficiente do HW. APRENDER COMO FUNCIONA UM SISTEMA COMPUTACIONAL PERGUNTAS QUE DEVEM SER RESPONDIDAS AO FINAL DO CURSO • Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? • Qual é a interface entre SW e HW e como o SW instrui o HW a executar o que foi planejado? • O que determina o desempenho de um programa e como ele pode ser melhorado? • Que técnica um projetista de HW pode utilizar para melhorar o desempenho?