AULA 2 - Microprocessadores - Graduação
Aula 1 – Introdução à arquitetura de computadores Objetivos Compreender os conceitos básicos relacionados aos computadores, seus componentes e à forma como os programas são executados. 1.1 Computador Um computador é uma máquina composta de partes eletrônicas e eletromecânicas (hardware) capaz de coletar, manipular e fornecer os resultados de informações para um ou mais objetivos. Para ser considerado um computador ele precisa ter processador, memória e dispositivos de entrada e/ou saída, que podem ser utilizados de modo eficiente na solução dos tipos de problemas os quais possuem uma grande complexidade ou um grande volume de dados. A arquitetura de computadores se refere ao comportamento de um sistema computacional visível para o programador, ou seja, aos aspectos relacionados com a execução lógica de um programa. A organização de computadores se refere às unidades estruturais e seus relacionamentos lógicos e eletrônicos (STALLINGS, 2010). Os computadores eletrônicos digitais recebem essa denominação porque são desenvolvidos a partir de circuitos eletrônicos e são capazes de realizar cálculos, operações lógicas e movimentação de dados entre o processador, seus dispositivos de armazenamento e de entrada e saída. Os sistemas digitais, em seu nível mais baixo, representam as informações somente através de dígitos. Num nível mais alto, estes dígitos codificados formam diferentes combinações capazes de representar qualquer tipo de informação. As informações normalmente são representadas internamente por sinais elétricos binários que podem ser somente os valores 0 ou 1, correspondendo a estar ligado ou desligado, ter energia ou não num circuito, onde 5 volts representam o dígito 1 e 0 volt representa o dígito 0. hardware É a parte física do computador formada por componentes e circuitos eletrônicos. O que diferencia um computador de um equipamento eletrônico é a capacidade de poder executar qualquer programa que seja carregado em sua memória. Aula 1 - Introdução à arquitetura de computadores 15 e-Tec Brasil Desta forma, o computador digital é um sistema digital binário, pois a informação é representada nele somente através dos dígitos binários 0 e 1. Um computador é capaz de realizar basicamente quatro operações (STALLINGS, 2010): a) Processamento de dados. b) Armazenamento de dados. os resultados sejam imediatos, o computador precisa armazenar temporariamente, pelo menos, alguma parte dos dados que estão sendo trabalhados. A memória é um dispositivo eletrônico que tem a capacidade de armazenar essas informações e fornecê-las quando solicitadas. O computador precisa também ser capaz de movimentar os dados entre ele e o mundo exterior. Um sistema computacional contém dispositivos que são usados como origem ou destino dos dados, denominados periféricos. Quando os dados são recebidos ou enviados a esses periféricos o processo é conhecido como entrada/saída (E/S). O computador é o responsável por processar os dados e transformá-los em informação, através da execução de instruções em linguagem de máquina (baixo nível) que o processador é capaz de executar. Para que um problema possa ser resolvido pelo computador, é necessário criar um algoritmo computacional, composto por uma sequência de passos ou ações que determinam a solução do problema e a respectiva codificação, usando uma linguagem de alto nível, que é mais fácil de ser escrita. Essa codificação transforma o algoritmo num programa (software). As principais etapas de um algoritmo para a obtenção de uma solução computacional são: a) Elaboração do algoritmo computacional referente ao problema. b) Codificação do algoritmo numa linguagem de alto nível (programa fonte). c) Tradução ou compilação do programa fonte para o código correspondente em linguagem de máquina (programa objeto). d) Execução do programa objeto (executável) pelo computador. Atualmente, a grande maioria dos programas é desenvolvida utilizando uma linguagem de alto nível, a qual é traduzida para linguagem de máquina através da interpretação ou da compilação do programa fonte. Na interpretação, cada instrução expressa em linguagem de alto nível é interpretada por um programa específico que está em execução (interpretador). Este, por sua vez, executa a instrução correspondente, através do hardware do computador. linguagem de máquina É a comunicação em forma de códigos binários referente aos comandos que os circuitos eletrônicos do processador podem executar. software São os programas com sequência de instruções que serão interpretadas e executadas pelo processador. Aula 1 - Introdução à arquitetura de computadores 17 e-Tec Brasil No processo de compilação, um programa fonte, escrito em linguagem de alto nível, é transformado em instruções básicas de um processador. Essas instruções básicas são executadas diretamente pelos circuitos eletrônicos do computador. Um programa escrito numa linguagem de baixo nível é composto de um conjunto de instruções simples executadas pelo processador. Para que um computador possa executar um programa é necessário que ele esteja armazenado na memória. 1.2 O modelo de Von Neumann Os computadores digitais convencionais baseiam-se no modelo idealizado por Von Neumann (Figura 1.2), em 1946, baseado em cinco componentes principais (MURDOCCA; HEURING, 2000): • Unidade de entrada – provê instruções e dados ao sistema. • Unidade de memória – armazena os dados do sistema. • Unidade lógica e aritmética – processa os dados. • Unidade de controle – controla a execução das instruções e o processamento dos dados. • Unidade de saída – apresenta os resultados dos dados processados. Figura 1.2: Modelo Von Neumann de um computador digital Fonte: CTISM, adaptado de Murdocca; Heuring, 2000 e-Tec Brasil 18 Arquitetura de Computadores O aspecto mais importante do modelo de Von Neumann é o programa armazenado na memória do computador, juntamente com os dados a serem processados. Após o programa ser armazenado na memória, em uma série de endereços consecutivos, o processador inicia a execução do programa. O primeiro endereço de um programa contém, necessariamente, uma instrução para o processador. Para realizar o processamento, a unidade de controle busca a instrução que estiver armazenada no primeiro endereço de memória onde se encontra o programa. Em seguida, essa instrução é decodificada, ou seja, o processador define o código de operação daquela instrução em particular. O passo seguinte é a execução da instrução, seguido de outro passo, o armazenamento do resultado, caso seja necessário. Nesse processo de busca, decodificação e execução, os dados e as instruções são armazenados dentro do processador em registradores. Este ciclo se repetirá até que a instrução a ser executada seja a de encerrar o programa. 1.3 O modelo de barramento do sistema Atualmente,o modelo de Von Neumann foi aperfeiçoado para outro tipo de barramento de sistema, formado por (MURDOCCA; HEURING, 2000): a) CPU (Central Processing Unit) – é a Unidade Central de Processamento ou processador, composta pela unidade de controle, unidade lógica e aritmética e registradores. b) Memória – armazena os dados e as instruções. c) Entrada e Saída (E/S) – agrupa as unidades de entrada e saída numa única unidade. Esses componentes se comunicam através de um barramento do sistema, composto por: a) Barramento de dados – transporta a informação, movendo dados entre os componentes do sistema. Aula 1 - Introdução à arquitetura de computadores 19 e-Tec Brasil b) Barramento de endereços – identifica para onde a informação está sendo enviada. c) Barramento de controle – descreve a forma como a informação está sendo transmitida. Os barramentos são um conjunto de fios agrupados por função. Um barramento de dados de 64 bits tem 64 fios individuais, onde cada fio transporta um bit da informação. Já um barramento de endereços de 32 bits, tem em cada fio o bit necessário para determinar o endereço onde vai ler ou escrever a informação e pode acessar qualquer endereço de 0 a 4 GB, pois 32 bits permitem acessar 4.294.967.296 endereços distintos. Já o barramento de controle possui informações que determinam se a operação será de leitura ou escrita e, se será na memória ou nos dispositivos de E/S. A Figura 1.3 apresenta o modelo de barramento do sistema de um computador. 1.4 Sinal de clock Para coordenar as atividades e a comunicação entre os componentes básicos que compõem o sistema de um computador existe um componente eletrônico que gera um sinal de clock, o qual alterna entre as tensões altas e baixas (0 s e 1 s). bit É a menor unidade num sistema digital e pode assumir o valor 0 ou 1. e-Tec Brasil 20 Arquitetura de Computadores A frequência do clock é medida em hertz (Hz) ou ciclos por segundo. Um sinal de 1 Hz alterna valores altos e baixos, uma vez em cada segundo. Já um sinal de 1 MHz alterna esses valores um milhão de vezes por segundo. O período de clock é o tempo decorrido entre duas repetições sucessivas do clock. O período é o inverso da frequência. Uma frequência de 1 MHz tem um período de clock de 0,000001 s ou 1 µs (1 microssegundo). Um computador com processador cuja frequência é de 2 GHz consegue realizar 2 bilhões de ciclos por segundo, e pode-se dizer, que ele consegue executar 2 bilhões de instruções por segundo. Cada instrução demora 0,0000000005 segundos ou 0,5 nanossegundos para ser executada. Na prática, um processador não consegue executar uma instrução por ciclo, pois as instruções são complexas e, na maioria das vezes, elas necessitam vários ciclos para sua execução completa, mas como eles podem executar mais de uma instrução simultaneamente, ele consegue executar um pouco menos de 2 bilhões de instruções por segundo. Num sistema digital, o período do sinal de clock é a menor unidade de tempo perceptível. Em sistemas digitais, todas as ações ocorrem em intervalos de tempo que são múltiplos inteiros do período do clock da máquina. 1.5 Níveis das máquinas Um sistema computacional é um sistema complexo que pode ser visto sob diferentes perspectivas ou níveis, desde o nível mais alto (do usuário) até o nível mais baixo (dos transistores). Um computador é projetado como uma série de níveis, e cada um deles é construído sobre seus antecessores. Nesse modelo, cada nível representa uma abstração do subsequente. Ao utilizar um determinado nível não há a necessidade de saber como o nível abaixo funciona, apenas é necessário saber o que se pode fazer com as funcionalidades que o nível oferece. Os computadores modernos são organizados normalmente em vários níveis (Figura 1.4). A seguir é apresentada uma organização em sete níveis (MURDOCCA; HEURING, 2000): Aula 1 - Introdução à arquitetura de computadores 21 e-Tec Brasil Figura 1.4: Níveis de máquina num computador moderno Fonte: CTISM, adaptado de Murdocca; Heuring, 2000 a) Nível do usuário ou programa aplicativo – nele o usuário interage com o computador usando programas como editores de texto, planilhas, jogos ou programas que acessam a internet. b) Nível da linguagem de alto nível – nesse nível o programador desenvolve os programas, aplicativos e sistemas através de uma linguagem de programação de alto nível como C, Java ou Pascal (Delphi). c) Nível da linguagem de montagem (de máquina) – esse é o nível onde as instruções são interpretadas e executadas pelo processador. Os programas desenvolvidos em linguagens de alto nível são traduzidos para uma linguagem de montagem ou Assembler, que apresenta um relacionamento direto com as instruções que o processador consegue executar. d) Nível de controle – aqui a unidade de controle, que está dentro do processador, efetua as devidas transferências de dados entre os registradores, memória e dispositivos de entrada e saída. Essa transferência é feita através de sinais de controle por um circuito lógico. e-Tec Brasil 22 Arquitetura de Computadores e) Nível de unidades funcionais – nesse nível os registradores internos da CPU, a unidade lógica e aritmética e, a memória do computador é organizada sob a forma de unidades funcionais, de acordo com a função que desempenham para realizar as transferências de dados entre estas unidades funcionais. f) Portas lógicas – as portas lógicas implementam o nível mais baixo de funcionamento de um computador. As unidades funcionais do computador são desenvolvidas usando portas lógicas. g) Transistores e fios – este é o nível mais baixo do computador formado por componentes eletrônicos e fios. As portas lógicas são implementadas usando transistores e fios de conexão. 1.6 Sistema de computador típico Um computador de mesa (desktop) típico apresenta uma configuração com um gabinete contendo a fonte de alimentação, uma placa-mãe com processador, memória, controlador de vídeo, áudio e rede, uma unidade de disco rígido (HD – Hard Drive), unidade de disco ótico (DVD ou Blu-Ray), conectados a um monitor (LCD ou LED), um teclado, um mouse e uma caixa de som. A Figura 1.5 apresenta um computador de mesa típico. Figura 1.5: Computador típico Fonte: CTISM Portas lógicas São componentes eletrônicos básicos usados em circuitos eletrônicos que implementam as operações lógicas básicas para a eletrônica digital. Aula 1 - Introdução à arquitetura de computadores 23 e-Tec Brasil 1.7 Tipos de computadores Os principais tipos de computadores disponíveis atualmente são (TANENBAUM, 2007): a) Computador descartável – são computadores desenvolvidos num único chip e são usados em chips de RFID (Radio-Frequency IDentification) em etiquetas de produtos e em cartões de felicitações para, normalmente, tocar uma música. Esses dispositivos custam menos de US$ 1,00. b) Microcontrolador – são computadores embutidos em dispositivos como eletrodomésticos, carros, relógios, telefones, equipamentos médicos e militares. São computadores pequenos desenvolvidos para atender uma necessidade específica. c) Computador de jogos – são os vídeo games. São computadores normais, com capacidade de som e recursos gráficos especiais, mas com software limitado e pouca capacidade de expansão. d) Computador portátil – são computadores completos, mas com dimensões reduzidas e limitações quanto ao tamanho da tela, teclado, conexões com periféricos e capacidade de expansão. Nessa categoria, também se enquadram os smartphones, os tablets, os PDAs (Personal Digital Assistant) e os netbooks. e) Computador pessoal – são os computadores convencionais usados tanto nas residências quanto nas empresas para as mais diversas atividades, incluindo jogos, acesso à internet e aplicativos. Os computadores pessoais podem ser os PC (Personal Computer) compatíveis produzidos por inúmeras empresas no mundo todo, ou ainda, os Mac da Apple. No topo dos modelos de computadores pessoais, estão as chamadas estações de trabalho, que nada mais são do que um computador pessoal com grande poder de processamento. f) Servidores – são computadores pessoais ou estações de trabalho que são utilizados como servidores de rede. Os servidores, normalmente, são desenvolvidos para suportar um número maior de processadores, mais conexões de rede, mais espaço de armazenamento em disco e seus componentes permitem que o mesmo fique ligado de forma ininterrupta. e-Tec Brasil 24 Arquitetura de Computadores g) Conjunto de estações de trabalho ou cluster – são vários computadores pessoais ou estações de trabalho, conectados por uma rede de alto desempenho, executando um software especial que permite a todas as máquinas trabalharem juntas em uma única tarefa, como se fosse um único supercomputador. h) Mainframes – são grandes computadores, descendentes diretos dos computadores da década de 1960. Eles podem manipular e processar um grande volume de dados e ter milhares de conexões simultâneas. Seu uso é adequado para empresas que há décadas trabalham com programas dessa natureza como os bancos, por exemplo. i) Supercomputador – é um computador com altíssimo desempenho de processamento e grande capacidade de memória, para aplicações que exigem cálculos complexos e tarefas intensivas. São construídos com milhares de processadores interconectados por um barramento específico. 1.8 Unidades métricas nos sistemas
computacionais
Os computadores digitais processam a informação através de bits. Um bit é a menor unidade num sistema digital e pode assumir o valor 0 ou 1. O agrupamento de 8 bits forma um byte e pode armazenar um valor numérico de 0 a 255 ou representar uma letra. Para medir o tamanho das memórias, discos, arquivos e banco de dados a unidade básica de medida é o byte e os seus múltiplos são 210. O Quadro 1.1 apresenta as unidades de medidas de armazenamento e a quantidade de bytes. Quadro 1.1: Unidades de medida de armazenamento (em bytes) Expoente Unidade Abreviatura Valor explícito 20 byte 1 B 1 byte ou 8 bits 210 kilobyte 1 KB 1.024 bytes 220 megabyte 1 MB 1.048.576 bytes ou 1024 KB 230 gigabyte 1 GB 1.073.741.824 bytes ou 1024 MB 240 terabyte 1 TB 1.099.511.627.776 bytes ou 1024 GB 250 petabyte 1 PB 1.125.899.906.842.624 bytes ou 1024 TB 260 exabyte 1 EB 1.152.921.504.606.846.976 bytes ou 1024 PB 270 zetabyte 1 ZB 1.180.591.620.717.411.303.424 bytes ou 1024 EB 280 yotabyte 1 YB 1.208.925.819.614.629.174.706.176 bytes ou 1024 ZB Fonte: Autores O maior supercomputador, em junho de 2012, é o Sequoia, desenvolvido pela IBM com 1.572.864 processadores, em 98.304 CPUs Power BQC 16 cores a 1.60 GHz, com 1.572.864 GB de memória, com sistema operacional Linux. Para saber mais sobre a lista com os 500 maiores supercomputadores, acesse: http://www.top500.org Aula 1 - Introdução à arquitetura de computadores 25 e-Tec Brasil Para medir a taxa de transferência de informações, as unidades de medida usadas são baseadas na quantidade de bits por segundo e seus múltiplos são 103 . O Quadro 1.2 apresenta as unidades de medidas de transferência de dados e a quantidade de bits por segundo. Quadro 1.2: Unidades de medida de transferência (em bits por segundo) Expoente Unidade Abreviatura Valor explícito 100 bit 1 bps 1 bit por segundo 103 kilobit 1 Kbps 1 000 bits por segundo 106 megabit 1 Mbps 1 000 000 bits por segundo 109 gigabit 1 Gbps 1 000 000 000 bits por segundo 1012 terabit 1 Tbps 1 000 000 000 000 bits por segundo 1015 petabit 1 Pbps 1 000 000 000 000 000 bits por segundo 1018 exabit 1 Ebps 1 000 000 000 000 000 000 bits por segundo 1021 zetabit 1 Zbps 1 000 000 000 000 000 000 000 bits por segundo 1024 yotabit 1 Ybps 1 000 000 000 000 000 000 000 000 bits por segundo Fonte: Autores Alguns dispositivos apresentam a sua taxa de transferência em bytes por segundo. Observe que deve haver uma conversão dividindo por 8 a quantidade em bits por segundo. O Quadro 1.3 a seguir apresenta a equivalência entre bits por segundo (bps ou bits/s) e bytes por segundo (Bps ou B/s). Quadro 1.3: Equivalência de bits por segundo para bytes por segundo Expoente Unidade Abreviatura Valor nominal Equivalência bits/s 20 byte por seg. 1 B/s 1 byte/s 8 bp/s 210 kilobyte por seg 1 KB/s 1024 bytes/s 8 Kbp/s 220 megabyte por seg 1 MB/s 1.048.576 bytes/s 8 Mbp/s 230 gigabyte por seg 1 GB/s 1.073.741.824 bytes/s 8 Gbp/s Fonte: Autores Para medir o desempenho dos computadores e o tempo de execução das instruções, as unidades de medida usadas são baseadas na frequência dos computadores em hertz, seus múltiplos são 103 . O tempo é medido em segundos e seus múltiplos são 10-3. O Quadro 1.4 apresenta as unidades de medidas de frequência e o Quadro 1.5 apresenta as unidades de tempo de execução. e-Tec Brasil 26 Arquitetura de Computadores Quadro 1.4: Unidades de medida de frequência (em hertz) Expoente Unidade Abreviatura Valor explícito 100 hertz 1 Hz 1 Hz 103 kilohertz 1 kHz 1 000 Hz 106 megahertz 1 MHz 1 000 000 Hz 109 gigahertz 1 GHz 1 000 000 000 Hz 1012 terahertz 1 THz 1 000 000 000 000 Hz 1015 petahertz 1 PHz 1 000 000 000 000 000 Hz Fonte: Autores Quadro 1.5: Unidades de medida de tempo de execução (em segundos) Expoente Unidade Abreviatura Valor explícito 100 segundo 1 s 1 s 10-3 milissegundo 1 ms 0,001 s 10-6 microssegundo 1 µs 0,000 001 s 10-9 nanossegundo 1 ns 0,000 000 001 s 10-12 picossegundo 1 ps 0,000 000 000 000 001 s 10-15 femtossegundo 1 fs 0,000 000 000 000 000 001 s Fonte: Autores Para medir o tamanho dos transistores que formam um processador ou um chip são usadas as unidades micrômetro ou micron (µm) e nanômetro (nm). Para se ter a ideia do tamanho, nos processadores mais modernos, um transistor mede 22 nm, enquanto que um fio de cabelo tem espessura de 70 a 80 µm, ou seja, um transistor é aproximadamente 3.500 vezes menor que a espessura de um fio de cabelo. O Quadro 1.6 apresenta as unidades de medida de tamanho para os transistores: Quadro 1.6: Unidades de medida de tamanho para transistores Expoente Unidade Abreviatura Valor explícito 100 metro 1 m 1 m ou 1 000 mm 10-3 milímetro 1 mm 0,001 m ou 1 mm 10-6 micrometro 1 µm 0,001 mm 10-9 nanômetro 1 nm 0,000 001 mm Fonte: Autores Aula 1 - Introdução à arquitetura de computadores 27 e-Tec Brasil Resumo Nesta aula, você conheceu os principais conceitos relacionados com os componentes de um computador, o modo como eles interagem e como a informação é processada. Viu também que o processador só consegue processar uma informação que está na memória principal e que todas as informações são transformadas em 0s e 1s para serem manipuladas na unidade lógica e aritmética da CPU. Por fim, aprendeu que existem diferentes tipos de computadores, de acordo com sua finalidade e conheceu as diferentes unidades métricas usadas em sistemas computacionais. Atividades de aprendizagem 1. O que os computadores atuais têm em comum com os computadores das décadas passadas? 2. O que é necessário para um equipamento ser considerado um computador? 3. Qual a diferença entre um computador, uma calculadora e um DVD player?
| << Página da disciplina | < Introdução | Aula 2 - Arquitetura básica | O Processador > |
|---|