Prévia do material em texto
2ºAula ARQUITETURA DE COMPUTADORES Objetivos de aprendizagem Ao término desta aula, vocês serão capazes de: • conhecer a definição de Arquitetura de Computadores. • entender como os computadores são organizados. • saber como os computadores armazenam os dados. Olá, tudo bem? Chegamos a segunda aula da disciplina de Introdução a Engenharia de Software. Hoje, nós iremos abordar um pouco a respeito da Arquitetura de Computadores, que é uma parte da Ciência da Computação que estuda como os computadores são organizados. Nesta aula, vamos ver alguns tópicos principais da Arquitetura de Computadores, como a organização dos computadores. Bons estudos! Introdução à Engenharia de Software 16 1. Seções de estudo O que é arquitetura de computadores? 2. A organização de um computador 3. Armazenamento de dados 1 - O que é arquitetura de computadores? Para iniciar os nossos estudos, vamos ver o que significa a palavra “Arquitetura”: Arquitetura, segundo o dicionário 1 ARQUIT Arte e ciência de projetar e supervisionar a construção de edifícios ou outras estruturas que, por envolverem uma ordenação plástica aliada a concepções técnicas e funcionais, possam expressar os valores estéticos e as necessidades práticas das sociedades em seus diferentes momentos e, desse modo, abrigar os diversos tipos de atividades humanas; arquitetônica. 2 ARQUIT Conjunto das obras arquitetônicas realizadas em países, continentes, civilizações ou épocas diferentes. 3 ARQUIT Modo como se dispõem as partes ou os elementos de um edifício ou de um espaço urbano, tendo em vista a criação de espaços agradáveis de vivência e experimentação. 4 ARQUIT Conjunto de princípios, normas, materiais e técnicas usados para o planejamento, o projeto, a especifi cação, a execução e a fi scalização de obras ou espaços arquitetônicos. 5 Conjunto de conhecimentos sobre a arquitetura, sistematizados e elaborados ao longo de sua história. 6 FIG Estrutura, disposição e organização de um conjunto geralmente harmônico: A arquitetura do corpo humano. 7 FIG Boa forma arquitetônica: Um edifício sem arquitetura. 8 FIG Qualquer projeto cuja realização comporta uma série de meios ou operações; intenção, plano. 9 INFORM Organização interna dos componentes de um computador, com referência específi ca ao modo como se transmitem os dados. Fonte: ARQUITETURA. In: Dicionário Michaelis On-Line. s.d. Disponível em: <https://michaelis.uol.com.br/moderno-portugues/busca/portugues-brasileiro/ arquitetura/>. Acesso em 27 nov. 2018. Assim, podemos entender a arquitetura como a ciência que estuda a forma de construir e projetar prédios. Dizemos que um arquiteto tem como função projetar os prédios, de forma que sejam seguros e satisfaçam os futuros moradores, pois afinal de contas, ninguém quer morar em algo que não seja seguro ou desconfortável, não é mesmo? Também podemos usar a palavra arquitetura para descrever a forma de como foi projetado um edifício, sendo verificado a forma de como os componentes estão dispostos na construção, tais como: banheiro, cozinha, tubulações, salas, quartos, etc. Sendo que cada componente é projetado de forma a atender um objetivo: satisfazer os moradores da construção. Observe a próxima imagem, ela mostra os componentes de uma construção de uma basílica. Cada componente foi colocado nesse projeto para atender uma necessidade, seja por motivos estéticos ou de segurança, mas com o único objetivo: fazer uma construção segura, bonita e aconchegante. Figura 1 - Esquema conceitual que mostra as partes de uma construção de uma basílica. Fonte: Disponível em: <https://pt.wikipedia.org/wiki/Ficheiro:Basilica_ (arquitetura)_PT.svg>. Acesso em 26 nov. 2018. Podemos fazer um paralelo dessa última definição da arquitetura de prédios com a arquitetura de computadores. Assim, podemos dizer que arquitetura de computadores se refere à forma de como os componentes do computador estão distribuídos, para atender as necessidades do usuário. A arquitetura de computadores estuda absolutamente tudo referente aos componentes do computador, com vistas de aperfeiçoar a performance dos computadores, atendendo as demandas da nossa sociedade atual. Assim, essa área da Ciência da Computação é muito vasta. O que você verá nesta aula é um resumo de alguns temas principais da matéria. Mais detalhes sobre essa fascinante matéria, você verá na disciplina de Arquitetura de Computadores, ainda neste curso. Para começarmos, vamos ver como funciona a organização de um computador? 2 - A organização de um computador Podemos classificar os componentes de um computador de diferentes formas. A forma mais simples de classificação é a divisão entre hardware e software, sendo que classificamos como hardware todos aqueles componentes em que vemos e tocamos e o software como as instruções que o hardware irá executar. Podemos dividir o hardware em vários componentes, de acordo com a sua funcionalidade. Esse modelo de divisão é denominado de modelo de Von Neumann, criado na década de 1940 por John von Neumann, sendo um grande avanço no campo da informática. De 1940 até hoje, a maioria esmagadora das máquinas seguem o modelo criado por Neumann. Nesse modelo, os computadores possuem as seguintes partes (também denominados de sistemas), segundo Velloso (2011): • Unidade Central de Processamento (UCP); • Memória Principal; • Dispositivos de Entrada e Saída; 17 • Interconexão entre os subsistemas, denominado também de barramento. Figura 3 - Sistemas de um Computador. Fonte: Disponível em: <http://producao.virtual.ufpb.br/books/gilbertofarias/ introducao-a-computacao-livro/livro/livro.chunked/images/organizacao- computador/arquitetura_computador.png>. Acesso em 26 nov. 2018. A partir de agora, vamos detalhar de uma forma sucinta o que cada parte realiza para cumprir a sua parte na tarefa de fazer um computador funcionar. 2.1 - Unidade Central de Processamento A Unidade Central de Processamento, também chamada simplesmente pela sua sigla UCP, é considerada o “cérebro” de um sistema computacional, pois ele realiza as operações sobre os dados que são repassados para ele. (FOROUZAN; MOSHARRAF, 2011) Esse componente controla, dirige e processa todos os dados introduzidos e produz a saída, na forma desejada, com o auxílio de um programa previamente introduzido. Ela é construída para que ela seja capaz de realizar algumas operações, como se fosse uma calculadora, mas com mais algumas funcionalidades. Monteiro (2007), nos descreve algumas operações que podem ser realizadas em uma UCP, denominadas de primitivas: • Somar, subtrair, multiplicar ou dividir números - as operações aritméticas; • Mover um dado de um lugar para um outro local de armazenamento - denominado também de operações de movimentações de dados e; • Transferir um valor (ou dado) para um dispositivo de saída. A UCP tem os seus subcomponentes, sendo que cada um deles possui uma tarefa bem definida, para cumprir o papel geral do sistema. Vamos ver quais são: • Unidade Lógica Aritmética: essa unidade é responsável por fazer os cálculos do computador. Ela realiza operações de diversas formas, tais como: Operações Lógicas, Operações de deslocamento e Operações Aritméticas; • Registradores: são localizações de armazenamento rápido independentes, que mantêm dados temporariamente. Múltiplos registradores são necessários para facilitar a operação da CPU. Ele pode armazenar dados, instruções ou a posição atual do programa que está sendo executado (FOROUZAN; MOSHARRAF, 2011). Assim, os registradores atuam como a memória da UCP, armazenando os futuros dados a serem armazenados no sistema. • Unidade de Controle: atua como se fosse o “maestro” da UCP, controlando os demais subsistemas. Esse subsistemaenvia sinais de controle para os demais subsistemas da UCP. (FOROUZAN; MOSHARRAF, 2011) Figura 4 - Partes de uma Unidade Central de Processamento. Fonte: Disponível em: <http://www.bpiropo.com.br/graficos/FPC_AC20051205a.jpg>. Acesso em 26 nov. 2018. Agora que vimos como funcionam os subcomponentes da Unidade Central de Processamento, vamos ver como funciona a memória principal. 2.2 - Memória Principal Para que o computador possa processar os dados, é necessário que tenhamos algum lugar para armazenar esses dados a serem processados. Assim, temos a memória principal, que tem como função armazenar os dados. Uma definição mais formal pode ser esta: Consiste em um conjunto de localizações de armazenamento, cada uma com um identificador único, chamado de endereço. Dados são transferidos da e para a memória em grupos de bits chamados palavras. Uma palavra pode ser de 8, 16, 32 ou 64 bits (e crescendo). Se a palavra tiver oito bits, ela é denominada byte. (FOROUZAN; MOSHARRAF, 2011, p. 93) A maioria dos chips da memória principal são do tipo RAM (Random Access Memory). É uma estrutura que permite o acesso aos dados de maneira aleatória, assim podemos acessar uma determinada posição da memória de forma direta, sem a necessidade de visitarmos as posições anteriores dele. A memória RAM permite a leitura e a escrita de dados, porém, ele somente retém as informações enquanto há energia nos chips. Logo, se o computador for desligado, os dados que estão armazenados na memória RAM são perdidos. É o que chamamos de memória volátil. (FOROUZAN; MOSHARRAF, 2011) Figura 5 - Memória RAM. Introdução à Engenharia de Software 18 Fonte: Disponível em: <https://commons.wikimedia.org/wiki/File:Memoria-ram_(1). jpg>. Acesso em 26 nov. 2018. Temos também a memória ROM (Read-Only Memory), que permite apenas a leitura dos dados (a gravação é permitida apenas com técnicas especiais) de forma aleatória e a garantia de permanência dos dados na memória, independente se o chip está energizado ou não. Chips ROM são usados para armazenar instruções de carregamento de sistemas operacionais, para realizar o processo denominado de boot. Figura 6 - Exemplo de chip de memória ROM. Fonte: Disponível em: <https://commons.wikimedia.org/wiki/File:Mos6581.svg>. Acesso em 26 nov. 2018. Agora que você viu como funcionam as memórias, vamos ver como funciona o sistema de entrada e saída. 2.3 - Subsistema de Entrada e Saída Esse subsistema tem como função armazenar dados e informações de maneira persistente, além de possibilitar a interação com o mundo externo, oferecendo formas de interação (FOROUZAN; MOSHARRAF, 2011). Os equipamentos que fazem parte desse subsistema são classificados em duas categorias: Dispositivos sem armazenamento: Permite que os sistemas de CPU e memória se comuniquem com o mundo externo, mas não há o armazenamento de informações. São exemplos: a impressora, teclado, mouse e monitor de vídeo; Dispositivos de armazenamento: Permite o salvamento de dados e informações de maneira persistente (não-volátil, ao contrário do que acontece com a memória RAM). Esses dispositivos são mais baratos que uma memória RAM tradicional, porém mais lentos. São exemplos disso, os pendrives, CDs, DVDs, Discos Magnéticos e Discos de Estado Sólido. (FOROUZAN; MOSHARRAF, 2011) Figura 7 - Exemplos de dispositivos do sistema de entrada e saída. Fonte: Disponível em: <https://www.fl ickr.com/photos/143880266@ N08/29625106320>. Acesso em 26 nov. 2018. Mas, para que os três subsistemas funcionem de maneira adequada, precisamos que os três subsistemas se comuniquem, para que a memória receba dados que serão processados pela UCP e que serão salvos novamente nos dispositivos de Entrada e Saída. Para isso, temos os barramentos, que veremos a seguir. 2.4 - Barramento Tanenbaum (2007) define barramento como um caminho elétrico entre vários dispositivos. Pode ser usado no interior da UCP para transportar dados de e para a ULA ou podem ser externos à UCP para conectá-la a memória ou dispositivos de E/S. A definição mostrada aqui nos dá uma noção dos locais onde os barramentos podem ser colocados. Além de interligar os três sistemas que compõem um computador, ele interliga as partes componentes da Unidade Central de Processamento. Em cada situação, há um barramento com características diferentes. O barramento local (barramento do processador) é o mais importante de todos eles. Fica localizado na UCP e através dele o microprocessador se comunica com a memória cache, com a memória DRAM e com os circuitos que formam o chipset. Esse barramento local tem 3 tipos: • Barramento de Dados: os dados são transmitidos ou recebidos pelo processador, enviados para a memória ou dispositivos de Entrada/Saída, e recebidos da memória. • Barramento de Endereços: serve para que o processador especifique qual é a posição de memória a ser acessada, ou qual é o dispositivo de entrada ou saída a ser ativado. • Barramento de Controle: serve para que o processador especifique se a operação diz respeito à memória ou Entrada/ Saída (E/S ou I/O-Input/Output), ou se a operação é uma leitura ou gravação (Read/Write). Agora que você sabe como funciona de forma sucinta as partes do computador, vamos agora ver como funciona os sistemas de numeração. 3 - Armazenamento de dados Agora, vamos ver como o computador trata e lida com os dados. Para explicarmos de uma forma bastante elementar, o 19 computador armazena dados com apenas dois dígitos: zero e um. A explicação para isto é para facilitar a representação dos dados. Vamos a alguns exemplos: • Em um HD, que é um disco magnético, cada trilha possui partes que são magnetizadas, enquanto que existem partes que não são. Essas partes que são magnetizadas são entendidas como valor 1, enquanto que as partes que não são magnetizadas são entendidas com valor 0. • Em um CD ou DVD, a superfície é gravada com um laser. As partes que são “queimadas” são entendidas com o valor 1, enquanto que as partes que não são submetidas ao feixe passam a ter o valor zero; • Os dados são transmitidos dentro do computador através de pulsos elétricos. Quando há energização, entende-se que está sendo transmitido o valor 1, enquanto que o inverso disso é entendido que está sendo transmitido o valor zero. (IDOETA; CAPUANO, 2010) O sistema de numeração que o computador entende é denominado de sistema binário e seus números são denominados de bits. Cada dígito 0 ou 1 que o computador processa é denominado de bit. Os bits podem ser agrupados para formar dados maiores. Um conjunto de oito bits é denominado de byte ou palavra. A esta altura, você deve estar perguntando: Se o computador entende apenas bits, como podemos processar números e textos? Para a questão dos números, a resposta é simples: O sistema decimal permite a conversão para o sistema binário e vice-versa. Assim, os computadores convertem o número para binário para fazer o processamento e quando o processamento estiver pronto, é feito a conversão do número binário para o nosso sistema decimal (MONTEIRO, 2010). Vamos ver mais detalhes a respeito dessa conversão na disciplina de Arquitetura de Computadores. Para textos, a resposta é a mesma: É feita uma conversão para o seu respectivo valor em bits. Mas, não são contas que definem qual é este valor. é necessário uma tabela de conversão, onde é atribuído um valor em bits para cada letra (MONTEIRO, 2010). Para isso, surgiu a tabela ASCII (American Standard Code for Information Interchange), que é uma tabela que define um código de 8 bits (e o seu número decimal correspondente) para cada letra representada. Inicialmente, apenas 128 caracteres eram representadas nesta tabela. Mas depois, ela foi expandida para256 caracteres. Assim, quando digitamos uma letra, o computador converte essa letra para a sequência de bits correspondente ao seu número na tabela ASCII. A seguir, reproduzimos a tabela ASCII. Figura 8 - Tabela ASCII. Fonte: Disponível em: <https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/ASCII-Table.svg/946px-ASCII-Table.svg.png>. Acesso em 26 nov. 2018. Introdução à Engenharia de Software 20 E, com isso, finalizamos a nossa aula. A partir da próxima aula, vamos estudar os aspectos do desenvolvimento de software propriamente dito. Até logo! Retomando a aula Chegamos ao fi nal da nossa segunda aula, vamos relembrar? 1 - O que é arquitetura de computadores? Você viu aqui que a arquitetura de computadores se refere à forma de como os componentes do computador estão distribuídos, para atender as necessidades do usuário. A arquitetura de computadores estuda absolutamente tudo referente aos componentes do computador, com vistas de aperfeiçoar a performance dos computadores, atendendo as demandas da nossa sociedade atual. 2 - A organização de um computador Nesta seção, você viu os sistemas que integram um computador, que são: A Unidade Central de Processamento - CPU - composto também pela Unidade Lógica Aritmética - ULA, Registradores e Unidade de Controle, a Memória Principal, o sistema de Entrada e Saída e os Barramentos. 3 - Armazenamento de dados Nesta seção, vimos como os computadores enxergam os dados. Os computadores enxergam os dados como um conjunto de bits, que são dígitos apenas com os valores 0 ou 1. A representação dos valores foi escolhida para facilitar o armazenamento e o processamento dos dados. Você viu também que números e letras são convertidos para uma série de bits que representa o seu valor. LAUDON, C.; LAUDON, P. Sistemas de Informação Gerenciais. 7. ed. São Paulo, Pearson Prentice Hall, 2007. MONTEIRO, A.. Introdução à organização de computadores. 5. ed. Rio de Janeiro: LTC, 2007. STALLINGS, Willian. Arquitetura e Organização de Computadores. 8. ed. São Paulo: Pearson, 2010. TANENBAUM, S. Organização Estruturada de Computadores. 5. ed. Rio de Janeiro: LTC, 2007. VELLOSO, Fernando de Castro. Informática: Conceitos básicos. 7. ed. Rio de Janeiro: Campus, 2004. Vale a pena ler Vale a pena 4DEVS. Tabela ASCII. s.d. Disponível em: <https:// www.4devs.com.br/tabela_ascii>. Acesso em 27 nov. 2018. Vale a pena acessar Minhas anotações