Prévia do material em texto
Arquitetura e Organização de Computadores – Unidade 01 Professora Márcia Melo Cap. I – Conceito e organização da arquitetura de computadores A arquitetura é a execução lógica dos programas do computador, visto do ponto de vista do programador. A organização se refere as unidades operacionais e as suas interconexões. Uma mesma arquitetura pode ser implementada por meio de diferentes organizações. A arquitetura pode ser implementada por diferentes organizações, e estabelece o modelo da organização. Os componentes são separados por suas características de uma maneira hierárquica, atuando em diferentes níveis. Arquitetura de von Neumann: Cada nível de hierarquia em um computador existe uma função e estrutura, que diz respeito a cada componente. Um computador deve ser capaz de processar dados, armazenar dados (temporariamente ou por períodos longos), movimentar dados internamente ou para o mundo externo (entrada e saída através de um periférico), controle das três características anteriores, através de um indivíduo utilizando o computador. Os principais componentes de um computador são: - Central de Processamento (processador ou CPU) que controla as operações e realiza as funções do processamento de dados; - Subsistema de memória, que compreende os meios de armazenamento de programas e para os dados dos programas existentes no computador; - Subsistemas de entrada e saída, que transferem dados entre o computador (ambiente interno) e o ambiente externo; - Subsistemas de interconexão, composto pelos mecanismos que estabelecem a comunicação entre a CPU, memória principal e dispositivos de entrada e saída. A CPU pode ser considerada o cérebro do computador, responsável por executar as tarefas e processar os dados, podendo ter um ou vários processadores, conhecido como processador multicore ou multi-núcleo. O dual core por exemplo, possui dois processadores. Os principais componentes da CPU são a unidade de controle, a unidade lógica e aritmética (ULA), e os registradores, se conectando todos estes através do barramento da CPU. A unidade de controle controla cada operação do CPU, decodificando as instruções do programa em execução, emitindo sinais de controle para o computador. A unidade aritmética executa funções de processamento de dados do computador, realizando operações aritméticas e lógicas do programa. Os registradores fornecem espaço de armazenamento interno para a CPU. As interconexões da CPU são as que permitem que todos esses aspectos da CPU se comunicarem entre si. Cap. II – Histórico e evolução dos computadores A CPU calcula algoritmos para simular o pensamento humano e executar funções. O primeiro computador da história se chamava ENIAC, foi construído em 1946, era enorme e consumia muita energia, sendo operado manualmente e se assemelhava as calculadoras atuais, sendo criado no período da segunda guerra mundial para fins militares. Os computadores antigos eram muito grandes, esquentavam muito, consumiam muita energia e quebravam com facilidade. Em 1958, surgiu a segunda geração de computadores, com a utilização de transistores ao invés de válvulas, sendo 100 vezes menores que estas e reduzindo o tamanho dos computadores, tornando-os mais rápidos, consumindo menos energia, e executando mais operações e com mais rapidez. A terceira geração surgiu em 1965, como principal inovação o uso de circuitos integrados, diminuindo o tamanho dos transistores e outros componentes eletrônicos dos computadores, reduzindo muito o consumo de energia, podendo cada vez mais utilizar mais componentes no mesmo chip. Em 1977 se iniciou a quarta geração, com o surgimento do microprocessador, sendo o ponto chave da produção de computadores, sendo produzidos em maior número, onde milhões de circuitos integrados puderam ser colocados em um único chip. A quinta geração surgiu em 1991 e segue até os dias atuais, com o advento dos microcomputadores, sendo usado por usuários comuns, não apenas por corporações. Surgiu a computação ubíqua: diferentes dispositivos conectados em todos os lugares de todas as formas, de modo tão transparente para o ser humano, em que não é possível perceber que eles estão lá. Houve uma enorme evolução das redes de comunicação e criação de dispositivos de bolso, como os celulares e tablets. O que era de um para um, passa a ser de um para muitos. Sistema de numeração e circuitos lógicos: os sistemas numéricos mais utilizados pela eletrônica digital são o decimal, binário e hexadecimal. A quantidade de algarismos de dado sistema é chamado de base. - O sistema decimal, cuja base é 10 e vai de 0 a 9, é comumente utilizado pelo ser humano, em que a adição de um algarismo o torna maior. - O sistema binário possui apenas dois algarismos: 0 e 1, sendo que sua base é 2. Pode ser representado por qualquer dispositivo que possui apenas 2 estados de operação ou estado possíveis, como ligado ou desligado, aberto ou fechado etc. Pode-se definir o aberto como 0 e fechado como 1. O sistema binário é utilizado internamente a um sistema digital. Este é o sistema mais utilizado no meio digital. - O sistema hexadecimal emprega 16 símbolos: de 0 a 9 e de A a F. Pode-se converter este sistema ao binário, de forma direta, tornando essa base uma maneira de ler a binária de forma mais compacta e legível. Circuitos lógicos e digitais: os circuitos digitais respondem a tensões de entrada que variam entre 0 e 1, respondendo como a lógica do circuito. Cada circuito responde a um determinado número de regras lógicas. São implementados utilizando circuitos integrados, com lógicas específicas. Cap. III – Projetando e visando o desempenho A quinta geração de computadores marca o surgimento do processamento paralelo – forma eficiente de trabalhar informações com ênfase na exploração de eventos simultâneos na execução de um programa. Consiste no uso simultâneo de várias unidades de processamento (CPUs) para realizar trabalhos computacionais, ultrapassando os limites tecnológicos de uma máquina. A organização dos hardwares pode ser dividida em multicomputadores, em que cada processador possui sua memória local, e multiprocessadores, em que os processadores compartilham sua memória entre si. Já os softwares que realizam esse processo podem ser divididos em fracamente acoplados, em que o software funciona como uma interface entre o ambiente e o humano, e os fortemente acoplados, em que as máquinas e os usuários são essencialmente independentes, interagindo quando necessário apenas, como no uso de impressoras e discos. O uso das múltiplas CPUs permite que o computador realize um problema matemático o quebrando em partes menores, em que cada pedaço é dividido em uma série de instruções ainda menores, distribuídas entre as CPUs para serem resolvidas todas ao mesmo tempo, aumentando a velocidade da resolução de problemas. Essa estratégia facilita as atividades que possuem grande número de dados e precisam ser trabalhadas rapidamente. Essa técnica é conhecida como pipeline. O multiprocessamento já é utilizado nos computadores de casa há algum tempo, e não apenas nos supercomputadores. Cada core, ou núcleo, é um processador do computador. Isso quer dizer que um dual core possui dois processadores, o Intel i7 possui 8 processadores, e assim por diante. Um dos processos mais utilizados é o que se conhece na indústria como linha de montagem pipeline, em que a CPU se divide em várias partes funcionais e distintas, cada uma correspondendo a uma determinada atividade. A execução de um programa é sequencial, uma atividade só iniciada após o término da outra. Existem dois modos de paralelismo para melhorar a execução de um computador: - Paralelismo em nível de hardware, obtido quando se replica unidades do processador para que elas funcionem em paralelo, reduzindo o tempo de execução dos programas; - Paralelismoem nível de instrução (ILP), em que as unidades do computador não são duplicadas, e sim melhor organizadas, para que não fiquem ociosas. Ela pode ser implementada através do pipeline, em que as instruções são realizadas simultaneamente em estágios diferentes; e através de um processador superescalar, em que há duplicidade de hardware e diferentemente da pipeline, as instruções são realizadas sem a necessidade de estarem em estágios diferentes. O superpipeline é uma técnica desenvolvida a partir do pipline, em que os estágios são quebrados em estágios ainda menores, para serem resolvidos. Opera da mesma maneira que o pipeline. A capacidade de processamento de um microprocessador se refere as instruções que podem ser resolvidas por segundo, sendo geralmente medida em floats (instruções de ponto flutuante), podendo ser de funções simples, duplas, quadruplas, ou até MIPs (milhões de instruções por segundo), sendo operações com números inteiros. Cap. IV – Evolução das arquiteturas Intel x86 X86 se chama assim pois os primeiros processadores da família eram terminados com a numeração 86, sendo uma estrutura muito antiga do final da década de 70. A principal mudança foi a do modo protegido, possibilitando a implantação da memória virtual, mecanismos de proteção e acesso a até 4gb de memória física. O 80-86 foi o primeiro da linha, acompanhado do 80-87 com um co-processador de ponto flutuante. O 80-386 foi o primeiro a utilizar 32 bits, os anteriores usavam barramentos de 16 bits. O Pentium foi o 80-486 que não podia ser registrado por esse nome. O Pentium 4 é o chip x86 atualmente mais rápido do mercado. Os chips Celeron são mais baratos que o Pentium, mesmo sendo baseado nestes. O Core 2 Duo suporta o x64, que possui dois núcleos. Em 2010 surgiram os cores i3, i5 e i7, que revolucionaram o mercado. Um sistema embarcado, ou embutido, é um sistema microprocessado em que o computador é dedicado ao dispositivo ou sistema que ele controla, não sendo de propósito pessoal, como os que possuímos em casa. Estes utilizam vários tipos de processadores, usando amplamente Power Pc, Arm, 8051, Code Fire, Cortex etc. Seus sistemas operacionais são de tempo real, que consomem menos memória e processamento, são mais estáveis e confiáveis, já que estes sistemas não possuem muita memória. Os processadores Arm são os mais vendidos do mercado. Questões: 1) Qual o nome da pessoa que idealizou o computador, onde seus conceitos são vistos até hoje? R: John von Newmann. 2) Quais as principais funções de um computador? R: Processamento, controle, armazenamento e movimentação de dados. 3) Por quais componentes uma CPU é subdividida? R: Unidade de controle, unidade lógica e aritmética, registradores, e interconexão da CPU. 4) Quais arquiteturas de máquinas surgiram com a evolução da 5ª geração de computadores? R: Superescalares e Superpipelines.