Baixe o app para aproveitar ainda mais
Prévia do material em texto
ARQUITETURA DE COMPUTADORES A Faculdade Multivix está presente de norte a sul do Estado do Espírito Santo, com unidades presenciais em Cachoeiro de Itapemirim, Cariacica, Castelo, Nova Venécia, São Mateus, Serra, Vila Velha e Vitória, e com a Educação a Distância presente em todo estado do Espírito Santo, e com polos distribuídos por todo o país. Desde 1999 atua no mercado capixaba, destacando-se pela oferta de cursos de graduação, técnico, pós-graduação e extensão, com qualidade nas quatro áreas do conhecimento: Agrárias, Exatas, Humanas e Saúde, sempre primando pela qualidade de seu ensino e pela formação de profissionais com consciência cidadã para o mercado de trabalho. Atualmente, a Multivix está entre o seleto grupo de Instituições de Ensino Superior que possuem conceito de excelência junto ao Ministério da Educação (MEC). Das 2109 instituições avaliadas no Brasil, apenas 15% conquistaram notas 4 e 5, que são consideradas conceitos de excelência em ensino. Estes resultados acadêmicos colocam todas as unidades da Multivix entre as melhores do Estado do Espírito Santo e entre as 50 melhores do país. MISSÃO Formar profissionais com consciência cidadã para o mercado de trabalho, com elevado padrão de quali- dade, sempre mantendo a credibilidade, segurança e modernidade, visando à satisfação dos clientes e colaboradores. VISÃO Ser uma Instituição de Ensino Superior reconhecida nacionalmente como referência em qualidade educacional. R E I TO R GRUPO MULTIVIX R E I 2 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 3 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 BIBLIOTECA MULTIVIX (Dados de publicação na fonte) Professor Douglas Campos de Souza Arquitetura de computadores / SOUZA, D.C. - Multivix, 2022 Catalogação: Biblioteca Central Multivix 2020 • Proibida a reprodução total ou parcial. Os infratores serão processados na forma da lei. 4 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 LISTA DE FIGURAS Sistema numérico 11 Função E (AND): representação de circuito eletrônico com chaves 22 Função E (AND): simbologia e tabela verdade 22 Função OU (OR): representação DE circuito eletrônico com chaves 23 Função OU (OR): simbologia e tabela verdade 23 FUNÇÃO NÃO (NOT): Representação DE circuito eletrônico com chaves 24 Função NÃO (NOT): simbologia e tabela verdade 24 Estrutura genérica de um circuito sequencial 27 Sistema-base de um computador 32 Funções básicas de um sistema computacional 35 Tipos de operações em um sistema computacional 36 Modelo computacional de Von Neumann 38 Modelo computacional de Harvard 39 Características de algumas portas lógicas básicas 43 Função OU EXCLUSIVA a partir de portas lógicas E (AND) e OU (OR) 44 Circuito lógico formado por portas E / OU e sua função de saídas 45 Estrutura de um computador 49 Elementos de um processador (CPU) 51 ULA – Modelo simplificado 52 Barramentos do sistema 55 Elementos de uma unidade de controle 57 Modelo de uma Unidade de Controle de um processador 58 Registrador de flags 62 Tipos de barramentos de um sistema computacional 63 Controladora de comunicação de dispositivos de entrada e saída (E/S) 66 Ciclo de instrução em um processador 72 Ciclo indireto de instrução 73 Fluxo de dados na etapa de busca 81 Tipos de transferência de dados de um barramento 82 Transferência de dados: operação de leitura/escrita 83 Transferência de dados em bloco 83 5 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Hierarquia de memória 92 Acesso e endereçamento de memória 94 Estrutura interna de uma memória SRAM 98 Memória cache em um sistema computacional 101 Registrador de flags 106 Processador com dois pipelines 111 Processador com dois pipelines 112 Formato de um banco de registradores 113 Tipos de Arquiteturas de multiprocessadores 118 Arquitetura do tipo SISD 119 Arquitetura do tipo SIMD 119 Arquitetura do tipo MISD 120 Arquitetura do tipo MIMD 121 Topologia de rede local do tipo estrela 123 Tipos de estruturas baseadas na arquitetura MIMD 124 Arquitetura UMA 125 Arquitetura NUMA 126 LISTA DE QUADROS Tabela de conversão entre sistemas numéricos 16 Tabela de conversão entre sistemas numéricos 17 Formato das instruções de um processador 75 Operação do pipeline em uma instrução 78 Desvio condicional atuando na operação do pipeline em uma instrução 79 Quadro 1 – Texto do recurso (atividade) 106 6 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 1UNIDADE SUMÁRIO APRESENTAÇÃO DA DISCIPLINA 8 1. SISTEMAS NUMÉRICOS E A REPRESENTAÇÃO DA INFORMAÇÃO 10 INTRODUÇÃO DA UNIDADE 10 1.1 SISTEMAS NUMÉRICOS 10 1.2 ELEMENTOS BÁSICOS DE UM COMPUTADOR 18 2. ARQUITETURA VERSUS ORGANIZAÇÃO 31 INTRODUÇÃO DA UNIDADE 31 2.1 O COMPUTADOR COMO UMA MÁQUINA SEQUENCIAL 31 2.2 ESTRUTURA DE UM COMPUTADOR 40 3. OS COMPONENTES BÁSICOS DE UM COMPUTADOR 48 INTRODUÇÃO DA UNIDADE 48 3.1 OS COMPONENTES BÁSICOS DE UM COMPUTADOR 48 3.2 MECANISMOS DE INTERRUPÇÃO E DE EXCEÇÃO 62 4. CICLOS DE INSTRUÇÃO DE UM PROCESSADOR 71 INTRODUÇÃO 71 4.1 OS SUBCICLOS DE BUSCA (FETCH) 71 4.2 INTERCONEXÕES E BARRAMENTOS 80 5. HIERARQUIA DE MEMÓRIA 91 INTRODUÇÃO 91 5.1 ORGANIZAÇÃO DA MEMÓRIA 91 5.2 CLASSIFICAÇÃO DE MEMÓRIA 96 6. PARALELISMO, MICROCONTROLADORES E ARQUITETURAS PARALELAS 110 INTRODUÇÃO DA UNIDADE 110 6.1 PROCESSADORES SUPERESCALARES E SUPERPIPELINE 110 6.2 MICROCONTROLADORES E MICROPROCESSADORES: QUAL A DIFERENÇA? 123 2UNIDADE 3UNIDADE 4UNIDADE 5UNIDADE 6UNIDADE 7 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ATENÇÃO PARA SABER SAIBA MAIS ONDE PESQUISAR DICAS LEITURA COMPLEMENTAR GLOSSÁRIO ATIVIDADES DE APRENDIZAGEM CURIOSIDADES QUESTÕES ÁUDIOSMÍDIAS INTEGRADAS ANOTAÇÕES EXEMPLOS CITAÇÕES DOWNLOADS ICONOGRAFIA 8 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 APRESENTAÇÃO DA DISCIPLINA A disciplina de Arquitetura de Computadores tem como objetivo o aprofun- damento de estudos teóricos e práticos no assunto que diz respeito a esse ins- trumento que transformou e transforma a sociedade nos últimos anos atra- vés da evolução tecnológica. Você irá aprender sobre os conceitos básicos que envolvem um sistema com- putacional, sistemas de numeração posicional, sistema decimal, binário e hexadecimal, tabelas de conversão, um breve histórico sobre a evolução dos computadores, compreender as funções e as operações básicas das portas lógicas. Também como construir a tabela verdade a partir das funções lógicas básicas, aprender sobre a simbologia e as expressões lógicas que represen- tam essas funções, além de entender as definições e a importância dos circui- tos combinacionais e sequenciais para a síntese de circuitos. Abordaremos a diferença entre arquitetura e organização de computadores para entender as máquinas sequenciais e computacionais, os primeiros com- putadores e a importância da álgebra booleana para a construção dos circui- tos lógicos. Você irá aprender sobre os componentes básicos de um computador e seu funcionamento, que será complementado na Unidade 4 com o assunto sobre como funciona um processador e seus componentes internos. Apresentaremos o conceito de memórias de um computador, seus tipos, hierarquias e classificação e, por fim, na Unidade 6, você irá aprender sobre arquiteturas robustas usadas atualmente em sistemas computacionais mais avançados e de alto desempenho, como vistos em servidores, datacenters e computação em nuvem. Enfim, esperamos que você possa usufruir do material da melhormaneira, que ele possa fomentar o desejo de conhecimentos de vocês e desejamos sucesso e bons estudos! UNIDADE 1 OBJETIVO Ao final desta unidade, esperamos que possa: 9 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES > Aprender sobre os principais sistemas numéricos (decimal, binário, hexadecimal) e realizar a conversão de base. > Aprender os métodos para realizar a conversão de base. 10 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES 1. SISTEMAS NUMÉRICOS E A REPRESENTAÇÃO DA INFORMAÇÃO INTRODUÇÃO DA UNIDADE Nesta unidade, você irá aprender sobre os conceitos básicos necessários para amadurecer seus conhecimentos dentro do assunto de arquitetura de computadores, com aplicações práticas sobre eletrônica digital, conteúdo introdutório na figura das portas lógicas, que são os elementos que deram origem aos componentes computacionais utilizados hoje, como processa- dores e microprocessadores. De início, será apresentado sobre os sistemas numéricos, posicional, sistema decimal e sobre o sistema binário, que é interpretado pelos computadores. A partir desses conceitos, irá aprender sobre os sistemas derivados do binário: octal e hexadecimal. Será abordado também dentro da unidade os métodos de conversão de base e você irá entender como pensa e funciona um compu- tador e verá através de um breve histórico, como essa máquina excepcional evoluiu com o passar dos anos junto à evolução da eletrônica e da computa- ção. Bons estudos! 1.1 SISTEMAS NUMÉRICOS Por muitos anos, o homem tentou representar a contagem por meio de sím- bolos, como os primeiros sistemas numéricos que se tem notícia, criados pe- los sumérios e egípcios, datados por volta de 3500 a. C (antes de Cristo). Esses sistemas numéricos atribuíam símbolos aos números e, após a representação por símbolos, veio a representação por letras, usada, inicialmente, por povos como gregos e hebraicos, que, posteriormente, daria origem ao conhecido sistema de algarismos romanos. 11 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SISTEMA NUMÉRICO Fonte: Deduca (2022). #pratodosverem: a imagem representa um quadro de cor escura, com numerais arábicos e romanos escritos em branco. 1.1.1 NOTAÇÃO POSICIONAL Em meados do século V d.C. (depois de Cristo), foi inventado na Índia o sistema de numeração decimal, um sistema posicional que tem esse nome por ter a base 10 como referência. Esse é o modelo de numeração usado atualmente, que também é conhecido como o modelo indo-arábico, pelo fato de ter sido criado na Índia e ter sido disseminado na Europa, principalmente pelo trabalho de um árabe conhecido por Al-Khwarizmi. No modelo indo-arábico, os núme- ros são representados pelos algarismos 0,1,2,3,4,5,6,7,8,9, decorrentes do algo- ritmo de Euclides, estudado na literatura da Teoria dos Números (MAIA, 2022). 12 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Sistema posicional é o sistema em que um mesmo número pode adotar valores diferentes, a depender da sua posição na representação numeral. No sistema decimal, cada posição, chamada de casa decimal, representa um determinado valor, chamados, por exemplo, de unidades, dezenas e centenas. Para saber mais, clique aqui. O sistema de numeração decimal é considerado posicional pois a base da contagem é o número dez. Isso quer dizer que podemos realizar agrupamen- tos de dez em dez. Os algarismos têm um determinado valor dependendo de onde eles estejam posicionados, obedecendo o que algumas literaturas cha- mam de princípio posicional. O valor que o algarismo tem, no qual depen- de da posição dele no numeral, é denominado de valor relativo, e seu valor próprio é denominado de valor absoluto. Cada grupo de dez unidades de uma determinada ordem é substituído por uma unidade da ordem superior, sendo esse processo considerado posicional, pois sua escrita é feita de forma sequencial e finita, tendo o seu valor dependendo da posição do algarismo nas representações numéricas. Por exemplo: o número decimal 492, o valor posicional do algarismo 4 é igual a 400 unidades, o 9 representa 90 unidades e o número 2 representa 2 unidades. Disso, podemos dizer que o número 492 = 400 + 90 + 2 = 4x 102 + 9x 101 + 2x 100. No nosso sistema de numeração, o valor do algarismo se obtém multiplican- do esse determinado algarismo por uma potência de base A representação acima é baseada em dois elementos: a base dez e o valor po- sicional, onde dez unidades de uma ordem formam uma unidade da ordem superior. Por isso, o sistema de numeração decimal é formado pela classe das centenas, dezenas e unidades. https://mundoeducacao.uol.com.br/matematica/sistema-numeracao.htm 13 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 1.1.2 BASES DE SISTEMAS DE NUMERAÇÃO Segundo Moraes (2020), outros sistemas de numeração computacional conhe- cidos são o sistema octal e o sistema hexadecimal. No entanto, na prática, podemos considerá-los como representações especiais do sistema binário, já que suas bases são potências de 2 (8 = 23, e 16 = 24), respectivamente. O sistema hexadecimal é o sistema mais utilizado nos computadores, pois representam os números binários de uma forma mais compacta e são usados, por exem- plo, para representar os endereços MAC dos computadores, conhecidos como endereços físicos, e representar também sistemas digitais e circuitos lógicos. Nas operações matemáticas em sistemas computacionais temos: Sistema decimal é o mais utilizado e é representado pelos dez dígitos de 0 a 9. Sistema binário é representado pelos dígitos 0 e 1. Sistema octal é representado pelos dígitos 0,1,2,3,4,5,6,7 Sistema hexadecimal é representado pelos dígitos alfanuméricos 0,1,2,3,4,5,6,7,8,9, A, B, C, D, F. A quantidade de dígitos disponíveis em um sistema de numeração é denomi- nada de base (ou raiz) onde, no caso do sistema binário, por ser representado por dois dígitos, leva essa denominação. A denominação de cada dígito em um sistema binário é conhecida como bit, sigla do inglês binary digit, e o conjunto de oito bits é denominado de byte. Já o sistema hexadecimal é conhecido como alfanumérico devido a sua repre- 14 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES sentação ser feita por letras e algarismos, conforme descrito acima, onde os valores decimais 10,11,12,13,14 e 15 são representados nesse sistema de nume- ração pelas letras A, B, C, D, E F, respectivamente. Por existir sistemas numéricos distintos e para diversas aplicações, existe tam- bém a necessidade de conversão entre esses sistemas, para que possamos encontrar os valores equivalentes entre eles. Esse conceito é conhecido com conversão numérica. Com a conversão numérica, basicamente podemos fa- zer a conversão de qualquer valor decimal em binário, octal ou hexadecimal ou, para ser mais específico, podemos fazer a conversão de um número de uma base em outra. 1.1.3 MÉTODOS DE CONVERSÃO DE BASE A conversão de um número qualquer para a base decimal é feita através de um desenvolvimento polinomial, que consiste no somatório de cada algaris- mo multiplicado pela base elevado ao índice, de acordo com a posição do algarismo no número. Como exemplo, vamos mostrar como converter o nú- mero binário 1100 para a base decimal, seguindo a orientação acima sobre a representação polinomial. O número binário 1100 = 1x 23 + 1x 22 + 0x 21 + 0x 20, onde cada bit é multiplicado pela base 2 elevado ao índica da sua posição. 20 = 1, que representa a casa da unidade 21 = 2, que representa a casa da dezena, e assim sucessivamente.Vol- tando a representação polinomial acima, basta realizar os cálculos para obter o valor equivalente na base decimal: 1x 23 + 1x 22 + 0x 21 + 0x 20 = 8 + 4 + 0 + 0 = 12 Assim, o número binário 1100 (que pode ser representado pela forma ) é equi- valente ao número 12 na base decimal. Para fazermos a conversão inversa, quer dizer, encontrar o correspondente de um valor decimal em binário, ao invés de multiplicar, você precisa dividir o número decimal por 2 até o quo- ciente máximo e separar os restos. Veja o exemplo abaixo de como é feita a conversão do número 4010(representação decimal do número) em binário: 15 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 40 / 2 Resto 0 20 / 2 Resto 0 10 / 2 Resto 0 5 / 2 Resto 1 2 / 2 Resto 0 1 O valor do quociente dessa última operação, após sucessivas divisões pela base que pretende ser convertida, será o algarismo mais significativo do nú- mero binário. Isso significa que ele ficará mais à esquerda do valor, e será se- guido pela sequência de baixo para cima dos restos obtidos das divisões an- teriores, até o valor encontrado no primeiro resto, no caso acima da divisão do número 40 por 2, obtendo quociente 20 e resto 0. Assim, partindo do valor do quociente da última operação de divisão até o valor do primeiro resto, en- contraremos o número representado por 101000, que será a representação binária do número decimal 40. A conversão de octal para decimal também é simples e sofrerá o processo de sucessivas divisões, agora com a base 8, até o quociente seja 0. Vamos fazer a conversão do número octal 508 (forma de representação de um número oc- tal) em decimal. Veja a seguir: 50 = 5x 81 + 0x 80 = 40 + 0 = 4010 Para converter um número decimal para hexadecimal, basta dividir esse nú- mero por 16 até o quociente máximo da operação, como no exemplo abaixo, para transformar 5010 em hexadecimal: 50 / 16 Resto 2 3 Assim, o valor do quociente é o máximo valor e será o algarismo mais signifi- cativo seguido do resto obtido. Assim, 5010 = 3216 e, para transformar o valor he- xadecimal em binário, basta converter cada algarismo individualmente para o binário, representando cada algarismo com 4 bits. Assim, 3216 em binário seria: 16 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES • transforme o número 3 em binário, representando-o por 4 bits: 3 / 2 Resto 1 1 Agora o valor do quociente é o máximo valor e será o algarismo mais signifi- cativo seguido do resto obtido. Assim, 32 = 0011 • transforme o número 2 em binário, representando-o por 4 bits: 2 / 2 Resto 0 1 Assim, temos o valor do quociente, que é o valor máximo e será o algarismo mais significativo seguido do resto obtido. Assim, 210 = 0010. Então, para obter 3216 em binário basta você juntar os valores obtidos de forma individual que ficará 001100102. Agora que aprendemos a fazer as conversões entre bases numéricas diferen- tes através da matemática, iremos apresentar uma forma direta de fazer essas conversões a partir de uma tabela padronizada, conforme tabela a seguir: TABELA DE CONVERSÃO ENTRE SISTEMAS NUMÉRICOS 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 Fonte: elaborado pelo autor (2022). A tabela anterior é montada colocando na primeira linha os algarismos na base 2 na quantidade que você quiser, e na segunda linha você coloca o valor decimal correspondente ao cálculo do valor da primeira linha, como: 20 = 1, 21 =2, 22 =4. Por exemplo: se um computador precisar converter o valor 22010 em binário (base 2), ele analisará quais os valores da Tabela 1 ele precisará somar para obter, no total, o valor 220. Nesse caso, ele irá somar os valores 128 + 64 + 16 + 8 + 4. Então, ele irá colocar o valor “1” embaixo de cada valor decimal que irá somar. Nas posições dos valores que não serão somados, ele colocará “0”, conforme tabela a seguir: 17 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 TABELA DE CONVERSÃO ENTRE SISTEMAS NUMÉRICOS 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 1 1 0 1 1 1 0 0 Fonte: elaborado pelo autor (2022). Então, o valor 20010 em binário é igual a 1 1 0 1 1 1 0 0. Se você for converter esse valor para hexadecimal, basta pegar o valor binário e agrupar, da direita para a esquerda, em grupos de 4 bits. 1 1 0 1 1 1 0 0 Fazendo a conversão dos grupos um de cada vez, terá o valor hexadecimal igual a DC12. Para chegar a esse valor, basta colocar os dígitos binários de cada grupo na Tabela 2 e verá que a sequência 1 1 0 1 dará um total igual a 13, mas 13 em hexadecimal é igual à letra D. Mesma coisa para a sequência 1 1 0 0, que dará um valor 12, mas 12 em hexadecimal é representado pela letra C. Para finalizar, se quiser converter o valor binário 1 1 0 1 1 1 0 0 para octal, precisa separar os dígitos binários em grupos de 3, ficando na disposição a seguir: 1 1 0 1 1 1 0 0 Assim, basta substituir os valores na Tabela 2 cada grupo por vez, no sentido da direita para a esquerda da tabela, e terá o valor em octal, obtendo: 112= 310 0112 = 310 1002 = 410 O valor será de 3348. Com essa tabela, será possível fazer qualquer conversão que você precisar, bastando apenas aumentar o número de bits na linha da tabela referente aos valores exponenciais. 18 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Foi com base nesses conceitos de representação numérica combinados com letras, formando representações alfanuméricas, que a indústria de computadores criou um padrão binário de codificação de caracteres para a troca de informações entre sistemas computacionais. 1.2 ELEMENTOS BÁSICOS DE UM COMPUTADOR Um computador é um dispositivo que tem a capacidade de executar instruções pré-definidas pelo homem a fim de obter algum resultado, onde essa sequên- cia de instruções é conhecida como algoritmo. Podemos ter vários algoritmos que, no conjunto, constituem o que conhecemos como software. O software é a parte lógica de um computador enquanto o hardware é a parte física. 1.2.1 CONCEITO DE PORTAS LÓGICAS Segundo Paixão (2014), os computadores podem ser classificados em analó- gicos e digitais, onde os computadores analógicos, os primeiros computado- res surgidos no período conhecido como Geração Zero, realizam suas tare- fas baseados em quantidades, onde representam o funcionamento de um sistema real através de grandezas físicas. Já um computador digital, utiliza- do hoje em dia, resolve problemas através de operações utilizando cálculos e possuem pouca intervenção humana na realização das instruções. Com isso, os computadores digitais foram muito importantes no progresso e evolução dos sistemas de computadores. Em um breve histórico, com o surgimento dos computadores, foi possível classificá-los em gerações, de acordo com as tecnologias utilizadas. 19 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Geração Zero: foi o período do surgimento dos computadores analógicos, formados por componentes mecânicos e eletromecânicos, como a Máquina de Babbage (1791 – 1871), conforme figura a seguir, criada por Charles Babbage para corrigir erros em cálculos manuais. Máquina de Babbage (1791 – 1871) Fonte: WikiMediaCommons (2022). #pratodosverem: foto da máquina de Babbage entre os anos de 1791 a 1871. Primeira Geração: iniciou-se no período da Segunda Guerra Mundial, claramente com objetivos científico-militares, marca o início da computação moderna, com a substituição dos componentes mecânicos, característicos dos computadores analógicos, por, incialmente, relés e capacitores e, posteriormente, por válvulas. Essas mudanças permitiram o surgimento dos primeiros computadores digitais,como foi o caso dos computadores ENIAC e MARK I, criados na década de 1940 e até hoje considerados os primeiros computadores eletrônicos. A Figura 2 mostra a figura do ENIAC em desenvolvimento no Ballistic Research Laboratory, localizado na Filadélfia, estado da Pensilvânia. Eniac Fonte: WikiMediaCommons (2022). #pratodosverem: uma foto preta e branca, de uma sala apresentando como era o computador ENIAC, que ocupava todo o espaço. 20 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Segunda Geração: as válvulas foram substituídas pelos transistores, componentes eletrônicos desenvolvidos em 1948 pelos Laboratórios Bell Telephones, que viriam a ser o principal componente usado na construção dos novos computadores. Com os transistores, os computadores tiveram o seu tamanho reduzido de forma considerável e um obteve aumento na capacidade de armazenamento. Transistores Fonte: Freepik (2022). #pratodosverem: na foto, há vários transistores. Terceira Geração: surgem os circuitos integrados, ou simplesmente CI, que tem a função de vários transistores encapsulados em formatos modulares e em miniaturas, denominados de chips. Por fim e finalizando o breve histórico, surgiu em meados da década de 1970 os microprocessadores, dando início a Quarta Geração dos computadores. Microprocessador Fonte: Freepik (2022). #pratodosverem: na foto, temos os circuitos de um microprocessador. Quarta Geração: os microprocessadores representam a evolução dos circuitos integrados, agora munidos das evoluções tecnológicas como a miniaturização dos componentes eletrônicos e a integração em larga escala desses circuitos. Os microprocessadores passaram a concentrar em um único chip os componentes básicos de um computador, como a Unidade Central de Processamento, a memória e os dispositivos de entrada e saída. Macintosh 128K (1984 – 1985) Fonte: WikiMediaCommons (2022). #pratodosverem: na foto, temos um computador exemplo da Quarta Geração, desenvolvido na década de 80. 21 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Estamos vivendo a Quinta e Sexta gerações dos computadores, onde as principais características são a computação distribuída, computação em nu- vem (Cloud Computing) e computação em rede. Um computador é constituído de elementos eletrônicos como resistores, ca- pacitores e transistores, onde os transistores são responsáveis por armazenar sinais binários e realizar operações lógicas com esses sinais. A integração des- ses elementos eletrônicos forma circuitos denominados de circuitos digitais, que são construídos por elementos que manipulam sinais digitais, ou dígitos binários, denominados de portas lógicas. Semicondutores são componentes eletrônicos que possuem condutividade elétrica intermediária entre materiais que são bons condutores elétricos e os materiais isolantes, que são materiais que não conduzem bem a eletricidade. A arquitetura de um computador depende do seu projeto lógico, enquanto a sua implementação depende da tecnologia disponível. Gerações de computadores. 1.2.2 IMPLEMENTAÇÃO DA TABELA VERDADE As funções lógicas básicas de um sistema digital são: • Função E (AND) Essa função executa a multiplicação de dois ou mais operandos binários sim- ples, no caso 0 e 1, permitindo como resultado após a avaliação que, se o pri- meiro operando for igual a 1 e o segundo também for igual a 1, a resposta será 1; caso contrário, o resultado será sempre 0, conforme analogia feita nas ilustrações a seguir: https://www.ime.usp.br/~macmulti/historico/histcomp1_12.html#:~:text=Os%20computadores%20de%20primeira%20gera%C3%A7%C3%A3o,de%20liga%C3%A7%C3%A3o%20por%20circuitos%20impressos 22 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES FUNÇÃO E (AND): REPRESENTAÇÃO DE CIRCUITO ELETRÔNICO COM CHAVES Fonte: elaborada pelo autor (2022). #pratodosverem: na ilustração, temos a demonstração do uso da função “E”, chave A e chave B aberto, até o sistema operando a lâmpada, com as situações possíveis: chave aberta = 0, chave fechada = 1, lâmpada apagada = 0, lâmpada acesa = 1. FUNÇÃO E (AND): SIMBOLOGIA E TABELA VERDADE Fonte: elaborada pelo autor (2022). #pratodosverem: na ilustração, temos a demonstração do uso da função “E” (AND), chave A e B até a saída do circuito S, e ao lado a tabela verdade com as possibilidades. De acordo com a figura anterior, podemos ver que, em uma função E (AND), a saída S do circuito estará ativa (1), apenas e unicamente quando ambas as en- tradas A e B estiverem ativas, ou seja, com sinal elétrico. A partir desse pensa- mento é montada a tabela verdade dessa função. Se alguma entrada estiver em nível baixo 0, sem sinal elétrico, a saída permanecerá também em nível baixo. Podemos representar esse cenário na prática através de um circuito elétrico para acender uma lâmpada, conforme Figura 1, com duas chaves (in- 23 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 terruptores) em série. A lâmpada só acenderá (1) se as duas chaves estiverem fechadas (1); se alguma chave estiver aberta, ou ambas (0), a lâmpada não irá acender (0). • Função OU (OR) Uma outra função lógica é a função OU (OR) que, ao contrário da função AND, só assume valor 0 quando todas as entradas estão sem nível lógico baixo (0), conforme figuras a seguir: FUNÇÃO OU (OR): REPRESENTAÇÃO DE CIRCUITO ELETRÔNICO COM CHAVES Fonte: elaborada pelo autor (2022). #pratodosverem: na ilustração, temos a demonstração do uso da função “OU”, chave A e chave B, até o sistema operando a lâmpada, com as situações possíveis: chave aberta = 0, chave fechada = 1, lâmpada apagada = 0, lâmpada acesa = 1. FUNÇÃO OU (OR): SIMBOLOGIA E TABELA VERDADE Fonte: elaborada pelo autor (2022). #pratodosverem: na ilustração, temos a demonstração do uso da função “OU” (OR), chave A e B até a saída do circuito S, e ao lado a tabela verdade com as possibilidades. 24 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Na analogia de um circuito elétrico representada na Figura 3, se qualquer chave estiver fechada (1) ou as duas chaves estiverem fechadas (1) ao mesmo tempo, a lâmpada irá acender (1). A lâmpada só não irá acender (0) se as duas chaves es- tiverem abertas (0). Na tabela verdade de uma função OU, conforme ilustrado na Figura 4, só terá saída S zero (0), se as duas chaves tiverem abertas (0). • Função NÃO (NOT) Essa função executa o complemento ou a negação de dois ou mais operan- dos binários: se um operando estiver em 0, o resultado da função será seu complemento que, no caso, será 1; agora se o operando estiver em 1, o resulta- do da função será 0, conforme a analogia de um circuito elétrico para acender uma lâmpada ilustrado nas figuras a seguir: FUNÇÃO NÃO (NOT): REPRESENTAÇÃO DE CIRCUITO ELETRÔNICO COM CHAVES Fonte: elaborada pelo autor (2022). #pratodosverem: Na ilustração, temos a demonstração do uso da função “NÃO”. Ao lado esquerdo temos um circuito chave aberta, e do lado direito temos um circuito de chave fechada, com as situações possíveis: chave aberta = 0, chave fechada = 1, lâmpada apagada = 0, lâmpada acesa = 1. FUNÇÃO NÃO (NOT): SIMBOLOGIA E TABELA VERDADE Fonte: elaborada pelo autor (2022). #pratodosverem: na ilustração, temos a demonstração do uso da função “NÃO” (NOT), chave A até a saída do circuito S, e ao lado a tabela verdade com as possibilidades. 25 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Na Figura 5, quando a chave estiver aberta (0), a lâmpada irá acender (1), pois a corrente elétrica irá fluir pelos fios da fonte até a lâmpada.Agora, quando a chave estiver fechada, situação representada na Figura 6, a lâmpada não irá acender (0), pois ocorre no circuito uma situação chamada de curto-circuito que faz com que a corrente elétrica passe por essa chave fechada devido à baixa resistência. A Tabela verdade da função é apresentada a seguir: Função NAND A função NAND é formada pela função AND com a função NOT, ou seja, a saída de uma função AND é invertida. Função NAND Fonte: elaborada pelo autor (2022) #pratodosverem: na ilustração, temos a demonstração do uso da função “NAND”, chave A e B com a saída até o circuito S. Função NOU A função NOU é formada pela função OU com a função NOT, ou seja, a saída de uma função OU é invertida. Função NOU Fonte: elaborada pelo autor (2022) #pratodosverem: na ilustração, temos a demonstração do uso da função “NOU”, chave A e B com a saída até o circuito S. 26 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Função XOR (OU Exclusivo) A função OU Exclusivo só oferece resultado 1 na saída quando os operandos de entrada forem diferentes entre si. Caso contrário, se os operandos forem iguais, gera resultado 0. Função XOR Fonte: elaborada pelo autor (2022). #pratodosverem: na ilustração, temos a demonstração do uso da função “XOR”, chave A e B com a saída até circuito S. 1.2.3 SÍNTESE DE CIRCUITOS E EXPRESSÕES LÓGICAS A síntese de circuitos é um conceito que abrange os circuitos digitais e os circuitos analógicos, tendo uma maior aplicação em sistemas digitais devi- do aos avanços da eletrônica nos últimos anos e o uso de ferramentas mais eficientes. O uso da síntese de circuitos visa à otimização de expressões lógi- cas e, consequentemente, a integração a partir de circuito básicos como os que implementam as funções E, OU e NÃO. Quaisquer portas lógicas podem ser construídas a partir de portas básicas dessas funções através de circuitos combinacionais e circuitos sequenciais. Circuitos combinacionais são circuitos lógicos, cujas saídas dependem úni- ca e exclusivamente da configuração das variáveis de entrada, em termos dos seus estados lógicos, ou seja, das variáveis que são falsas ou verdadeiras em determinado instante, independentemente do estado anterior das saídas, e não precisam de nenhum tipo de memória. Ao estabelecer relações entre as variáveis de um circuito e a equação lógica que a representa, existe a necessi- dade de técnicas especiais que devem ser aplicadas, como Teorema de Mor- gan ou Mapa de Karnaugh, para simplificar as equações e circuitos lógicos. A seguir, veja a lista que mostra as expressões lógicas que representam as funções lógicas básicas: 27 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Função E (AND): possui expressão logica descrita como S = A.B, onde S é a saída e A, B são as entradas do circuito Função OU (OR): possui a seguinte equação representativa: S = A + B Função NÃO (NOT): é uma função inversora, que muda o valor lógico de acordo com a entrada; possui a equação S = A (lê-se A barrado) Circuitos sequenciais são circuitos lógicos com memória, o que significa que são circuitos nos quais as saídas dependem não só das entradas atuais, mas também das entradas anteriores, pois, agora, as entradas e as saídas dos circuitos passam a ser conectadas. Com as memórias instaladas, os circuitos passam a ter uma aplicação extra, que é a capacidade de armazenar informa- ções binárias. Na prática, um circuito combinacional tem aplicação mesmo sem nenhuma função de memória. A Figura 7 ilustra a estrutura de um cir- cuito sequencial genérico: ESTRUTURA GENÉRICA DE UM CIRCUITO SEQUENCIAL Fonte: elaborada pelo autor (2022). #pratodosverem: na ilustração, temos uma estrutura genérica de um circuito sequencial, com as entradas externas, partes lógicas, elementos de memória, saídas combinacionais e saídas com memória. 28 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Percebe-se que temos uma maneira mais fácil de ver um circuito sequencial, onde os valores atuais da saída dependem do estado atual das entradas externas. Segundo Delgado e Ribeiro (2017), a forma mais simples de implementar um circuito sequencial é através de um flip-flop que, entre outras propriedades, duas são comuns a todos os tipos: • São dispositivos biestáveis, isso quer dizer que possuem dois estados estáveis e que permanecem nesse estado até que haja uma nova mudança solicitada. • Possuem duas saídas com valores complementares uma da outra. Geralmente são identificadas como Q e Q. 29 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 CONCLUSÃO Nesta unidade, aprendemos sobre os conceitos básicos que envolvem um sis- tema computacional, aprendemos sobre os sistemas de numeração binária, octal, hexadecimal, uso de tabelas de conversão e como se realiza a conversão matemática entre esses sistemas. Também compreendemos das funções bá- sicas em um sistema computacional até os conceitos de microprocessadores, circuito combinacionais e sequenciais. Entendemos como a evolução da eletrônica e da computação contribuiu para a base computacional, através de um breve históricos sobre a evolução a partir dos computadores analógicos, iniciando por computadores digitais a base de válvulas, relés e transistores, passando pelo surgimento dos chips, e chegando até os modelos digitais usados atualmente. UNIDADE 2 OBJETIVO Ao final desta unidade, esperamos que possa: 30 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES > Aprender a diferença entre arquitetura e organização de um computador e a evolução desde os computadores analógicos até os computadores atuais. > Aprender os conceitos e aplicações sobre as portas lógicas, circuitos lógicos e álgebra de Boole. 31 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES 2. ARQUITETURA VERSUS ORGANIZAÇÃO INTRODUÇÃO DA UNIDADE Na unidade de Arquitetura versus Organização de Computadores, você irá aprender sobre os conceitos básicos que envolvem um sistema computacio- nal, compreender as funções e as operações básicas entre hardware e softwa- re, o conceito sobre as instruções de computadores, a apresentação dos mo- delos de arquiteturas computacionais desenvolvidos no decorrer dos anos, a lógica computacional envolvida com a eletrônica digital, as funções e uma visão geral sobre arquitetura de computadores. O conteúdo apresentará como a evolução da eletrônica e da computação contribuiu para a base computacional alcançada nos dias atuais, a importân- cia dos conceitos-base para o amadurecimento progressivo do conhecimen- to e como essa evolução afeta os sistemas computacionais e de Telecomuni- cações de maneira geral e prioritária. 2.1 O COMPUTADOR COMO UMA MÁQUINA SEQUENCIAL Segundo Monteiro (2022) um computador é uma máquina capaz de coletar, manipular e fornecer os resultados da manipulação de informações para um ou mais objetivos. Com toda a evolução da eletrônica digital e dos materiais semicondutores, ocorrida nas últimas décadas, que afetaram diretamente a indústria da computação, seja com o surgimento dos microcomputadores, seja com a nanotecnologia, os computadores de hoje ainda são desenvolvi- dos a partir do conceito inicial dos primeiros computadores. 2.1.1 ARQUITETURA E ORGANIZAÇÃO O conceito inicial sobre computador como sendo uma máquina sequencial, parte da premissa de que um computador possui uma: 32 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 • Unidade Central de Processamento (CPU): querecebe as informações a partir de dispositivos de entrada, processa por meio de uma aplicação (software). • Software: fica armazenada em uma memória e retorna os dados como resultados, enviando por meio de dispositivos de saída. A seguir, veja como funciona o diagrama de blocos da Figura a seguir: SISTEMA-BASE DE UM COMPUTADOR Fonte: elaborada pelo autor (2022). #pratodosverem: a ilustração representa um esquema do sistema-base de um computador, composto por: dispositivo de entrada, memória, unidade central de processamento e dispositivo de saída, com informações de entrada e dados de saída. Conforme descrito na Figura anterior, a Unidade Central de processamento é a unidade que deve ser capaz de realizar as operações de leitura e escrita na memória e de executar instruções e operações lógicas matemáticas recebi- das por meio do dispositivo de entrada. Convido você a assistir ao vídeo intitulado “CPU ou Unidade Central de Processamento” para reforçar os conhecimentos teóricos. Clique aqui. https://www.youtube.com/watch?v=gc0tuwJz-7E 33 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Os dispositivos de entrada e saída (E/S) são dispositivos internos da arquitetu- ra computacional que têm a função de transferência de dados entre a CPU e os demais dispositivos, por meio dos barramentos de comunicação de dados (PAIXÃO, 2014). Outra definição primordial para os conceitos introdutórios é sobre a diferença entre hardware e software, em que hardware é o conjunto de todos os dispo- sitivos eletrônicos que compreendem a própria CPU, a memória e os disposi- tivos de entrada e saída. Já o software, ao contrário, é a parte lógica do sistema computacional, constituído pelos algoritmos (conjunto de instruções que são seguidas pela CPU), que resultam na representação dos programas de com- putadores. Uma instrução realizada por software pode ser implementada via hardware e uma operação realizada por hardware pode, na prática, ser simu- lada por software (PATTERSON, HENNESSY, 2017). As funções básicas de um sistema computacional e sua arquitetura são: • Processamento de dados: todo processamento é realizado pela unidade central de processamento do computador. • Armazenamento de dados: na prática, essa é função da memória do sistema que além de armazenar os dados também armazena o endereçamento onde os dados serão alocados de forma temporária para execução, se comunicando com a Unidade Central de Processamento através dos barramentos. • Transferência de dados: processo de troca de informações entre a unidade central de processamento e os dispositivos de entrada e saída (E/S) do sistema computacional. 34 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 • Controle de dados: função de responsabilidade da unidade central de processamento, mas especificamente da unidade de controle. A unidade de controle deve ser capaz de controlar as outras três funções citadas acima. Arquitetura, por definição, é um conjunto de recursos observados e usados pelo desenvolvedor do sistema, como os registradores (tipo de memória), os dados manipulados pelas instruções (códigos, formato), a organização da me- mória principal, os modos de endereçamento, entre outros (MAIA, 2013). Esse conceito lida com o layout, a estrutura dos computadores, os dispositivos de armazenamento e os dispositivos de redes. Já a organização está relacionada às unidades operacionais e suas interconexões que realizam as especifica- ções da arquitetura. É como as partes de um sistema de computação irão se interligar e executar as ações para o funcionamento. Assista a videoaula para reforçar os conhecimentos teóricos sobre periféricos de entrada e saída (E/S) de dados. Clique aqui. Para uma arquitetura, podem existir inúmeras organizações, em que cada or- ganização oferece uma solução diferente em termos de desempenho, custo/ benefício, robustez tecnológica etc. Uma aplicação prática para esse exemplo é a evolução dos processadores, dispositivos que representam as CPU’s, no decorrer dos últimos anos. A organização de um sistema computacional explica como um computador funciona, fornece estruturas entre as partes do sistema, lida com o projeto da eletrônica digital (conhecida também como programação de baixo nível) e o desempenho do sistema. https://www.youtube.com/watch?v=xqIPFxfR9gc 35 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES 2.1.2 A MÁQUINA DE USO GERAL Para que essas funções possam ser executadas, um computador precisa se- guir um conjunto de instruções por meio de um programa computacional, ba- seado em algoritmos, que terão seus dados armazenados em uma memória. A linguagem que é interpretada pelo hardware é conhecida como lingua- gem baixo nível, uma representação mais próxima dos sistemas binários e hexadecimais que norteiam os computadores. Cada avanço ou mudança na instrução representa, na prática, a alteração ou mudança de um endereço na memória, conforme mostrado na Figura a seguir: FUNÇÕES BÁSICAS DE UM SISTEMA COMPUTACIONAL Fonte: elaborada pelo autor (2022). #pratodosverem: a ilustração representa um esquema das funções básicas de um sistema computacional, com informações de entrada e dados de saída, dispositivo de entrada, unidade central de processamento, dispositivo de saída, posição de memória 1 em uso e memória. Conforme descrito na Figura anterior, o sistema de uma máquina de uso ge- ral, recebe as informações por meio do dispositivo de entrada, a CPU realiza a instrução do código, armazena o resultado na posição de memória 1 e, por meio dos barramentos, transfere os dados do resultado do processo para o dispositivo de saída. Todas essas trocas de informações são controladas por uma unidade de controle localizada na unidade central de processamento (STALLINGS, 2010). Um computador deve ter a capacidade de processar dados e esses, por outro lado, podem ser muito grandes em quantidade e volume, de vários tipos e de requisitos amplos para processamento. Por isso, é essencial que um com- 36 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 putador possa ter a capacidade de armazenamento de dados temporários e permanentes para subsequente modificação e recuperação. Outra função básica é de ser capaz de realizar a transferência de dados, tanto internamente quanto para periféricos externos e, por final, ter a capacidade de controlar es- sas funções. Dentro de um sistema de controle computacional, uma unidade central de processamento pode controlar quatro tipos de operações possí- veis, conforme Figura a seguir: TIPOS DE OPERAÇÕES EM UM SISTEMA COMPUTACIONAL Fonte: adaptado de Stallings (2010, p. 9) #pratodosverem: a imagem representa um esquema com os tipos de operações em um sistema computacional, com a indicação da operação 1, 2, 3 e 4, transferência, controle, processamento e memória. A Figura anterior mostra as operações possíveis dentro de um sistema com- putacional sob a responsabilidade da CPU. Vemos que, na Operação I, o com- putador opera apenas com um dispositivo de transferência de dados; já na Operação II, temos uma clara operação de armazenamento de dados, em que os dados são transferidos diretamente do dispositivo para a memória; o Processo III e o Processo IV já envolvem processamento de dados, pois, na Operação III, ocorre armazenamento na memória e, na Operação IV, há trans- ferência direta de dados entre a memória e o dispositivo. 37 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Hoje possuímos processadores com vários núcleos, que executam milhares de instruções por segundo, que podem implementar um sistema computacionalcom processamento descentralizado, que é o que ocorre hoje em dia em grandes Data Centers, com alto volume de processamento de dados (Big Data) e sistemas baseados em computação nas nuvens (Cloud Computer) (PATTERSON; HENNESSY, 2017). 2.1.3 MÁQUINA DE VON NEUMANN Em resumo, um sistema computacional tem como objetivo processar infor- mações recebidas e convertê-las em dados e entregar a um determinado dis- positivo que esteja conectado ao sistema por meio dos periféricos de entrada e saída. Quando esse processo é realizado a longa distância, quando esse dispositivo está remoto ao sistema computacional, dizemos que ocorre um processo conhecido como comunicação de dados (PAIXÃO, 2014). Baseado nos conceitos introdutórios de arquitetura e organização de compu- tadores digitais, o modelo de computador proposto pelo matemático John Von Neumann, em 1946, ficou conhecido com IAS, nome herdado do Insti- tuto de Estudos Avançados, e tinha a característica de possibilitar o compar- tilhamento do armazenamento da memória entre os programas e os dados. Em outras palavras, o sistema computacional era composto por apenas uma memória principal. Como mostrado na Figura a seguir, o modelo proposto por Von Neumann consiste em uma memória principal compartilhada que armazena dados e instruções, uma Unidade Lógica Aritmética (ULA), uma unidade de controle e os dispositivos de entrada e saída. 38 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 MODELO COMPUTACIONAL DE VON NEUMANN Fonte: elaborada pelo autor (2022). #pratodosverem: a imagem representa um esquema com o modelo computacional de Von Neumann, com indicação da memória compartilhada, o endereçamento, os dados e as instruções, a unidade de controle, ULA e os dispositivos de entrada e saída. De acordo com a Figura anterior, no modelo proposto por Von Neumann, a ULA (Unidade Lógica Aritmética) tem a função de controlar os dispositivos de entrada e saída e se comunicar com a unidade de controle, que, por sua vez, controla o endereçamento junto à memória principal compartilhada. A ULA também realiza o processamento das instruções e dos dados junto à memória principal. Esse modelo, como consequência, possui um gargalo no desempenho devido ao alto tráfego de informações entre a unidade de pro- cessamento e a memória. Como uma possível solução para esse problema, obviamente, diminui-se o tráfego de informações, mantendo informações na CPU, e diminui-se o tamanho das informações digitais transferidas. Assista a videoaula para reforçar os conhecimentos sobre arquitetura de Von Neumann de forma simples e direta. Clique aqui. Já o modelo de arquitetura de Harvard está baseado em um conceito mais atualizado, tendo em vista a necessidade de otimizar a CPU (Unidade Cen- https://www.youtube.com/watch?v=tZ5W2LpdcEw 39 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES tral de processamento). Diferentemente do modelo de Von Neumann, essa arquitetura possui duas memórias distintas e separadas, tanto em ligação de barramentos quanto na interligação com a CPU. Apresenta vantagens no de- sempenho por ser possível a realização de buscas simultâneas de instruções e operações, mitigando conflitos internos por endereços de memórias, e por apresentar a separação entre os barramentos de dados das memórias, con- forme Figura a seguir. MODELO COMPUTACIONAL DE HARVARD Fonte: elaborada pelo autor (2022). #pratodosverem: a imagem representa um esquema com o modelo computacional de Harvard, com as indicações de memória de instruções, memória de dados, instruções, endereçamento, dados, unidade de controle, ULA e dispositivos de entrada e de saída. Conforme descrito na Figura anterior, neste modelo, proposto por Harvard, há duas memórias independentes para armazenamento das instruções e dos dados, ambos também com barramentos individuais e específicos, implican- do o ganho de desempenho, tendo em vista que não haverá compartilha- mento do meio de comunicação. Outra vantagem é o fato de a CPU executar instruções simultâneas, já que poderá buscar uma próxima enquanto execu- ta uma determinada instrução na memória. Essa evolução na implantação de memórias separadas e barramentos independentes viriam a contribuir com o desenvolvimento de sistemas computacionais mais robustos e complexos. 40 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 2.2 ESTRUTURA DE UM COMPUTADOR Como aprendemos, os componentes básicos de uma arquitetura computa- cional digital devem desempenhar as funções de processamento, controle, armazenamento e transferência. Para que isso aconteça na prática, fazem-se necessários apenas dois tipos de componentes: as portas lógicas e as célu- las de memórias. 2.2.1 AS PORTAS LÓGICAS A definição para portas lógicas é dada como um componente eletrônico que tem a capacidade de implementar uma função lógica (ou booleana), contro- lando o fluxo de dados binários (digitais) nas suas entradas. A função booleana (ou Álgebra de Boole) foi desenvolvida pelo filósofo e matemático francês George Boole e é baseada na lógica das variáveis binárias (0 e 1). Essa lógica foi a precursora dos sistemas computacionais digitais que conhecemos hoje (DELGADO; RIBEIRO, 2017). Essas portas lógicas foram responsáveis pelo desenvolvimento das microar- quiteturas que temos hoje em sistemas computacionais mais robustos, junto com o avanço tecnológico da microeletrônica. Microcontroladores, micropro- cessadores, todos esses são dispositivos que compõem, na prática, microar- quiteturas de sistemas computacionais. Conforme já mencionado na unidade, computadores executam um progra- ma em diferentes níveis de abstração, transformam descrições em códigos executáveis utilizando diversas linguagens e seguem os processos abaixo de compilação e interpretação para finalizarem a comunicação ou transferên- cias de dados. A linguagem de máquina é responsável por realizar a compila- ção das informações binárias geradas pelos circuitos eletrônicos, como trocas elétricas geradas no armazenamento de informações nas memórias, proces- so de endereçamento e de instruções realizado pela unidade de controle e o envio e recebimento de dados trocados entre a unidade lógica aritméticas e os dispositivos de entrada e saída (E/S). Já o processo de interpretação é mais lento, linha por linha, que tem mais a função de controle, gerenciamento, do 41 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES que propriamente dito converter uma linguagem de máquina (baixo nível) em uma linguagem de alto nível, que será interpretada pelo programador ou usuário do sistema computacional. A maneira mais prática de entendermos o funcionamento de qualquer siste- ma, seja analógico e digital, é realizarmos experiências com ele. Na eletrônica, já existem as implementações físicas dos conceitos das portas lógicas, através de CI’s (circuitos integrados), ou implementados através dos componentes eletrônicos convencionais e básicos, como por exemplo resistores, capacito- res, chaves, relés e indutores. Assista a videoaula a seguir para reforçar os conhecimentos sobre circuitos integrados e suas aplicações práticas dentro da eletrônica digital. Clique aqui. Hoje, existem também a figura dos programas simuladores de circuitos ana- lógicos e digitais, programas esses que têm a função de reproduzir o compor- tamento desses sistemas eletrônicos antes de serem encaminhados para o mercado. Segundo Patterson e Hennessy (2022), portas lógicas deram origem aos cir- cuitos lógicos que, em combinação com transistores e determinados semi- condutores auxiliares, compõem a construção completa de um sistema di- gital que, através de circuitos integrados, realizam funçõespara execução de alguma tarefa específica. Essas funções são as denominadas funções lógicas de circuitos digitais. 2.2.2 A FUNÇÃO BOOLEANA (OU ÁLGEBRA DE BOOLE) A Álgebra de Boole foi publicada em 1854 pelo matemático e filósofo inglês George Boole (1815 – 1864) através da obra An Investigation of The Laws of Thought baseada em um sistema matemático de análise lógica. Em 1938, a análise lógica desenvolvia há décadas por Boole foi utilizada pelo engenheiro americano Claude Elwood Shannon (1916 – 2001) para imple- mentação de soluções em circuitos de telefonia a base de relés, que constituí- https://www.youtube.com/watch?v=eueA6d7pPoE 42 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ram as primeiras centrais telefônicas analógicas, dando início posteriormente a era da eletrônica digital dentro do ramo tecnológico. É nesse ramo tecnoló- gico da eletrônica onde as portas lógicas ficaram conhecidas por implemen- tar pequenos grupos de circuitos básicos, descrito e publicado no trabalho de Shannon intitulado Symbol Analysis of Relay and Switching. É justamente através do uso das portas lógicas que se pode implementar o que chamamos de “as expressões da Álgebra de Boole”, que representam a base dos projetos dos sistemas digitais, (MORAES, 2020). Essa técnica desenvolvida através da lógica da Álgebra de Boole foi muito uti- lizada na análise e projeto de circuitos eletrônicos digitais pois, similar como se era usada na álgebra convencional, a mesma se utiliza de operações lógi- cas e variáveis onde essas variáveis podem assumir os valores lógico de 0, para falso, e 1 para verdadeiro. Uma variável pode assumir um único valor, tendo na literatura as seguintes possíveis nomenclaturas para esses estados lógicos: 0 ou 1, falso ou verdadeiro, aberto ou fechado, false ou true. Podemos identificar as operações lógicas básicas e suas devidas simbologias como: • operação E (AND): simbologia matemática: ● • operação OU (OR): simbologia matemática: + • operação NOT: simbologia matemática: , onde X é uma variável booleana. Os sinais em um circuito digital podem ser denominados ou representados por variáveis devido a sua alternância de valores no decorrer do tempo, mas 43 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES lembrando que só podem assumir um valor de cada vez. A porta NOT é co- nhecida como a porta inversora devido a sua característica de inverter o valor de uma variável e possui a função S = vv(X ) como exemplo de representa- ção, onde S é a saída e X é a entrada; já uma porta E (AND) de duas entradas, X e Y, é representado pela função de expressão de saída S = X .Y . A porta OU (OR) de duas entradas X e Y, é representada pela função de expressão S = X + Y. A Figura a seguir mostra as principais características de algumas portas lógica, como sua função ou expressão matemática e a sua tabela verdade, já estudada dentro da unidade: CARACTERÍSTICAS DE ALGUMAS PORTAS LÓGICAS BÁSICAS Fonte: adaptada de Delgado e Ribeiro (2022, p. 27). #pratodosverem: a imagem representa a figura de uma tabela com as principais características das portas lógicas como tabela verdade, simbologia e expressão ou função matemática. 44 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 2.2.3 CIRCUITOS LÓGICOS Circuitos lógicos são componentes eletrônicos que, através do conceito das portas lógicas, trabalham com as operações binárias (0 e 1), para executar as operações booleanas a partir das portas lógicas básicas: E (AND), OU (OR) e NOT. Assista a videoaula para reforçar os conhecimentos sobre o funcionamento da lógica booleana nos circuitos lógicos digitais. Clique aqui. Segundo Moraes (2022), o Teorema de Morgan e o Mapa de Karnaugh são técnicas usadas para simplificação de álgebras booleanas e facilitam a criação de circuitos específicos, formados a partir das portas lógicas primárias. Um exemplo prático da obtenção de um circuito lógico é a criação de uma porta específica conhecida com OU EXCLUSIVA (ou XOR, abreviação do inglês) a partir de portas primárias E (AND) e OU (OR), conforme Figura a seguir: FUNÇÃO OU EXCLUSIVA A PARTIR DE PORTAS LÓGICAS E (AND) E OU (OR) Fonte: Elaborada pelo autor (2022). #pratodosverem: a imagem representa um esquema eletrônico de uma porta lógica OU EXCLUSIVA, composta por dois desenhos geométricos centrais representando duas portas E e outra figura geométrica mais à direita da figura, representando uma porta OU. De acordo com a Figura anterior, o circuito lógico só terá nível alto (1) na saída S quando as duas entradas A e B divergirem entre seus valores lógicos. Essa lógica, que gera a porta XOR, é o princípio da criação de circuitos mais robus- tos, como um somador de 2 bits, por exemplo. A tabela verdade conforme https://www.youtube.com/watch?v=aYVz0l3ZMWc 45 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES figura anterior, é montada a partir dos valores lógicos em vermelho em cada etapa entre as portas lógicas primárias, exemplificando como o sinal é trata- do passando por cada função. Podemos a partir da lógica booleana de cada porta lógica, montar a expres- são matemática do circuito da Função OU EXCLUSIVA a partir de portas lógi- cas E (AND) e OU (OR), onde na saída de cada porta lógica, também existirá sua função, conforme ilustrado na figura a seguir: CIRCUITO LÓGICO FORMADO POR PORTAS E / OU E SUA FUNÇÃO DE SAÍDAS Fonte: elaborada pelo autor (2022). #pratodosverem: a imagem representa um esquema eletrônico de uma porta lógica OU EXCLUSIVA, composta por dois desenhos geométricos centrais representando duas portas E e outra figura geométrica mais à direita da figura, representando uma porta OU Conforme descrito na Figura anterior, o circuito lógico possui saída S = + onde devemos analisar que a saída projetada nada mais é que a junção das saídas de duas outras portas lógicas E (AND) anteriores que possuem, em comum, uma entrada inversora devido a presença de duas portas lógicas NOT. Assim, podemos perceber que a saída das portas E (AND) são e S = que irão juntas servir como entradas para uma porta OU (OR). Embora se possa notar que esses circuitos são montados a partir de blocos lógicos, devemos ressaltar também que esses circuitos são considerados cir- cuitos combinacionais, pois são obtidos através de uma Tabela Verdade e que gera uma expressão booleana que o representa. 46 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 CONCLUSÃO Nesta unidade, você aprendeu que os computadores digitais são máquinas que funcionam baseadas na eletrônica digital que foram desenvolvidas por meio de uma lógica computacional conhecida como álgebra de Boole (ou álgebra booleana). Nessa matemática, a representação das comunicações nos computadores é representada por apenas dois valores: 0 (zero) ou 1 (um). O primeiro modelo computacional foi proposto pelo matemático John Von Neumann, que, posteriormente, teve a arquitetura aprimorada pelo modelo de Harvard. O conjunto de instruções que uma máquina realiza é conhecido como algoritmo que é mediado por meio de entradas e saídas dessas instru- ções. No geral, você conheceu que todo computador é constituído por uma unida- de central de processamento, por uma memória e por dispositivos de entrada e saída (E/S) e que precisa ter como funções básicas a capacidade de proces- samento, de armazenamento, de transferência e de controle de dados. UNIDADE 3 OBJETIVO Ao final desta unidade, esperamos que possa: 47 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES > Entender ofuncionamento interno de uma CPU e como é a sua comunicação com os demais periféricos e dispositivos de E/S. > Aprender sobre tipos de memórias, mecanismos de interrupção e as funções dos barramentos na comunicação. 48 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES 3. OS COMPONENTES BÁSICOS DE UM COMPUTADOR INTRODUÇÃO DA UNIDADE Na unidade Os Componentes Básicos de um Computador serão apresen- tados os componentes básicos de um computador, serão abordados conteú- dos sobre os subsistemas de dados e memória, como é feita a comunicação entre os dispositivos e periféricos através dos barramentos, as atribuições da unidade central de processamento, sua composição interna e suas funções. Por fim, serão apresentados os mecanismos de interrupção, os tipos de bar- ramentos, os tipos de comunicações e as características dos periféricos de um sistema computacional. Preparado para aprender? Vamos lá! 3.1 OS COMPONENTES BÁSICOS DE UM COMPUTADOR Nesta unidade, aprenderemos sobre os conceitos básicos de um computa- dor e de todo um sistema computacional, como ocorrem os processamentos dos dados e a transformação das informações, os componentes básicos da informação e como ocorre a hierarquia entre os dispositivos e os dados ma- nipulados entre eles. Você saberia dizer qual o dispositivo mais importante de um computador? Como os dados são processados por esses dispositivos eletrônicos. Ficou curioso? Então vamos conferir. 3.1.1 CPU E SUA ARQUITETURA Um computador tem um objetivo que é de alguma maneira, interagir com o ambiente externo que, na prática, são os dispositivos de entrada e saída (E/S) que, no geral, representam os periféricos e as linhas de comunicação, conhe- cidas como barramentos, conforme Figura a seguir: 49 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ESTRUTURA DE UM COMPUTADOR Fonte: elaborado pelo autor (2022). #pratodosverem: a imagem representa a estrutura de um computador representado por círculos pontilhados interseccionados, com o barramento do sistema no centro da figura, interligando os outros componentes de um computador: dispositivos de E/S, CPU e Memória. Conforme descrito na Figura anterior, um computador é constituído por qua- tro componentes principais: • Unidade central de processamento (CPU): representado na prática pelo processador dentro de um computador, a CPU é o cérebro da máquina, todas as instruções de rotinas e processamento de dados são operadas e controladas por ela. É constituída internamente por quatro unidades funcionais: unidade lógica aritmética (ULA), barramento interno, unidade de controle e registradores (PAIXÃO, 2014). 50 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES • Memória principal: local onde os dados são armazenados e manipulados para a execução das instruções de rotinas (MORAES, 2022). • Dispositivos de entrada e saída (E/S): dispositivos responsáveis por encaminhar os dados entres os dispositivos principais do computador e o ambiente externo, através de portas e conexões para comunicação de dados. • Barramentos do sistema: mecanismo responsável pela comunicação entre a CPU, memória e dispositivos de entrada e saída (E/S). Hoje, na prática, essa comunicação é feita pelos cabos de dados flat do tipo IDE, ATA, SATA, entre outros. Como sendo o dispositivo mais importante de um sistema computacional, a arquitetura de um processador, nome dado à CPU, evoluiu muito nos últimos anos devido ao avanço tecnológico promovido nas áreas da microeletrônica e nanotecnologia, onde hoje podemos encontrar no mercado processadores com vários núcleos. Em geral, todos os CI’s (circuitos integrados), processam dados pois são desenvolvidos por circuitos que recebem sinais elétricos de baixa tensão (os bits do sinal digital) e geram sinais elétricos de saída. Outra característica peculiar dos processadores é a presença de uma arquitetura mais complexa, o diferenciando dos demais circuitos integrados. Cabos de dados do tipo ATA, SATA, que significa Serial Advanced Technology Attachment, são os cabos utilizados hoje na maioria das arquiteturas de computadores devido à alta taxa de transferência serial de dados entre os dispositivos internos, através da motherboard (placa mãe), que é a principal placa de um sistema computacional. Todos os dispositivos se conectam através dela utilizando tais cabos de transferência de dados. 51 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Os principais componentes que constroem um processador e sua arquitetura simplificada são mostrados na Figura a seguir: ELEMENTOS DE UM PROCESSADOR (CPU) Fonte: elaborada pelo autor (2022). #pratodosverem: a imagem representa um esquema dos elementos de um processador, onde a ULA é representada por um bloco retangular mais à esquerda da figura, interligado por setas ao bloco unidade de controle no formato retangular, e os registradores que são representados por uma tabela com duas colunas e quatro linhas. De acordo com a Figura anterior, temos no processador a unidade lógica aritmética (ULA) que é um circuito eletrônico complexo que recebe na sua entrada pulsos elétricos que representam a lógica binária e gera na saída o resultado ou manipulação através de uma ou várias operações lógicas ou arit- méticas. Geralmente, as operações aritméticas de um computador são exe- cutadas em dois tipos de números: os números inteiros e ponto flutuante. A ULA é realmente a parte do computador que executa as operações lógicas e aritméticas sobre os dados e os demais elementos que tem, entre outras funções, trazer os dados para serem processados pela ULA e, posteriormente, levar os resultados de volta. 52 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Além de executar as operações, a ULA ativa bits considerados especiais, de- nominados de flags, como resultado das operações realizadas, que são arma- zenados nos registradores que ficam dentro do processador. Nesse caso, a unidade de controle disponibiliza sinais que controlam a operação da ULA e a movimentação dos dados entre os elementos. A ULA está conectada aos re- gistradores através de um barramento interno, construindo o que chamamos de o caminho de dados (MAIA, 2022). Assista esta videoaula para reforçar os conhecimentos sobre o uso e aplicações de uma CPU em um computador. Clique aqui. Pode-se utilizar, na prática, um conjunto de registradores para uma execução paralela de instruções. Os dados são apresentados à ULA através dos registra- dores e os resultados das operações são armazenados, por consequência, nos registradores. A Figura a seguir mostra um modelo simplificado de uma ULA (unidade lógica aritmética): ULA – MODELO SIMPLIFICADO Fonte: adaptado de Stallings (2010). #pratodosverem: a imagem representa a figura simplificada de unidade lógica aritmética, representada por um desenho de um trapézio. https://www.youtube.com/watch?v=kuNq7eLdu8c 53 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Na figura anterior, temos um circuito do tipo combinatório, pois possui duas entradas (A e B) que são controladas, na prática, por um gerador de sinal de controle (S), que libera os sinais de entrada através de uma porta, onde o re- sultado é mostrado através da SAÍDA do circuito. Veja a seguir: • Unidade de controle é responsável por receber as instruções que estão armazenadas na memória e decodificá-las. É um circuito que está diretamente ligado às execuções das instruções pela CPU. Também é função de uma unidade de controle emitir os sinais para os dispositivos periféricosatravés dos barramentos para informá-los das operações que os mesmos precisam executar. • Registradores são porções de memórias com capacidade de armazenamento bem reduzido e limitado, que são alimentadas por corrente elétrica. Todos os componentes são interligados internamente entre si através dos barramentos internos. Além desse barramento, também existem os barramentos de dados, que tem a função de levar os sinais de dados entre a CPU e os outros componentes; e também existem os barramentos de endereços que transportam os sinais que localizam os endereços em uma posição de memória ou abrem conexões entre a CPU e os dispositivos de entrada e saída. (PATTERSON, HENNESSY, 2017). 3.1.2 MEMÓRIA E DISPOSITIVOS DE E/S (ENTRADA E SAÍDA) Devido às variações de custo com relação a capacidade de armazenamento, as memórias de um sistema computacional são divididas em níveis hierár- quicos para podermos otimizar a relação custo/benefício na montagem dos computadores. 54 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Em sistema computacional, as memórias são divididas em internas e externas, onde as memórias internas são aquelas que estão localizadas mais próximas do processador como os registradores, cache, ROM e a RAM; e as memórias externas que são dispositivos acessíveis através da controladora de E/S. (MAIA, 2022). As memórias internas geralmente têm dependência da largura dos barra- mentos de dados e são expressas em termos de bytes (ou oito bits); já as me- mórias externas são transferidas em unidades maiores chamados de blocos. Com relação ao método de acesso às memórias, as mesmas são classificadas em acesso sequencial, direto, aleatório ou associativo. Memórias de acesso sequencial são memórias organizadas em registros com acesso linear onde o tempo de acesso é variável; memórias de acesso direto os dados são armazenados em blocos de forma aleatória; memórias de acesso aleatório (ou randômico) cada posição de memória tem seu próprio mecanismo de leitura/escrita e acesso associativo é a memória onde as buscas pelas informações iniciam a partir da comparação entre endereço real e virtual. (MORAES, 2022). Na hierarquia de memória, o topo da pirâmide tem como parâmetro referen- cial a frequência ou taxa de transferência de dados, tendo os registradores como a memória que tem esse melhor desempenho, seguido da memória cache e da memória principal. As memórias mais rápidas são as mais caras, quanto maior a capacidade, maior o tempo de acesso à s informações con- tidas nas posições de memórias e memórias com maior capacidade tem o menor custo por bit. 55 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Assista esta videoaula para reforçar os conhecimentos sobre o tipo de memória RAM, suas funções e aplicações em sistemas computacionais. Clique aqui. Dispositivos de entrada e saída (E/S) são chamados de periféricos pois não fazem parte do núcleo central do sistema computacional e são representa- dos na prática por inúmeros elementos eletrônicos que tem a função de cap- tar estímulos elétricos vindo do mundo exterior do sistema e levar até a CPU através dos barramentos. O principal barramento é chamado de barramento do sistema (system bus) que tem a finalidade de interligar todos os compo- nentes do sistema (CPU, memória) e por onde trafegam os mesmos tipos de informações, dados, endereços e sinais de controle, interligando dois os mais subsistemas, conforme ilustrado na Figura a seguir: BARRAMENTOS DO SISTEMA Fonte: elaborado pelo autor (2022). #pratodosverem: a figura mostra os barramentos usados em uma comunicação interna entre o processador e os outros dispositivos internos, através de blocos. Um bloco na cor cinza claro representa a CPU, localizado logo acima de um bloco retangular na cor cinza que representa a memória secundária que se comunica com os barramentos horizontais nas cores verde, azul e salmão claro. https://www.youtube.com/watch?v=2EWJms8vrys&t=32s 56 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUITETURA DE COMPUTADORES Conforme mostrado na figura anterior, temos um subsistema de memória e um subsistema de E/S, interligados através dos barramentos dos sistemas, controlados pela CPU. Os barramentos do sistema têm função similar aos barramentos internos do processador que, por sua vez, permitem a troca de informações entre os registradores e as demais unidades da CPU. O funcionamento dos dispositivos de entrada e saída (E/S) é operacionalizado através de diversos outros elementos eletrônicos que compõem o seu subsis- tema, mesmo tendo as mesmas funções, possuem características peculiares que, em conjunto, recebem ou enviam informações aos periféricos e conver- tem os sinais elétricos oriundos das trocas de informações com os dispositivos E/S em linguagem de máquina, para ser interpretada pelo processador. 3.1.3 UNIDADE DE CONTROLE E REGISTRADORES A unidade de controle tem duas funções específicas em um computador: coordenar para que o processador execute as instruções na sequência devida de acordo com o software que está sendo usado e gerar sinais de controle para gerenciar as tais instruções citadas. A execução de uma instrução é cons- truída de uma sequência de subpassos, denominados de ciclos, onde cada ciclo é uma sequência de operações que, pode representar na prática, uma simples troca de dados entre os registradores, uma troca de dados entre um registrador e o barramento, entre outras operações. Entretanto, uma unidade de controle gerencia os recursos disponíveis e o fluxo de dados entre todos os dispositivos de um sistema computacional. Os sinais de controle gerados pela unidade de controle causam o funcionamento das portas lógicas através de trocas de sinais elétricos, resultando no envio de dados entre registradores ou durante uma operação que envolva a unidade lógica aritmética (ULA). Entre as diversas funções de uma unidade de controle temos: • Buscar as instruções na memória principal do computador. • Decodificar as instruções. • Sequenciar e organizar as instruções. • Enviar sinais de controle para controlar as execuções das instruções. A Figura a seguir detalha todos os elementos que compõem uma unidade 57 ARQUITETURA DE COMPUTADORES MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 de controle, identificada como elemento de uma CPU (processador) que, por sua vez, faz parte de um computador. ELEMENTOS DE UMA UNIDADE DE CONTROLE Fonte: elaborada pelo autor (2022). #pratodosverem: esquema lógico que mostra as divisões internas de um computador onde cada círculo pontilhado representa um elemento essencial da estrutura de um computador. Na Figura anterior, a unidade de controle tem a responsabilidade de receber as instruções do barramento vindo dos registradores, onde estão armazena- dos os dados enviados da ULA. Lembrando que a unidade de controle não executa as instruções, ela lê os dados, decodifica e repassa os comandos para a ULA, identificando como as instruções devem ser executadas e quais dados serão utilizados. De acordo e seguindo as instruções, a ULA irá recolher os da- dos na memória, executar as devidas instruções sequencialmente e retornar o resultado novamente para a memória onde será armazenado. Tudo sob a supervisão da unidade de controle, onde os dados lidos são enviados para alguma posição de memória, através do barramento de dados, gerando um fluxo de dados; já os endereços são enviados através de um barramento de endereço. Para que a unidade de controle possa desempenhar as suas devidas funções, ela precisa ter certas especificações para poder provê-las, como portas de en- tradas para designar o status do sistema e portas de saída para poder contro- lar o comportamento
Compartilhar