Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 1/60</p><p>Base Computacional</p><p>Prof.º Leandro de Mattos Ferreira</p><p>Descrição</p><p>Conceitos básicos de computadores. Evolução histórica e principais</p><p>componentes.</p><p>Propósito</p><p>Ilustrar a origem e a evolução dos computadores para a compreensão</p><p>do funcionamento dos atuais sistemas computacionais.</p><p>Objetivos</p><p>Módulo 1</p><p>A evolução dos computadores</p><p>Reconhecer a evolução histórica dos computadores.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 2/60</p><p>Módulo 2</p><p>Sistema computacional</p><p>Identificar os componentes de um sistema computacional –</p><p>hardware e software.</p><p>Módulo 3</p><p>O papel do sistema computacional</p><p>Interpretar o papel do sistema operacional nos computadores.</p><p>Módulo 4</p><p>Comunicação em rede e sistema</p><p>computacional</p><p>Relacionar a importância da comunicação em rede com os sistemas</p><p>computacionais.</p><p>Introdução</p><p>O século XX trouxe muitas inovações nos diversos campos da</p><p>ciência e tecnologia. Uma das que mais alterou o estilo de vida</p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 3/60</p><p>e a sociedade foi a invenção e o desenvolvimento dos</p><p>computadores. O tema abordará a história e a evolução dos</p><p>computadores.</p><p>Vamos apresentar os componentes de um sistema</p><p>computacional, o conceito de hardware e software, seus tipos e</p><p>como a interação entre eles abre caminhos para soluções</p><p>inovadoras. Trata os seus componentes e as tendências que</p><p>os saltos evolutivos trouxeram.</p><p>Nesse material, você verá o papel do sistema operacional, seu</p><p>histórico, funções e tendências no mercado. O estudo discorre</p><p>sobre a relação entre a comunicação de rede e os sistemas</p><p>computacionais, trazendo um histórico desde a internet</p><p>discada até os tempos atuais.</p><p>Vamos lá!</p><p>1 - A evolução dos computadores</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 4/60</p><p>Ao �nal deste módulo, você será capaz de reconhecer a evolução histórica</p><p>dos computadores.</p><p>Desenvolvimento do</p><p>computador em quatro</p><p>gerações</p><p>Este módulo apresentará os principais marcos na invenção e evolução</p><p>dos computadores para que você entenda como e por que os sistemas</p><p>computacionais foram criados, além de conhecer as suas etapas.</p><p>Máquina de Turing</p><p>Antes de entender o desenvolvimento do primeiro computador, assista</p><p>a este vídeo sobre a máquina de Turing: um precursor matemático do</p><p>computador.</p><p>Vamos ver agora como ocorreu o desenvolvimento do computador,</p><p>conhecendo suas quatro gerações.</p><p>Gerações dos computadores</p><p></p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 5/60</p><p>Primeira geração: vávulas termiônicas</p><p>Ainda durante a Segunda Guerra Mundial, nos Estados Unidos, foi</p><p>desenvolvido o primeiro computador eletrônico da história. Trata-se do</p><p>ENIAC, um computador integrador numérico eletrônico, cujos números</p><p>impressionam.</p><p>Veja a seguir uma foto deste modelo:</p><p>Componentes: 170.000 válvulas termiônicas.</p><p>Peso: Cerca de 30 toneladas.</p><p>Espaço utilizado: Sala de 150m².</p><p>Capacidade de processamento (número de cálculos</p><p>por segundo): 1 bilhão de vezes menor que a dos</p><p>celulares usados hoje em dia.</p><p>Para evoluirmos desse verdadeiro elefante até os computadores atuais,</p><p>foi preciso substituir as válvulas, já que elas eram pesadas e</p><p>espaçosas.</p><p>É possível que você esteja se perguntando: o que tornou</p><p>isso viável?</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 6/60</p><p>Quem possibilitou isso foi o transistor, cuja criação iniciou a era da</p><p>microeletrônica.</p><p>Segunda geração: transistores</p><p>Os primeiros transistores ocupavam apenas alguns</p><p>milímetros, precisando de bem menos energia que as</p><p>válvulas. Assim, foi possível reduzir o tamanho de rádios,</p><p>equipamentos eletrônicos em geral e computadores.</p><p>Na imagem, um transistor.</p><p>Terceira geração: circuitos integrados</p><p>Na década de 1960, o próximo salto de evolução foi dado</p><p>com a criação dos circuitos integrados (CI): pastilhas de</p><p>silício que contêm um circuito eletrônico miniaturizado. É</p><p>o que, de forma comum, chamamos de chip de</p><p>computador.</p><p>Na imagem, um circuito integrado.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 7/60</p><p>Com o uso de transistores e CI, os computadores ficaram menores e</p><p>cada vez mais baratos.</p><p>Em meados da década de 1970, houve a eclosão dos</p><p>computadores pessoais (denominados PCs, sigla em</p><p>inglês para Personal Computers).</p><p>Duas famosas empresas do setor, aliás, surgiram nesse período:</p><p>Microsoft Corporation</p><p>Empresa de maior faturamento em programas de</p><p>computador, conhecida pelo sistema operacional</p><p>Windows e pelo conjunto de ferramentas</p><p>chamado de Office. Fundada em 1975, nos</p><p>Estados Unidos, por Bill Gates (um dos homens</p><p>mais ricos do mundo) e Paul Allen.</p><p>Apple Inc.</p><p>Em 1976, vendeu 200 unidades do seu primeiro</p><p>PC, o Apple I. No ano seguinte, contudo, o Apple II</p><p>vendeu milhares de unidades. A organização,</p><p>então, abriu seu capital na bolsa de Nova York.</p><p>Quarta geração: microprocessadores</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 8/60</p><p>A década de 1980 presenciou a proliferação de PCs cada vez mais</p><p>potentes, baratos e conectados por meio do surgimento das redes</p><p>locais de computadores e da internet: a rede mundial.</p><p>Além disso, um novo equipamento aparecia nos lares: o videogame, um</p><p>tipo de computador especializado, cujos programas são jogos</p><p>eletrônicos com ênfase nos gráficos e na interação com os usuários.</p><p>Após o fim do século XX, os computadores já eram tão pequenos e</p><p>potentes que se encontravam embarcados em diversos equipamentos</p><p>cotidianos, como automóveis, aviões e videogames, além de se tornar</p><p>mais comum a presença dos laptops (microcomputadores pessoais</p><p>portáteis) nas casas das pessoas.</p><p>Não tardou muito para que eles fossem integrados a televisões e</p><p>celulares. Nos anos 2010, essa integração passou a ser feita por</p><p>intermédio de smartphones e smart TVs.</p><p>Computação no cotidiano</p><p>Hoje em dia, muitos celulares já são, de fato, computadores pessoais</p><p>portáteis, plenamente conectados pela rede de telefonia móvel</p><p>(celular). Nossa dependência em relação a eles para as tarefas do</p><p>cotidiano já é tão forte que nem percebemos quando os utilizamos,</p><p>inclusive estranhando sua ausência.</p><p>Afinal, usamos computadores para:</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 9/60</p><p>Comunicação</p><p>Meios de transporte</p><p>Transações bancárias e</p><p>comerciais</p><p>Atualmente, até o dinheiro não é guardado mais em cofres. Os saldos</p><p>bancários são armazenados digitalmente nos servidores dos bancos.</p><p>Se todos os correntistas de um banco solicitassem retirar inteiramente</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 10/60</p><p>o dinheiro guardado nele, não haveria cédulas suficientes no cofre para</p><p>atendê-los.</p><p>Saiba mais</p><p>Para demonstrar a evolução desse conceito, foi</p><p>desenvolvido um sistema de troca de dinheiro</p><p>independente dos bancos. Proposto em 2008, o coin</p><p>utiliza uma cadeia de transações descentralizada que</p><p>qualquer pessoa pode auditar: o blockchain. Com essa</p><p>tecnologia, é possível receber e enviar dinheiro sem</p><p>precisar de bancos, além de todas as suas transações</p><p>serem verificáveis por qualquer pessoa com acesso à</p><p>internet.</p><p>Tendências</p><p>O ramo da Ciência da Computação está em amplo desenvolvimento.</p><p>Segundo o portal Statista, em 2019, cinco das seis maiores</p><p>companhias do mundo (em valor de mercado) eram do ramo da</p><p>computação:</p><p>Apple</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 11/60</p><p>Microsoft</p><p>Amazon</p><p>Alphabet (Google)</p><p>Facebook</p><p>Na área da tecnologia, estudos e pesquisas continuam sendo</p><p>realizados em busca de um novo salto</p><p>externas de endereços de</p><p>memória.</p><p>Para buscar a próxima instrução.</p><p>Armazena instrução.</p><p>Para armazenar endereços de Segmentos</p><p>[apontam para determinados segmentos</p><p>(programa, dados, pilha, etc.)].</p><p>Podem ser usadas para indicar o resultado de</p><p>certas instruções.</p><p>Memória cache</p><p>A memória cache é uma memória de pequena capacidade, situada</p><p>entre a memória principal (MP) e o processador. Essa memória</p><p>Contador de instrução ou contador de</p><p>programa - CI (Program Counter - PC) </p><p>Registrador de instrução - RI (Instruction</p><p>Register - IR) </p><p>Segmentos </p><p>Flags </p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 30/65</p><p>armazena certa quantidade dos dados que estão sendo utilizados no</p><p>momento, e que são transferidos para o processador em alta</p><p>velocidade.</p><p>Uma pergunta que muitos podem fazer é:</p><p>Por que muitas memórias e não apenas uma?</p><p>O ideal seria haver apenas uma memória nos computadores, com os</p><p>seguintes requisitos:</p><p>Como, em termos práticos, hoje ainda não é possível a existência desse</p><p>tipo de memória, faz-se necessária a adoção de soluções mais viáveis</p><p>para compensar a diferença de velocidades que existe entre o</p><p>processador e a MP.</p><p>A figura ao lado ilustra a comparação de velocidades que</p><p>existem entre o processador e a MP (apenas</p><p>processador e MP).</p><p>Há uma grande diferença de tempo entre a transferência</p><p> Tempo de acesso muito curto</p><p>(semelhante ao do processador)</p><p> Grande capacidade de armazenamento</p><p> Armazenamento permanente (não</p><p>volátil)</p><p> Baixo custo</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 31/65</p><p>da MP para o processador e este usar os dados. No</p><p>exemplo, o processador gasta 2 nanosegundos para</p><p>somar e espera 100 nanosegundos para receber novos</p><p>dados.</p><p>Comparação de velocidades entre o processador e a MP.</p><p>Princípio da localidade</p><p>O princípio da localidade é um princípio de programação que determina</p><p>o modo como as instruções são executadas (em sequência, durante</p><p>certo tempo).</p><p>Nele, os programas são organizados de modo que as linhas de código</p><p>costumam ser executadas em sequência.</p><p>Apenas em alguns momentos a sequência é interrompida e o processo</p><p>desvia da sequência, sendo esta retomada em seguida.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 32/65</p><p>O modo como as instruções são executadas na MP.</p><p>O princípio da localidade é dividido em:</p><p>Localidade</p><p>espacial</p><p>Sempre que o</p><p>processador</p><p>realiza um acesso</p><p>a um endereço de</p><p>memória, é</p><p>provável que o</p><p>próximo acesso</p><p>seja ao endereço</p><p>contíguo</p><p>seguinte.</p><p>Localidade</p><p>temporal</p><p>Sempre que o</p><p>processador</p><p>realiza um acesso</p><p>a um endereço de</p><p>memória, é</p><p>provável que, em</p><p>curto tempo, ele</p><p>acesse</p><p>novamente o</p><p>mesmo endereço.</p><p>Devido ao princípio da localidade (espacial), é possível incluir uma</p><p>memória de pequena capacidade, chamada memória cache, entre a</p><p>MP e o processador.</p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 33/65</p><p>A figura a seguir ilustra novamente a comparação de velocidades que</p><p>existem entre o processador e a MP, mas, agora, utilizando memória</p><p>cache como intermediária.</p><p>Caso seja usada uma memória intermediária de alta velocidade entre a</p><p>MP e o processador (que armazena uma cópia dos dados sendo</p><p>imediatamente usados), este irá esperar 2 nanosegundos pelos dados,</p><p>ao invés de 100 nanosegundos.</p><p>Comparação de velocidades entre o processador e a MP usando a memória cache intermediária.</p><p>Memória principal (MP)</p><p>A memória principal (MP) é a memória básica, na qual o programa que</p><p>será executado e seus dados são armazenados, para que o</p><p>processador busque cada instrução ao longo do tempo de</p><p>processamento.</p><p>Memórias muito antigas usavam o método de acesso sequencial, em</p><p>que o endereço de cada acesso era sempre relativo ao endereço inicial.</p><p>Exemplo de acesso sequencial é o dos sistemas VHS (videocassete) e</p><p>das fitas magnéticas.</p><p>Saiba mais</p><p>Em 1968, um cientista da IBM criou uma memória</p><p>constituída apenas de componentes eletrônicos e cujo</p><p>acesso dependia apenas de seu endereço, sendo</p><p>independente dos demais. Por isso, ele chamou-a de</p><p>memória de acesso aleatório ou RAM (Ramdom-Access</p><p>Memory). Estas memórias (logo chamadas de DRAM,</p><p>cujo D vem da palavra dinâmica) passaram</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 34/65</p><p>progressivamente a ser o tipo usado para acesso pelo</p><p>processador e, daí, tornaram-se a memória principal de</p><p>praticamente todos os sistemas de computação.</p><p>A memória principal (RAM) permite a realização de duas operações:</p><p>Escrita (armazenar)</p><p>O dado anteriormente armazenado é apagado.</p><p>Leitura (recuperar)</p><p>Normalmente se recupera uma cópia do dado.</p><p>A memória é organizada como um conjunto de N partes iguais, com</p><p>cada parte possuindo um conteúdo fixo de M bits.</p><p>O valor de M depende do tipo de memória. Usualmente é 8 bits (1 Byte)</p><p>nas memórias RAM, mas existem valores maiores para outras</p><p>memórias.</p><p>Diferentes tamanhos de memórias.</p><p>Cada parte (chama-se célula ou, em alguns casos, palavra nas</p><p>memórias RAM, linha nas memórias cache, setor nos HDs etc.) é</p><p>identificada por um número, chamado endereço. Todos os N endereços</p><p>têm mesma largura de endereço, de E bits. Vejamos um breve exemplo.</p><p>Exemplo</p><p>Para o endereço 1011101, a largura de endereço E será 7</p><p>bits.</p><p>Uma memória com N partes também possui N endereços. O cálculo de</p><p>N no endereçamento pode ser realizado da seguinte maneira:</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 35/65</p><p>Onde:</p><p>E = Largura de cada endereço;</p><p>N = Quantidade de endereços (partes endereçáveis).</p><p>Vejamos um breve exemplo:</p><p>Exemplo</p><p>Se a largura de endereços é igual a 6 bits, a quantidade</p><p>de endereços N será: 26 = 64 endereços</p><p>Esta figura esquematiza simplificadamente os termos apresentados</p><p>anteriormente:</p><p>Organização básica de uma memória.</p><p>As memórias eletrônicas que empregam o acesso aleatório podem ser</p><p>fabricadas para permitir duas aplicações:</p><p>Para leitura e escrita</p><p>Read/Write – R/W</p><p>Somente para leitura</p><p>Read Only Memory – ROM</p><p>2E = N</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 36/65</p><p>R/W</p><p>O termo R/W nunca foi adotado, usa-se RAM para representar memórias</p><p>voláteis para leitura e escrita, e ROM para representar memórias não</p><p>voláteis somente para leitura.</p><p>As memórias RAM são constituídas de dois tipos:</p><p>Cada bit é constituído de 5 a 7 transístores;</p><p>Não requer recarregamento, sendo, por isso,</p><p>mais rápidas, mas ocupam mais espaço e</p><p>são mais caras;</p><p>Usadas como memória cache.</p><p>Cada bit é constituído por 1 capacitor e 1</p><p>transístor;</p><p>O capacitor serve para representar o valor do</p><p>bit e o transístor para ser usado nas</p><p>leituras/escritas;</p><p>Como o capacitor se descarrega, é preciso</p><p>recarregar periodicamente (sinal de refresh –</p><p>gasta tempo);</p><p>Usadas como memória principal.</p><p>As memórias dinâmicas podem ser de dois tipos, vejamos a seguir:</p><p>Memórias dinâmicas assíncronas</p><p>Não são sincronizadas com o processador, por exemplo,</p><p>Dynamic RAM (DRAM), Fast Page Mode (FPM), Extended</p><p>SRAM (Static Random-Access Memory) </p><p>DRAM (Dynamic Random-Access Memory) </p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 37/65</p><p>Data Out DRAM (EDO), Burst Extended Data Out DRAM</p><p>(BEDO).</p><p>Memórias Dinâmicas Síncronas</p><p>Sincronizadas com o processador, evitam que o</p><p>processador espere os dados, por exemplo, Synchronous</p><p>DRAM (SDRAM), Double Data Rate (DDR), Double Data Rate</p><p>2 (DDR2).</p><p>Hoje em dia, é comum o uso de memórias DDR SDRAM, pois as</p><p>memórias Single Data Rate (SDRAM) só transferem dados na subida</p><p>do sinal de clock; Já as memórias Double Data Rate (DDR-SDRAM)</p><p>transferem dados na subida e na descida do sinal de clock, dobrando a</p><p>taxa de transferência de dados (data rate);</p><p>Assim, uma memória DDR-</p><p>SDRAM operando num clock de 100MHz (real) consegue desempenho</p><p>equivalente a 200MHz (efetivo).</p><p>Também existe a classificação quanto ao tipo de encapsulamento das</p><p>memórias (formatos dos módulos):</p><p>SIMM (Single In Line Memory Module)</p><p>O contato elétrico de um lado é igual ao do outro lado.</p><p>DIMM (Dual In Line Memory Module)</p><p>Os contatos dos dois lados são independentes.</p><p>Memória secundária</p><p>Terminando a pirâmide da hierarquia de memória, a memória</p><p>secundária objetiva o armazenamento persistente (permanente) aos</p><p>programas de usuário e seus dados.</p><p>O emprego de diferentes tecnologias para compor os diferentes tipos</p><p>de memórias da hierarquia pode ser feito através de parâmetros para</p><p>análise, tais como:</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 38/65</p><p> Tempo de acesso: Também conhecido como</p><p>tempo de acesso para leitura ou tempo de</p><p>leitura.</p><p> Ciclo de memória: É outro parâmetro (apenas</p><p>para memórias eletrônicas), indica o tempo</p><p>entre 2 operações sucessivas de leitura ou</p><p>escrita.</p><p> Capacidade.</p><p> Volatilidade.</p><p> Tecnologia de fabricação: Memórias de</p><p>semicondutores, memórias de meio magnético,</p><p>memória de meio óptico.</p><p> Temporariedade: Permanente, transitório</p><p> Custo.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 39/65</p><p>Para os tipos de memória da hierarquia, podem ser exemplificados</p><p>alguns parâmetros de análise, conforme exibido na tabela:</p><p>Internamente no pr</p><p>Registrador(es) Cache L1</p><p>Tecnologia de</p><p>fabricação</p><p>Eletrônica Eletrônica</p><p>Volatilidade Volátil Volátil</p><p>Tempo de</p><p>acesso</p><p>Ex.: 1 a 2ns Ex.: 2 a 6ns</p><p>Capacidade 32 ou 64 bits 8KB, 256KB,</p><p>Tabela: Parâmetros de análise das memórias.</p><p>Fabio Henrique Silva</p><p>A sequência de transferência de dados realizada entre o processador e</p><p>as memórias em um sistema computacional é hierárquica, conforme</p><p>mostrado na imagem a seguir.</p><p>Ou seja, grosso modo, em uma operação de leitura, o processador:</p><p> Irá verificar primeiro se o dado está localizado</p><p>na cache L1.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 40/65</p><p>O mesmo raciocínio pode ser aplicado na operação de escrita, na qual</p><p>o processador escreverá sempre na cache mais próxima dele, mas o</p><p>dado precisa estar atualizado na memória principal (RAM) para, em</p><p>seguida, ser armazenado na memória permanente (HD, por exemplo).</p><p>Diferentes tamanhos de memórias.</p><p>Memória</p><p>Confira agora com mais detalhes os conceitos apresentados.</p><p> Caso não esteja, verificará se o dado se</p><p>encontra na cache L2 e L3 (se houver).</p><p> Finalmente, irá buscar o dado na memória</p><p>principal, caso o dado não esteja localizado em</p><p>nenhuma das memórias cache consultadas.</p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 41/65</p><p>Subsistema de entrada e</p><p>saída (E/S)</p><p>Objetivos e funções</p><p>O subsistema de entrada e saída (E/S) tem por função interligar o</p><p>mundo exterior (o nosso mundo) ao mundo interior (processador-</p><p>memória). Os dispositivos de entrada e saída também são chamados</p><p>periféricos, pois estão na periferia do núcleo processador/memória</p><p>principal.</p><p>São funções do subsistema de E/S:</p><p>Dispositivo e interface</p><p> Receber ou enviar informações do/para o meio</p><p>exterior..</p><p> Converter as informações (de entrada ou de</p><p>saída) em uma forma inteligível para a máquina</p><p>(se estiver recebendo) ou para o operador (estar</p><p>enviando).</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 42/65</p><p>Todo componente de E/S é constituído de 2 partes: O dispositivo</p><p>propriamente dito; um componente denominado interface. Vejamos</p><p>alguns exemplos:</p><p>Exemplo</p><p>Monitor de vídeo (dispositivo) e placa de vídeo</p><p>(interface); disco magnético (composto pelo dispositivo</p><p>hard disk e pelo controlador ou interface).</p><p>Agora, vejamos como o subsistema de E/S se comunica dentro de um</p><p>sistema de computação a partir do esquema a seguir:</p><p>Como o subsistema de E/S se comunica dentro de um sistema de computação.</p><p>Interface ou controlador serve para compatibilizar as diferentes</p><p>características entre o processador/memória e o dispositivo que</p><p>controla, bem como controlar o funcionamento do referido dispositivo.</p><p>Exemplo</p><p>Uma placa de vídeo é interface do monitor, assim como a</p><p>placa controladora de um HD.</p><p>Confira um esquema visual da localização do controlador:</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 43/65</p><p>Esquema ilustrativo da localização do controlador.</p><p>A necessidade do emprego de interfaces tem origem em diversos</p><p>fatores:</p><p> 1</p><p>Cada dispositivo possui suas próprias</p><p>características. Exemplo: velocidade de</p><p>transferência de dados, quantidade de bits</p><p>enviados em cada instante, formato do dado a</p><p>ser transferido etc.</p><p> 2</p><p>As atividades de E/S são assíncronas, isto é,</p><p>não são sincronizadas pelos pulsos do relógio</p><p>interno. Nunca se sabe quando uma tecla será</p><p>pressionada no teclado, nem quando termina o</p><p>movimento de braço de leitura e gravação</p><p>dentro de um disco rígido. Há necessidade de</p><p>um acordo para a comunicação fluir</p><p>corretamente.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 44/65</p><p>Em relação aos dispositivos de E/S devemos ressaltar que cada um</p><p>possui suas próprias características. Veja melhor na imagem a seguir:</p><p>Características dos dispositivos de E/S.</p><p>Exemplos de dispositivos ou periféricos são:</p><p>Teclado, mouse, mesa digitalizadora, scanner etc.</p><p>Exemplo: O teclado possui o seguinte processo</p><p>de funcionamento:</p><p>Detecção do pressionamento de uma tecla;</p><p>Confirmação do pressionamento;</p><p>Geração do código de identificação da tecla;</p><p>Sinal de interrupção (grosso modo, incluir o</p><p>pedido de processamento da tecla no meio</p><p>de outras execuções que estão sendo</p><p>realizadas);</p><p>O programa de controle (BIOS) processa o</p><p>significado daquela tecla (por exemplo, um</p><p> 3</p><p>Podem ocorrer ruídos e outras interferências,</p><p>pois os fios externos (geralmente cabos) têm</p><p>comprimento apreciável.</p><p>Dispositivos de entrada </p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 45/65</p><p>caractere), e envia o resultado para a</p><p>aplicação que está em execução; utilizará o</p><p>resultado desse processamento.</p><p>Impressora, caixa de som, monitor.</p><p>Exemplo: A impressora pode ser dos tipos:</p><p>Impacto (esfera, matricial);</p><p>Sem impacto (jato de tinta, laser, sublimação</p><p>de tinta).</p><p>Disco magnético, pen drive, SD Card, disco SSD</p><p>etc.</p><p>Disco magnético</p><p>Funcionamento básico do</p><p>disco magnético</p><p>Dispositivos de saída </p><p>Dispositivos de entrada e saída </p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 46/65</p><p>Um disco magnético é composto por um prato circular construído de</p><p>material não magnético, chamado substrato, revestido com um</p><p>material magnetizável.</p><p>Os dados são gravados e posteriormente recuperados do disco por</p><p>meio de uma bobina condutora chamada cabeça. Em muitos sistemas,</p><p>existem duas cabeças, uma de leitura e uma de gravação. Durante uma</p><p>operação de leitura ou gravação, o cabeçote fica parado enquanto o</p><p>prato gira embaixo dele.</p><p>Disco magnético ou Hard Disk.</p><p>A organização dos dados no prato é feita em um conjunto concêntrico</p><p>de anéis, chamados trilhas. As trilhas adjacentes são separadas por</p><p>intervalos. Isso impede ou minimiza erros devido ao desalinhamento</p><p>da cabeça ou simplesmente interferência de campos magnéticos.</p><p>Atenção!</p><p>Os dados são transferidos para o disco em setores.</p><p>Normalmente, existem centenas de setores por faixa, e</p><p>estes podem ter comprimento fixo ou variável.</p><p>Algumas unidades de disco acomodam vários pratos empilhados</p><p>verticalmente com uma fração de polegada de distância. Os discos de</p><p>múltiplos pratos empregam uma cabeça móvel, com uma cabeça de</p><p>leitura</p><p>e gravação por superfície do prato.</p><p>Todas as cabeças são fixadas mecanicamente, para que todas fiquem</p><p>à mesma distância do centro do disco e se movam juntas. Assim, a</p><p>qualquer momento, todas as cabeças são posicionadas sobre trilhos</p><p>que estão a uma distância igual do centro do disco. O conjunto de</p><p>todas as faixas na mesma posição relativa no prato é chamado de</p><p>cilindro.</p><p>Confira alguns dos elementos da estrutura de um disco magnético:</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 47/65</p><p>Estrutura de um disco magnético.</p><p>Nos primeiros sistemas de computação, a CPU e os periféricos se</p><p>comunicavam por instruções de E/S executadas pelo próprio</p><p>processador. Essas instruções continham detalhes específicos de cada</p><p>periférico, por exemplo, em qual trilha e em qual setor de um disco</p><p>deveria ser lido ou gravado um bloco de dados. Existia uma forte</p><p>dependência entre processador e dispositivos de E/S.</p><p>Com o surgimento do controlador ou interface, estes passaram a agir</p><p>independentemente dos dispositivos. Uma técnica de ação se chama</p><p>E/S controlada por programa, no qual o processador fica ocupado até o</p><p>término da operação de E/S. Outra técnica é denominada E/S</p><p>controlada por interrupção, na qual o processador permanece livre para</p><p>processar outras tarefas.</p><p>A técnica de E/S controlada por interrupção é bem eficiente, porém, na</p><p>ocorrência da transferência de um grande volume de dados, o</p><p>processador tem que intervir mais vezes. A solução adotada para isso</p><p>veio na forma da técnica conhecida como DMA (Direct Access</p><p>Memory).</p><p>Saiba mais</p><p>No DMA, um bloco de dados pode ser transferido entre</p><p>memória principal e dispositivos de E/S sem a</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 48/65</p><p>intervenção do processador, exceto no início e no final da</p><p>transferência.</p><p>Driver de dispositivo</p><p>Cada dispositivo de E/S ligado ao computador precisa de algum código</p><p>específico do dispositivo para controlá-los. A esse código dá-se o</p><p>nome de driver de dispositivo.</p><p>Exemplo A</p><p>Um driver de disco deve saber sobre setores, trilhas,</p><p>cilindros, cabeçotes, movimento do braço etc.</p><p>Exemplo B</p><p>Um driver de mouse deve aceitar informações dizendo o</p><p>quanto se moveu e qual botão foi pressionado.</p><p>Os dispositivos podem transmitir dados em grupos de bits (paralela) ou</p><p>bit por bit em série (ou serial):</p><p>Transmissão</p><p>paralela</p><p>Na transmissão</p><p>paralela, um</p><p>grupo de bits é</p><p>transmitido de</p><p>cada vez, cada</p><p>um sendo enviado</p><p>por uma linha</p><p>separada de</p><p>transmissão.</p><p>Transmissão</p><p>serial</p><p>Na transmissão</p><p>serial, o periférico</p><p>é conectado ao</p><p>dispositivo</p><p>controlador por</p><p>uma única linha</p><p>de transmissão</p><p>de dados, um bit</p><p>de cada vez.</p><p>A transmissão em série utiliza menos condutores e, por isso, tem</p><p>menor custo que a paralela. A transmissão paralela foi usada muito</p><p>tempo para conexão de periféricos (vídeo, impressoras etc.) ao</p><p>processador/memória. No entanto, ela possui um problema chamado</p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 49/65</p><p>deslizamento (em altas taxas). Isso significa que, se houver um mínimo</p><p>atraso em qualquer um dos sinais enviados simultaneamente pelas</p><p>várias linhas, o receptor não captará o dado. Hoje em dia a maioria das</p><p>transmissões paralelas foram substituídas por serial, tais como USB,</p><p>SATA etc. A transmissão paralela é usada apenas nas conexões</p><p>internas do processador e placas-mãe para a ligação entre</p><p>processador, cache e memória principal.</p><p>Transmissão serial e transmissão paralela.</p><p>Dispositivos de entrada e</p><p>saída</p><p>Confira agora mais detalhes sobre os conceitos trabalhados.</p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 50/65</p><p>Tendências</p><p>Segundo Patterson (2011), no que tange aos futuros processadores,</p><p>eles incluirão vários núcleos específicos de domínio, que executam</p><p>apenas uma classe de cálculos, mas o fazem notavelmente melhor do</p><p>que os núcleos de uso geral, visando a melhoria do custo de</p><p>desempenho energético. É a especialização.</p><p>Quanto às memórias, em todas as camadas da pirâmide de hierarquia</p><p>de memória, temos significativos avanços ocorridos:</p><p>Além disso, cabe ressaltar o uso de serviços de recursos remotos, ou</p><p>seja, em nuvem, que empregam recursos compartilhados com alta</p><p> A memória cache possui velocidades e</p><p>tamanhos cada vez maiores, que auxiliam no</p><p>desempenho dos processadores.</p><p> As memórias DDR SDRAM possuem latência</p><p>(atraso que existe para que o dado seja</p><p>acessado pelo processador na memória) cada</p><p>vez menor e maior capacidade de</p><p>armazenamento, sendo utilizadas inclusive em</p><p>placas gráficas de alto desempenho.</p><p> Os dispositivos de memória secundária,</p><p>principalmente discos, estão sendo fabricados</p><p>com novas tecnologias diferentes da tecnologia</p><p>dos antigos discos rígidos, por exemplo, Solid</p><p>State Disks (SSDs), o que confere uma maior</p><p>velocidade de acesso aos dados.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 51/65</p><p>disponibilidade, capacidade e qualidade de experiência para os</p><p>usuários.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Qual é e em que área da UCP (processador) se</p><p>localiza o registrador cujo conteúdo controla a</p><p>sequência de processamento das instruções de um</p><p>programa?</p><p>Parabéns! A alternativa C está correta.</p><p>O registrador é o CI, Contador de Instruções, que</p><p>armazena o endereço da próxima instrução a ser</p><p>A Unidade de controle – UC.</p><p>B Registrador de instrução – RI.</p><p>C Contador de instrução – CI.</p><p>D</p><p>Registrador de dados de memória–</p><p>RDM.</p><p>E Cache L1.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 52/65</p><p>executada. Fica localizado na área de controle.</p><p>Questão 2</p><p>Qual é a função dos registradores de dados?</p><p>Parabéns! A alternativa B está correta.</p><p>Não confunda armazenamento dos dados a serem</p><p>manipulados pelas unidades de cálculo com</p><p>armazenamento da instrução a ser executada (ex.:</p><p>ADD).</p><p>A</p><p>Realizar as operações aritméticas e</p><p>lógicas existentes no conjunto de</p><p>instruções do processador.</p><p>B</p><p>Armazenar os dados a serem</p><p>manipulados pelas unidades de</p><p>cálculo.</p><p>C</p><p>Realizar a movimentação de dados e</p><p>de instruções de E para o</p><p>processador.</p><p>D</p><p>Determinar o período de duração de</p><p>cada uma de suas atividades e</p><p>controlar o sincronismo entre elas.</p><p>E</p><p>Determinar a cadência da execução</p><p>das instruções do programa.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 53/65</p><p>3 - Sistema operacional</p><p>Ao �nal deste módulo, você será capaz de registrar o que é mais</p><p>importante sobre o sistema operacional.</p><p>Sistema operacional</p><p>De�nições de Sistema</p><p>Operacional</p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 54/65</p><p>De�nição</p><p>Um sistema operacional (SO) é um conjunto de rotinas, assim como</p><p>um programa, porém funciona de maneira diferente de programas</p><p>tradicionais, atuando como intermediário entre o usuário e o hardware</p><p>de um computador, tornando sua utilização mais simples, rápida e</p><p>segura.</p><p>Desse modo, o sistema operacional é:</p><p>Núcleo (kernel)</p><p>O núcleo (kernel) consiste no conjunto de rotinas que oferece serviços aos</p><p>usuários, às suas aplicações e também ao próprio sistema.</p><p>O computador pode ser compreendido como uma máquina de níveis</p><p>ou máquina de camadas, onde existem inicialmente duas camadas:</p><p>Hardware</p><p> O único programa executado em modo núcleo</p><p>(kernel), possuindo acesso completo ao</p><p>hardware e execução de qualquer instrução</p><p>possível.</p><p> Um programa de controle que comanda a</p><p>execução dos programas do usuário e as</p><p>operações dos dispositivos de E/S.</p><p> Um gerenciador de recursos (hardware) que</p><p>dirige e aloca as partes de todo um sistema</p><p>complexo.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html#</p><p>55/65</p><p>É a camada física, refere-se aos componentes físicos,</p><p>tais como placas, fios, componentes eletrônicos.</p><p>Software</p><p>É a camada lógica, refere-se a todas as abstrações do</p><p>sistema de computação, tais como aplicativos e seus</p><p>dados.</p><p>O usuário interage diretamente com o sistema operacional, como se o</p><p>hardware não existisse. Diz-se, então, que a visão do usuário é modular</p><p>e abstrata. Na verdade, não existem somente duas camadas, mas</p><p>tantas quantas forem necessárias.</p><p>Nos primeiros computadores, a programação era feita através de</p><p>painéis, tinha-se um maior conhecimento do hardware, porém a</p><p>complexidade era muito grande.</p><p>O hardware em si deve ter pouca utilidade para o usuário, já o software</p><p>permite oferecer melhor os serviços, e isso foi uma das motivações</p><p>para o surgimento do Sistema Operacional.</p><p>A partir da imagem ao lado, podemos dizer que:</p><p>Os usuários são as pessoas, máquinas, outros</p><p>computadores.</p><p>Os aplicativos definem as maneiras como os recursos</p><p>são usados, para resolver os problemas de computação</p><p>dos usuários. Exemplo: Compiladores, BDs, videogames,</p><p>programas comerciais.</p><p>O sistema operacional controla e coordena o uso do</p><p>hardware entre os vários programas de aplicação, para</p><p>os diversos usuários.</p><p>O hardware fornece recursos básicos de computação</p><p>CPU, memória, dispositivos de E/S.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 56/65</p><p>Máquina de camadas.</p><p>Tipos de sistemas operacionais</p><p>Os sistemas operacionais podem ser enquadrados nos seguintes tipos:</p><p>Tipos de sistemas operacionais.</p><p>Sistemas</p><p>monoprogramáveis/monotarefas</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 57/65</p><p>O processador, memória e periféricos permanecem dedicados</p><p>exclusivamente à execução de somente um programa. Um exemplo é o</p><p>MS-DOS.</p><p>Sistemas</p><p>multiprogramáveis/multitarefas</p><p>Os recursos computacionais são compartilhados entre os diversos</p><p>usuários e aplicações. Exemplos são Windows, Linux, macOS.</p><p>Sistemas com múltiplos</p><p>processadores</p><p>Possuem duas ou mais UCPs (CPUs) interligadas e trabalhando em</p><p>conjunto. Sistemas como Linux e Windows oferecem esse suporte.</p><p>Vantagens de sistemas com múltiplos processadores:</p><p>Sistemas multiprogramáveis /</p><p>multitarefas</p><p>Na imagem a seguir apresentaremos os sistemas multiprogramáveis:</p><p>Escalabilidade</p><p>Disponibilidade</p><p>Balanceamento de carga</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 58/65</p><p>Tipos de sistemas multiprogramáveis/multitarefas.</p><p>Sistemas batch</p><p>Processam tarefas de rotina sem a presença interativa do usuário.</p><p>Exemplo: Processamento de apólices de companhia de seguro;</p><p>relatório de vendas de uma cadeia de lojas.</p><p>Sistemas de tempo compartilhado</p><p>Sistema de Tempo</p><p>Compartilhado</p><p>Permitem que múltiplos usuários remotos executem suas tarefas</p><p>simultaneamente no computador. Exemplo: Realização de consultas a</p><p>um banco de dados.</p><p>Sistemas em tempo real</p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 59/65</p><p>Possuem o tempo como parâmetro fundamental. Exemplo: Linha de</p><p>montagem de um carro.</p><p>Veja a seguir a diferença entre sistemas forte e fracamente acoplados:</p><p>Sistemas</p><p>fortemente</p><p>acoplados</p><p>Existem vários</p><p>processadores</p><p>compartilhando</p><p>uma única</p><p>memória física e</p><p>dispositivos de</p><p>E/S sendo</p><p>gerenciados por</p><p>apenas um SO.</p><p>Sistemas</p><p>fracamente</p><p>acoplados</p><p>Existem dois ou</p><p>mais sistemas</p><p>computacionais</p><p>conectados</p><p>através de linhas</p><p>de comunicação.</p><p>Antigamente, os sistemas fortemente acoplados eram restritos aos</p><p>sistemas de grande porte, mas hoje em dia os computadores pessoais</p><p>e estações de trabalho possuem múltiplos processadores, com suporte</p><p>dos respectivos sistemas operacionais.</p><p>Um exemplo típico de sistema fracamente acoplado atual é o modelo</p><p>de redes de computadores.</p><p>Em um sistema operacional distribuído, todos os terminais na rede são</p><p>tratados como um sistema único. Já um cluster é constituído de</p><p>servidores interligados de modo transparente ao usuário, na web, por</p><p>exemplo.</p><p>Sistema operacional</p><p>Veja agora mais detalhes sobre os sistemas operacionais.</p><p></p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 60/65</p><p>Tendências</p><p>Sistemas operacionais tendem a ser virtualizados (disponibilizados na</p><p>web, sem necessidade de instalação de software) e oferecidos para os</p><p>usuários usarem em uma infraestrutura na nuvem.</p><p>A virtualização de servidores reproduz um computador inteiro em</p><p>software, que executa um sistema operacional inteiro. O sistema</p><p>operacional executa um aplicativo.</p><p>Já os contêineres, conforme a IBM (2020), adotam uma abordagem</p><p>alternativa. Eles compartilham um kernel do SO subjacente (ou seja, o</p><p>núcleo), executando apenas o aplicativo e tudo o que dele depende,</p><p>como bibliotecas de software e variáveis de ambiente. Isso os torna</p><p>menores e mais rápidos de implantar.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Na literatura, encontram-se diversas classificações</p><p>de sistemas operacionais (SO). Uma delas classifica</p><p>os SO nos seguintes tipos: Em lotes (batch), de</p><p>tempo compartilhado (time sharing) e de tempo real</p><p>(real time). Sobre esse assunto, considere as</p><p>assertivas abaixo:</p><p>I. Sistemas operacionais de tempo compartilhado e</p><p>tempo real são dependentes do tempo de execução</p><p>de cada programa, porém se baseiam em diferentes</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 61/65</p><p>parâmetros de eficiência.</p><p>II. Sistemas do tipo lote (batch) podem ser</p><p>multitarefa.</p><p>III. Sistemas operacionais de tempo real são mais</p><p>adequados para executar rotinas do tipo lote (batch),</p><p>se for desejado obter resultados no tempo mais</p><p>curto possível.</p><p>IV. Ao executar um programa do tipo batch, um</p><p>sistema operacional de tempo compartilhado se</p><p>comporta como um sistema monotarefa,</p><p>desativando as rotinas de alternância de programas</p><p>em execução.</p><p>Estão corretas as assertivas:</p><p>Parabéns! A alternativa B está correta.</p><p>Sistemas de tempo compartilhado permitem que</p><p>múltiplos usuários remotos executem suas tarefas</p><p>simultaneamente no computador. Sistemas de</p><p>tempo real possuem o tempo como parâmetro</p><p>fundamental.</p><p>A I e IV.</p><p>B II, somente.</p><p>C III, somente.</p><p>D I, II, III e IV.</p><p>E somente a IV.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 62/65</p><p>III: O sistema de processamento em lote (batch)</p><p>processa tarefas de rotina sem a presença interativa</p><p>do usuário, independentemente do tipo de sistema</p><p>operacional que o executa.</p><p>IV: A afirmação da execução do sistema operacional</p><p>de tempo compartilhado não procede.</p><p>Questão 2</p><p>A ilustração gráfica a seguir representa um sistema</p><p>que utiliza uma técnica na qual as solicitações de</p><p>entrada ou saída de dados e a execução de uma</p><p>única tarefa devem ser executadas pela CPU em</p><p>alternância de tempo. Apenas uma tarefa pode</p><p>utilizar os recursos disponíveis até que ela seja</p><p>encerrada, dando lugar a outra tarefa.</p><p>Essa técnica é conhecida como:</p><p>A Multiprogramação.</p><p>B Monousuário.</p><p>C Multiusuário.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 63/65</p><p>Parabéns! A alternativa D está correta.</p><p>Nos Sistemas monoprogramáveis, o processador,</p><p>memória e periféricos permanecem dedicados</p><p>exclusivamente à execução de um programa.</p><p>Considerações �nais</p><p>Continuando com os estudos em organização e arquitetura de</p><p>computadores, o estudante aqui pôde aprender sobre os componentes</p><p>vitais de um computador, que são o processador, a memória e os</p><p>dispositivos de entrada e saída.</p><p>Se o estudante quiser realizar uma grosseira aproximação com a</p><p>máquina humana, o processador seria a parte do cérebro que executa</p><p>tarefas, a memória seria a parte do cérebro que guarda as informações</p><p>e os dispositivos de entrada e saída seriam os</p><p>diversos órgãos que</p><p>possibilitam captar recursos externos e oferecer um resultado após a</p><p>transformação no interior do corpo.</p><p>Essa analogia, apesar de um tanto simplista e até discutível, serve para</p><p>uma primeira tentativa de aproximação da premissa de que podemos</p><p>extrair melhores resultados e expandir suas possibilidades ao</p><p>conhecermos melhor como são e como funcionam tanto a nossa</p><p>máquina, de carne e osso, quanto a máquina que constitui um sistema</p><p>de computação.</p><p>D Monoprogramação.</p><p>E Multitarefa.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 64/65</p><p>Podcast</p><p>A seguir, abordaremos o tema por meio de perguntas e respostas.</p><p></p><p>Explore +</p><p>Para reforçar os conhecimentos adquiridos, realize mais exercícios.</p><p>Referências</p><p>HARRIS, D.; HARRIS, S. Digital Design and Computer Architecture. 2. ed.</p><p>San Francisco: Morgan Kaufmann, 2012.</p><p>HENNESSY, JOHN L. Organização e projeto de computadores: A</p><p>interface hardware/software. 2. ed. Rio de Janeiro: LTC, 2000.</p><p>IBM. What is Virtualization? Consultado na internet em: 18 mar. 2020.</p><p>MACHADO, F. B.; MAIA, L. P. M. Arquitetura de sistemas operacionais.</p><p>4. ed. Rio de Janeiro: LTC, 2007.</p><p>MONTEIRO, M. Introdução à organização de computadores. 5. ed. Rio</p><p>de Janeiro: LTC, 2007.</p><p>MURDOCCA, M. J.; HEURING, V. P. Introdução à Arquitetura de</p><p>Computadores. Rio de Janeiro: Campus, 2000.</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/pdf/doc.pdf</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 65/65</p><p>PATTERSON, D. A. et al. Computer Architecture, a quantitative</p><p>approach. 5. ed. San Francisco: Morgan Kaufmann, 2011.</p><p>PATTERSON, D. A. et al. Organização e projeto de computadores. 2. ed.</p><p>Rio de Janeiro: LTC, 2000.</p><p>POUNDSTONE, William. John von Neumann – Biography,</p><p>Accomplishments, Inventions & Facts. Consultado na internet em: 18</p><p>mar. 2020.</p><p>STALLINGS, W. Arquitetura e organização de computadores. 8. ed. São</p><p>Paulo: Pearson Prentice Hall, 2010.</p><p>TANEMBAUM, A. S.; BOS, H. Sistemas Operacionais Modernos. 3. ed.</p><p>São Paulo: Pearson, 2010.</p><p>TANENBAUM, A. S. Organização estruturada de computadores. 5. ed.</p><p>Rio de Janeiro: LTC, 2007.</p><p>Material para download</p><p>Clique no botão abaixo para fazer o</p><p>download do conteúdo completo em</p><p>formato PDF.</p><p>Download material</p><p>O que você achou do conteúdo?</p><p>Relatar problema</p><p>javascript:CriaPDF()</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 1/56</p><p>Representação de dados</p><p>Prof. Fabio Henrique Silva</p><p>Descrição</p><p>Organização e arquitetura de computadores. Utilização dos sistemas</p><p>de numeração e representação de dados.</p><p>Propósito</p><p>Introduzir os fundamentos básicos da representação de dados desde o</p><p>bit — a menor unidade de representação dos dados em um sistema de</p><p>computação — até os caracteres, apresentados em aplicações, em um</p><p>nível de abstração mais próximo do usuário.</p><p>Objetivos</p><p>Módulo 1</p><p>Sistemas de computação</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 2/56</p><p>Identificar as unidades de informação utilizadas pelos sistemas de</p><p>computação.</p><p>Módulo 2</p><p>Sistemas de numeração e</p><p>operações aritméticas</p><p>Descrever os sistemas de numeração a partir da prática de operações</p><p>aritméticas.</p><p>Módulo 3</p><p>Conversão</p><p>Empregar a conversão entre os sistemas de numeração.</p><p>Módulo 4</p><p>Representação de dados</p><p>Categorizar as tabelas de representação de dados.</p><p>Introdução</p><p></p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 3/56</p><p>É muito importante dominar conceitos fundamentais que</p><p>determinam qualquer área de conhecimento. Um dos</p><p>conceitos fundamentais da computação está relacionado ao</p><p>termo bit. O computador é uma máquina concebida a partir de</p><p>componentes eletrônicos. De um modo geral, o bit possibilita</p><p>representar os sinais elétricos em informações que possuem</p><p>significados úteis para a criação e para o processamento de</p><p>tarefas.</p><p>Veremos também os fundamentos dos sistemas</p><p>de numeração posicionais. Eles são</p><p>indispensáveis para o entendimento da formação</p><p>dos números nas chamadas bases de numeração,</p><p>ou seja, a quantidade de símbolos diferentes</p><p>possíveis. Daremos um enfoque especial às</p><p>seguintes bases: decimal, binária, octal e</p><p>hexadecimal.</p><p>Entenderemos como são convertidos os valores</p><p>entre bases numéricas distintas e, além disso,</p><p>realizaremos operações aritméticas de adição e</p><p>subtração em outras bases diferentes da base</p><p>decimal. Dominar esse procedimento é importante</p><p>para possibilitar a alternância entre os sistemas</p><p>de numeração decimal (utilizados normalmente</p><p>em nosso cotidiano) e três outros sistemas:</p><p>binário, octal e hexadecimal (usados pelo</p><p>computador).</p><p>Os bits constituem a forma básica da</p><p>representação de dados de um computador. Suas</p><p>informações são obtidas conforme padrões de</p><p>representações. Afinal, o computador precisa</p><p>utilizar valores numéricos para representar os</p><p>sinais gerados no hardware. No entanto, estamos</p><p>habituados a representar dados e informações por</p><p>meio de letras, palavras, frases etc. Esse processo</p><p>se repete quando um usuário comum deseja</p><p>receber uma informação em caracteres.</p><p>Apontaremos de que maneira ocorre a</p><p>representação de conjuntos de bits em caracteres,</p><p>além de apresentarmos tabelas de representação</p><p>de dados.</p><p>Vamos lá!</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 4/56</p><p>1 - Sistemas de computação</p><p>Ao �nal deste módulo, você será capaz de identi�car as unidades de</p><p>informação utilizadas pelos sistemas de computação.</p><p>Unidades de informação</p><p>Você já comparou como são realizados os processos de comunicação</p><p>entre o computador e o ser humano?</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 5/56</p><p>As pessoas normalmente podem criar textos formados</p><p>por frases, as quais, por sua vez, utilizam palavras</p><p>compostas por letras (caracteres).</p><p>Da mesma forma, um sistema de computação precisa</p><p>usar representações simbólicas para que o</p><p>processamento dos dados seja realizado</p><p>corretamente e em conformidade com as expectativas</p><p>de seus projetistas e usuários.</p><p>Demonstraremos, a seguir, como as unidades de informação são</p><p>fundamentais para a realização desse processo.</p><p>O computador armazena e move os dados</p><p>eletronicamente sob a forma de voltagem ou corrente</p><p>elétrica. A representação dos valores elétricos é feita na</p><p>forma binária; portanto, ela utiliza somente dois valores:</p><p>0 e 1. Quando os bits são agrupados em um conjunto</p><p>ordenado com oito valores, temos a unidade de medida</p><p>denominada byte.</p><p>Você pode ver no exemplo a seguir várias sequências de 8 bits, que</p><p>formam o byte. Essas sequências são entendidas pelo computador e</p><p>decodificadas, dando origem ao caractere.</p><p>Por isso, a menor unidade de informação possível em um sistema de</p><p>computação é o bit.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 6/56</p><p>Vamos entender como é feita a conversão entre bit e</p><p>byte?</p><p>Sabemos que 8 bits = 1 byte. Então, como convertemos 512 bits em</p><p>byte?</p><p>Fazendo uma regra de três simples:</p><p>8 bits ⇔ 1 byte</p><p>x bits ⇔ x</p><p>x = 512 ÷ 8 = 64 bytes</p><p>Desse modo, a regra geral para a conversão é:</p><p>De bit para byte</p><p>Dividimos o valor por 8.</p><p>De byte para bit</p><p>Multiplicamos o valor por 8.</p><p>Apontaremos, a seguir, quatro conjuntos formados nas unidades de</p><p>informação:</p><p>Um conjunto ordenado de bytes, que representa uma</p><p>informação útil para os computadores, constitui uma</p><p>palavra.</p><p>Um conjunto estruturado de palavras forma um</p><p>registro.</p><p>Um conjunto organizado de registros forma um</p><p>arquivo.</p><p>Um conjunto organizado de arquivos forma um</p><p>banco de dados.</p><p>Múltiplos e submúltiplos</p><p>Da mesma forma que fazemos no nosso cotidiano, podemos empregar</p><p>múltiplos e submúltiplos para grandezas nos sistemas de unidades a</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html#</p><p>7/56</p><p>fim de exprimir valores de grandeza maiores ou menores que uma</p><p>unidade.</p><p>Por exemplo, para medir a grandeza comprimento, é</p><p>usada a unidade de base metro, conforme o no Sistema</p><p>Internacional de Medidas. Veja o exemplo a seguir:</p><p>Medido na Via Dutra, o comprimento entre Rio de Janeiro</p><p>e São Paulo é de aproximadamente 434.000 metros.</p><p>Esse valor pode ser abreviado usando o prefixo quilo, que</p><p>é múltiplo do metro no fator de 10³ (1.000). Assim,</p><p>dizemos que 434 km (quilômetros) é igual a 434 ×</p><p>1.000 = 434.000 metros.</p><p>Mapa indicando a distância entre Rio de Janeiro e São Paulo.</p><p>Também podemos utilizar prefixos de múltiplos e submúltiplos das</p><p>unidades bit e byte. Em geral, a abreviação simbólica do bit é realizada</p><p>com o “b” minúsculo e a do byte, com o “B” maiúsculo.</p><p>Observe estas representações:</p><p>4.000 Kb (4.000 × 103 = 4.000.000 bits)</p><p>567 MB (567 × 106 = 567.000.000 bytes)</p><p>Atenção!</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 8/56</p><p>No exemplo, a representação dos múltiplos e</p><p>submúltiplos foi realizada com uma base numérica</p><p>decimal, que possui 10 números (de 0 a 9), já que a</p><p>utilizamos normalmente no nosso dia a dia. Entretanto,</p><p>seus resultados expressam valores aproximados (e não</p><p>exatos) da quantidade de bits ou bytes medidos em um</p><p>computador.</p><p>Como vimos, o bit é a menor unidade de informação dos computadores</p><p>atuais. Como só possui dois valores possíveis (0 e 1), ele é</p><p>representado pela base numérica binária.</p><p>Se reescrevermos o exemplo anterior representando os</p><p>valores decorrentes do cálculo com a base 2, obteremos:</p><p>4.000 Kb (4.000 x 210 = 4.096.000 bit)</p><p>567 MB (567 x 220 = 594.542.592 bytes)</p><p>A tabela a seguir mostra alguns prefixos empregados na</p><p>computação a fim de abreviar valores medidos em uma</p><p>unidade base (por exemplo, bit ou byte) para valores em</p><p>potências de 2 (binário) e de 10 (decimal):</p><p>Unidade</p><p>Valor em</p><p>potência de 2 Valor unitári</p><p>1K(quilo) 210 1024</p><p>1M(mega) 220 1.048.576</p><p>1G(giga) 230 1.073.741.8</p><p>1T(tera) 240 1.099.511.6</p><p>Fabio Henrique Silva.</p><p>Esses são os prefixos tipicamente adotados na computação com</p><p>unidades de medida para exprimir valores de grandezas muito maiores</p><p>ou menores que aqueles da unidade usada sem um prefixo.</p><p>Os valores unitários podem ser obtidos a partir da</p><p>notação dos múltiplos da grandeza em:</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 9/56</p><p>Potência de 2</p><p>Expressam os valores (em decimal) que, de fato,</p><p>são manipulados pelo computador em binário.</p><p>Potência de 10</p><p>Exprimem os valores (em decimal) equivalentes</p><p>àqueles manipulados pelo computador em binário,</p><p>embora empreguem os múltiplos no sistema</p><p>decimal comumente utilizado no nosso dia a dia.</p><p>Suponha que você queira mudar o prefixo do valor a seguir:</p><p>52,9 GB ⇒ TB ?</p><p>Usando como referência os valores mostrados na tabela anterior, veja</p><p>uma maneira de realizar isso:</p><p> Escrever os prefixos em sua sequência (B, KB,</p><p>MB etc.).</p><p> Colocar o valor (no caso, 52,9) embaixo da</p><p>unidade com o prefixo dado. Esse será seu</p><p>ponto de partida ou ponto de referência</p><p>relacionado ao novo valor obtido.</p><p> Desenhar uma seta no sentido do prefixo</p><p>pretendido. Do lado esquerdo dela, fica o</p><p>operador matemático "+"; do direito, o sinal "−".</p><p>O sinal resultante fica ao lado do valor do</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 10/56</p><p>Seta</p><p>O sentido da seta pode ter duas direções:</p><p>Esquerda — determina o múltiplo do valor (expoente positivo).</p><p>Direita — indica o submúltiplo do valor (expoente negativo).</p><p>Assim, você terá:</p><p>Conforme os valores mostrados na tabela anterior, observemos sua</p><p>aplicação com múltiplos nas potências de 10 e de 2:</p><p>Potência de 10</p><p>52,9 × 10−3 = 0,0529 TB</p><p>Isso ocorrerá se considerarmos os múltiplos em</p><p>potência de 10.</p><p>Potência de 2</p><p>52,9 × 2−10 TB ∼ 0,05166</p><p>Como o cálculo do valor na potência de 2 não é tão “trivial” quanto o</p><p>cálculo do valor na potência de 10, uma sugestão é deixá-lo no formato</p><p>de notação científica. Se, ainda assim, você quiser realizá-lo, ele será de</p><p>aproximadamente 0,05166 TB.</p><p>Entre dois prefixos de unidades de medida vizinhos</p><p>tipicamente utilizados na computação, o expoente da</p><p>base decimal varia, em geral, de 3 em 3 (ou de 10 em</p><p>10, se a base for binária).</p><p>O sinal resultante fica ao lado do valor do</p><p>expoente da base utilizada.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 11/56</p><p>Assim, por exemplo, entre giga (G) e mega (M), o valor para a potência</p><p>de 10 é 103, e para a potência de 2 é 210.</p><p>Do mesmo modo, entre tera (T) e giga (G), permanecem</p><p>os valores para as potências de 10 e 2: 103 e 210,</p><p>respectivamente.</p><p>Já entre giga (G) e quilo (K), registramos o seguinte valor:</p><p>103 × 103 = 106, ou 210 × 210 = 220.</p><p>Esta imagem ilustra alguns exemplos:</p><p>Suponhamos que você deseje novamente mudar o prefixo do valor a</p><p>seguir:</p><p>143 GB ⇒ KB ?</p><p>Para isso, você deverá fazer o seguinte:</p><p>Vejamos, por fim, os cálculos nas potências de 10 e de 2:</p><p>Potência de 10</p><p>143 × 106 = 143.000.000 KB</p><p>Potência de 2</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 12/56</p><p>143 × 220 = 149.946.368 KB</p><p>Representação das</p><p>informações no computador</p><p>O primeiro passo indispensável para evoluir em qualquer área de</p><p>atuação pretendida no ramo da computação é entender como um</p><p>computador funciona, verificando como as informações são</p><p>representadas dentro dele.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 13/56</p><p>Por exemplo, para cada tipo de dado, serão amplamente utilizados os</p><p>seguintes métodos padrão de codificação:</p><p> Padrão ASCII</p><p>O padrão ASCII pode associar um número</p><p>binário de 7 bits a cada um dos 128 caracteres</p><p>distintos possíveis.</p><p> Formato de arquivo MP3</p><p>O formato de arquivo MP3 especifica o modo de</p><p>codificar um arquivo de áudio como uma</p><p>sequência de 0s e 1s.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 14/56</p><p>Representação de dados e</p><p>conversão de unidades de</p><p> Formato de imagem .png</p><p>O formato de imagem .png especifica os pixels</p><p>das imagens digitais como uma sequência de</p><p>0s e 1s.</p><p></p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 15/56</p><p>medida</p><p>Neste vídeo, o professor Fabio Henrique Silva reforça alguns conceitos</p><p>da representação de dados e pratica a conversão entre as unidades de</p><p>medida.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>A quantos bits equivalem 256 bytes?</p><p>A 32 bits</p><p>B 256 bits</p><p>C 1.024 bits</p><p>D 2.048 bits</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 16/56</p><p>Parabéns! A alternativa D está correta.</p><p>Considerando que 8 bits é igual a 1 byte e fazendo</p><p>uma regra de três simples, temos o seguinte</p><p>resultado:</p><p>8 bits --- 1 byte</p><p>x --- 256 bytes</p><p>x = 256 × 8 = 2.048 bits</p><p>Questão 2</p><p>Passe 0,876 MB para o prefixo de múltiplo ou</p><p>submúltiplo da unidade indicada: TB.</p><p>Qual é o seu resultado?</p><p>E 4.096 bits</p><p>A 0,000000876 TB</p><p>B 0,00876 TB</p><p>C 876 TB</p><p>D 876.000 TB</p><p>E 876.000.000 TB</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 17/56</p><p>Parabéns! A alternativa A está correta.</p><p>Note que estamos considerando os múltiplos em</p><p>potências de 10. Desse modo, devemos fazer o</p><p>cálculo segundo os valores mostrados na tabela que</p><p>estudamos de prefixos adotados na computação:</p><p>0,876 × 10−6 = 0,000000876 TB.</p><p>Além disso, devemos escrever os prefixos em</p><p>sequência e colocar o valor de partida embaixo do</p><p>prefixo dado, desenhando a seta no sentido do</p><p>prefixo desejado. Se o sentido dela for para a</p><p>esquerda, multiplicaremos o valor fornecido pela</p><p>base elevada ao expoente positivo. Caso ela se volte</p><p>para</p><p>a direita, a multiplicação desse valor será feita</p><p>com o expoente negativo. Veja:</p><p>2 - Sistemas de numeração e operações</p><p>aritméticas</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 18/56</p><p>Ao �nal deste módulo, você será capaz de descrever os sistemas de</p><p>numeração a partir da prática de operações aritméticas.</p><p>Sistemas de numeração</p><p>Bases de numeração</p><p>Os fundamentos dos sistemas de numeração posicionais são</p><p>indispensáveis para o entendimento da formação dos números nas</p><p>chamadas bases de numeração. Daremos um enfoque às seguintes</p><p>bases:</p><p>Decimal</p><p>Base numérica mais utilizada no nosso cotidiano.</p><p>Binária</p><p>Base usada pelos computadores no processamento de</p><p>dados.</p><p>Octal e hexadecimal</p><p>Múltiplos da base binária.</p><p>Para entendermos o funcionamento dos sistemas de numeração,</p><p>precisaremos apresentá-los.</p><p>Posicional</p><p>Cada algarismo tem um valor relativo (diferente) de acordo com sua</p><p>posição no número. Observe:</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 19/56</p><p>Neste exemplo, à medida que os algarismos são acrescentados à</p><p>esquerda, o número cresce de valor em grupos de 10.</p><p>Uma base é a quantidade de símbolos de um sistema</p><p>posicional. Seu número indica o total de símbolos dela.</p><p>Veja o exemplo a seguir:</p><p>Base 10 (decimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.</p><p>Base 2 (binária): 0, 1.</p><p>Base 8 (octal): 0, 1, 2, 3, 4, 5, 6, 7.</p><p>Base 16 (hexadecimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,</p><p>A, B, C, D, E, F.</p><p>Cada algarismo de um número demonstra o valor de sua posição em</p><p>potências da base. A unidade de uma posição de um sistema de base</p><p>"Z" tem valor equivalente a "Z" unidades da posição imediata à direita.</p><p>Observe:</p><p>Em qualquer sistema posicional, o número é formado da seguinte</p><p>maneira:</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 20/56</p><p>Da direita para a esquerda</p><p>Cresce a partir do valor 0 (seguido do 1 até o último</p><p>algarismo válido).</p><p>Exemplo: bases 3 (algarismos 0 a 2) e 10 (algarismos 0</p><p>a 9).</p><p>Retorna a 0</p><p>Quando a contagem chega ao último algarismo válido de</p><p>uma posição, ela retorna a 0 e cresce uma unidade para</p><p>a esquerda.</p><p>Exemplo: base 10 — cresce de 0 a 9. Depois, 10, 11, …,</p><p>19 — Na direita, retorna a 0 e cresce 1 para a esquerda:</p><p>20.</p><p>Os movimentos descritos neste exemplo se repetem infinitamente.</p><p>Não posicional</p><p>Todo algarismo tem valor fixo independentemente de sua posição no</p><p>número.</p><p>No sistema de numeração romano, o algarismo X vale</p><p>sempre 10:</p><p>Sistema de numeração romano</p><p>Este sistema de numeração é não posicional.</p><p>XXX = 30</p><p>XL = 40</p><p>LX = 60</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 21/56</p><p>Operações aritméticas com</p><p>números inteiros em</p><p>qualquer base</p><p>Agora, vamos estudar as operações aritméticas em bases numéricas</p><p>diferentes. Dentro de uma unidade especializada (unidade lógica e</p><p>aritmética), o processador usa seus circuitos lógicos digitais para</p><p>realizar operações lógicas e aritméticas, tendo o bit como unidade para</p><p>representação de dados.</p><p>Veremos, a seguir, as operações de adição e subtração.</p><p>Adição</p><p>As parcelas são somadas algarismo por algarismo (pares da mesma</p><p>coluna), partindo da posição mais à direita até a última posição à</p><p>esquerda.</p><p>Se o resultado da soma de dois algarismos (fazendo em</p><p>decimal) for igual ou maior que o valor da base, o</p><p>excesso será subtraído do valor da base e o resultado</p><p>será colocado na respectiva posição. Passamos uma</p><p>unidade (“vai 1”) para a posição imediata à esquerda, que</p><p>será somada aos dois algarismos seguintes. Observe os</p><p>exemplos a seguir para entender melhor esse conceito.</p><p> Na base 10</p><p>Base numérica mais utilizada no nosso</p><p>cotidiano.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 22/56</p><p> Na base 2</p><p>Na base binária, 1 + 1 = 0, com o “vai 1” = 10</p><p>Logo, veja na imagem:</p><p> Na base 16</p><p>Antes de abordarmos as regras para cálculos</p><p>com números hexadecimais, é importante</p><p>sabermos a equivalência dos números decimais</p><p>e seus respectivos hexadecimais.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 23/56</p><p>Equivalência dos números decimais e seus respectivos</p><p>hexadecimais</p><p>Base 10 0 1</p><p>Base 16 0 1</p><p>Base 10 16 17</p><p>Base 16 10 11</p><p>Base 10 32 33</p><p>Base 16 20 21</p><p>Fabio Henrique Silva.</p><p>Uma maneira de pensar a adição em qualquer base é:</p><p>Somar os números na posição na base 10.</p><p>Diminuir o número obtido nessa base pelo valor dela</p><p>se ele passar do seu último algarismo.</p><p>Não se esquecer do “vai 1”.</p><p>Veja o exemplo na base 8:</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 24/56</p><p>Somar na base 10 (decimal): 4 + 5 = 9.</p><p>Como passou do último algarismo (7), diminuímos 9 da</p><p>base 8: 9 − 8 = 1.</p><p>“Vai-1” para a próxima posição, 6 + 3 + 1 = 10. Como</p><p>passou de 7: 10 − 8 = 2.</p><p>“Vai-1” para a próxima posição. Logo, vale 1.</p><p>Subtração</p><p>As parcelas são subtraídas algarismo por algarismo (pares da mesma</p><p>coluna) do mais à direita até o último à esquerda.</p><p>Em relação ao minuendo (algarismo superior) e ao</p><p>subtraendo (inferior), há duas possibilidades no processo</p><p>de subtração:</p><p>Minuendo maior que subtraendo</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 25/56</p><p>Realiza a operação e registra sua diferença embaixo.</p><p>Minuendo menor que subtraendo</p><p>É subtraída uma unidade do algarismo à esquerda (trata-</p><p>se do famoso “pedir 1 emprestado”).</p><p>O valor da base é somado ao valor existente de minuendo à direita,</p><p>efetuando-se, assim, a subtração.</p><p>Observemos os exemplos a seguir para entendermos</p><p>melhor esse conceito:</p><p>O “empresta 1” no hexadecimal tem valor igual a</p><p>16.</p><p>Na base 10 </p><p>Na base 16 </p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 26/56</p><p>Na 1ª posição: em 4 − 7, “pedimos emprestado"</p><p>o valor da base para o dígito na posição ao lado:</p><p>16 + 4 = 20. Logo: 20 − 7 = 13. Em</p><p>hexadecimal, 13 (na base 10) é igual a D (na</p><p>base 16).</p><p>Na 2ª posição: o valor 9 vale 8 porque</p><p>"emprestou" ao dígito na orimeira posição do</p><p>minuendo: 8 − 7 = 1.</p><p>Na 3ª posição: o valor D na base 16 vale 13 na</p><p>base 10, enquanto o valor E na base vale 14 na</p><p>base 10. "Pedindo emprestado", o dígito da 2ª</p><p>posição no minuendo será: 13 + 16 = 29. Logo:</p><p>29 − 14 = 15, que, na base 16, é representado</p><p>por F.</p><p>Na 4ª posição: o valor C na base 16 vale 12 na</p><p>base 10. Já o valor 12 vale 11, porque</p><p>"emprestou" ao dígito na 1ª posição do minuendo:</p><p>11 − 8 = 3.</p><p>No binário, a operação parece ser mais</p><p>complicada. Vejamos a seguir:</p><p>0 − 1 = 1 (e "pede emprestado" do dígito</p><p>seguinte);</p><p>1 − 1 = 0;</p><p>1 − 0 = 1;</p><p>0 − 1 = 0.</p><p>Na base 2 </p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 27/56</p><p>Quando temos 0 − 1, precisamos "pedir emprestado" do primeiro</p><p>algarismo diferente de 0. Esse empréstimo vale 2 (valor dois em</p><p>decimal) por ser um número binário.</p><p>Então, no caso da coluna 0 − 1 = 1, a operação feita é 2</p><p>− 1 = 1. Como esse processo se repete, o elemento que</p><p>cedeu o "empréstimo" e valia 1 passa a valer 0.</p><p>É possível verificar que, quando encontramos 0 − 1:</p><p>O zero desta coluna vale 2.</p><p>Todos os zeros à esquerda até o primeiro "número 1"</p><p>valem 1.</p><p>Este "primeiro número 1" vale 0 (zero).</p><p>Se acontecer novamente 0 − 1, o processo se</p><p>repetirá.</p><p>O "empresta 1" no binário tem valor 2.</p><p>Computação útil</p><p>Com recursos de computação cada vez mais baratos e ricos em</p><p>possibilidades, nossa tendência é não nos preocuparmos tanto com</p><p>seus aspectos fundamentais. Entretanto, o domínio desse estado da</p><p>arte lhe possibilitará pensar como um projetista de máquinas e</p><p>linguagens de programação, podendo desenvolver, no futuro, protótipos</p><p>capazes de fazer a diferença do ponto de vista tecnológico.</p><p>22/11/2023, 14:44 Representação de</p><p>dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 28/56</p><p>Podemos realmente fazer</p><p>computação útil com 4.096 bits de</p><p>memória? [...] O avanço da</p><p>tecnologia minimizou essas</p><p>restrições. [...] Em um nível prático,</p><p>você verá que é bastante viável</p><p>desenvolver implementações em</p><p>linguagem de máquina que</p><p>realizam todos os tipos de tarefas.</p><p>(SEDGEWICK; WAYNE, 2017, p. 930,</p><p>tradução nossa)</p><p>A maior parte dos primeiros programas aplicativos foi implementada</p><p>dessa maneira. Afinal, por muitos anos, a penalidade sofrida pelo</p><p>desempenho do uso de uma linguagem de alto nível era grande demais</p><p>para poder ser paga. A maioria desses códigos foi escrita em assembly,</p><p>cujo funcionamento é similar ao da linguagem de máquina, exceto pelo</p><p>fato de permitir nomes simbólicos para códigos de operação, registros</p><p>e localizações de memória.</p><p>Comentário</p><p>Na década de 1970, era comum ver programas em</p><p>linguagem assembly que se estendiam a dezenas de</p><p>milhares de linhas de código.</p><p>Sistemas de numeração</p><p>posicionais e não posicionais</p><p></p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 29/56</p><p>e operações aritméticas com</p><p>números inteiros</p><p>Entenda os fundamentos dos sistemas de numeração posicionais e</p><p>não posicionais. Ainda, compreenda como se realiza as operações</p><p>aritméticas de adição e subtração com números inteiros em qualquer</p><p>base.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>A partir do valor 2456 em base 7, os cinco valores</p><p>seguintes são</p><p>A 2456; 2457; 2458; 2459; 2460.</p><p>B 2456; 2457; 2460; 2461; 2461.</p><p>C 2457; 2460; 2461; 2462; 2463.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 30/56</p><p>Parabéns! A alternativa D está correta.</p><p>Vamos à análise:</p><p>1º número</p><p>Partiremos do número 2456. Lembre-se de que,</p><p>quando a contagem chega ao último algarismo</p><p>válido de uma posição, ela retorna a 0 e cresce uma</p><p>unidade para a esquerda.</p><p>Na base 7, temos os seguintes algarismos: 0; 1; 2; 3;</p><p>4; 5; 6. Não existe número 7!</p><p>A contagem já está no último algarismo válido de</p><p>uma posição. Ele retorna a 0 e cresce uma unidade</p><p>para a esquerda: 2460.</p><p>2º, 3º, 4º e 5º números</p><p>Comece a contagem normalmente a partir do 0,</p><p>voltando à “posição 0” mais à direita: 2461; 2462;</p><p>2463; 2464.</p><p>Questão 2</p><p>A partir do valor binário 1100101, os quatro números</p><p>seguintes, saltando de dois em dois, são</p><p>D 2460; 2461; 2462; 2463; 2464.</p><p>E 2461; 2462; 2463; 2464; 2465.</p><p>A</p><p>1100111; 1101001; 1101011;</p><p>1101101.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 31/56</p><p>Parabéns! A alternativa A está correta.</p><p>Vamos à análise:</p><p>1º número</p><p>Partiremos do número 1100101. Lembre-se de que,</p><p>quando a contagem chega ao último algarismo</p><p>válido de uma posição, ela retorna a 0 e cresce uma</p><p>unidade para a esquerda.</p><p>Na base binária, temos os seguintes algarismos: 0;</p><p>1. Siga os mesmos passos do exercício 1, mas</p><p>“salte” a escrita das respostas de dois em dois. A</p><p>dica, portanto, é escrever os oito números seguintes</p><p>saltando de dois em dois.</p><p>Assim, temos:</p><p>1100110; 1100111; 11001000; 1101001; 1101010;</p><p>1101011; 1101100; 1101101.</p><p>“Saltando” de dois em dois números, resta esta</p><p>sequência:</p><p>1100111; 1101001; 1101011; 1101101.</p><p>B</p><p>1100110; 1100111; 1101000;</p><p>1101001.</p><p>C</p><p>1100101; 1100111; 1100101;</p><p>1100111.</p><p>D</p><p>1100111; 1100112; 1100113;</p><p>1100114.</p><p>E</p><p>1100113, 1100115, 1100117,</p><p>1100119.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 32/56</p><p>3 - Conversão</p><p>Ao �nal deste módulo, você será capaz de empregar a conversão entre os</p><p>sistemas de numeração.</p><p>Conversão entre sistemas de</p><p>numeração</p><p>Embora os sistemas de computação expressem seus valores na base 2</p><p>(binária), eles poderão ser representados em outras bases quando</p><p>houver a necessidade de promover uma melhor visualização e</p><p>compactar os seus valores. Geralmente, são usadas as bases 8 (octal)</p><p>e 16 (hexadecimal), pois ambas são múltiplas de 2.</p><p>Esta tabela mostra a equivalência dos valores nas bases</p><p>2, 8, 10 e 16:</p><p>Base 2 Base 8 Base 10</p><p>0 0 0</p><p>1 1 1</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 33/56</p><p>Base 2 Base 8 Base 10</p><p>10 2 2</p><p>11 3 3</p><p>100 4 4</p><p>101 5 5</p><p>110 6 6</p><p>111 7 7</p><p>1000 10 8</p><p>1001 11 9</p><p>1010 12 10</p><p>1011 13 11</p><p>1100 14 12</p><p>1101 15 13</p><p>1110 16 14</p><p>1111 17 15</p><p>10000 20 16</p><p>10001 21 17</p><p>Fabio Henrique Silva.</p><p>Em bases de valor superior a 10, usamos letras do alfabeto para</p><p>representação de algarismos maiores que 9. As tabelas a seguir</p><p>comparam os valores entre as bases 10 e 16:</p><p>Base 10 0 1</p><p>Base 16 0 1</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 34/56</p><p>Base 10 16 17</p><p>Base 16 10 11</p><p>Base 10 32 33</p><p>Base 16 20 21</p><p>Fabio Henrique Silva.</p><p>Agora conheceremos duas maneiras de realizar a conversão de valores.</p><p>De uma base X para outra Y</p><p>A conversão sempre precisa ser realizada tendo a base 10 como</p><p>intermediária, pois ela é a utilizada para efetuar cálculos aritméticos.</p><p>O vídeo abaixo mostra como converter um número escrito em uma</p><p>base X para base 10.</p><p>Conversão entre sistema de</p><p>numeração de uma base b</p><p>para base 10</p><p>Em seguida, converte-se o resultado da conversão para base 10 para a</p><p>base Y, conforme vídeo abaixo.</p><p></p><p></p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 35/56</p><p>Conversão entre sistema de</p><p>numeração de uma base 10</p><p>para base b</p><p>Acompanhe o passo a passo abaixo:</p><p> 1</p><p>Vamos converter 234 da base 6 para um valor</p><p>equivalente na base 8. O número a ser</p><p>convertido é expresso em N produtos, em que N</p><p>é igual à quantidade algarismo do número.</p><p>Assim, temos:</p><p>2346 = 2 × 62 + 3 × 61 + 4 × 60</p><p> 2</p><p>Calcularemos, agora, os produtos usando a</p><p>aritmética da base 10. Desse modo, o resultado</p><p>será expresso em valores decimais.</p><p>Continuando a realizar o cálculo, teremos:</p><p>(2 × 36) + 18 + 4 = 9410</p><p> 3</p><p>D lt d (d i l 94) á</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 36/56</p><p>Dessa vez, o resultado (decimal 94) será</p><p>convertido para a base desejada (8). Esse</p><p>processo é o inverso do anterior, afinal, o</p><p>inverso da multiplicação é a divisão. Dividimos</p><p>o valor (94) pela base desejada (8). O resto</p><p>obtido é o primeiro algarismo do número</p><p>desejado (aquele mais à direita):</p><p>94 ÷ 8 = 11 e resto = 6</p><p> 4</p><p>O quociente obtido na divisão é novamente</p><p>dividido por 8. A seguir, o novo resto é</p><p>acrescentado à esquerda do primeiro algarismo:</p><p>11 ÷ 8 = 1 e resto = 3</p><p> 5</p><p>O número a ser obtido na base 8 é: 36.</p><p> 6</p><p>Novamente, faremos a divisão até obtermos um</p><p>quociente 0 (zero):</p><p>1 ÷ 8 = 0 e resto = 1</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 37/56</p><p>Casos especiais</p><p>As conversões de valores entre as bases 2 e 8; 2 e 16; e 8 e 16 podem</p><p>ser realizadas com este método. Tenha em mente o seguinte: se você</p><p>tomar o valor da base binária e o elevar à sua posição (em decimal),</p><p>obterá o valor relativo da posição da base 2 representado em decimal.</p><p>A seguir, analisaremos dois exemplos.</p><p>Valor da base binária</p><p>Como esse valor está representado em decimal, escreva 2.</p><p>Observe estes três bits:</p><p>22 = 4</p><p>21 = 2</p><p>20 = 1</p><p>Toda vez que o dígito 1 for inserido em uma posição, ela corresponderá</p><p>ao valor relativo da posição (escrito em decimal). Em outras palavras,</p><p>toda vez que você colocar:</p><p>1</p><p>“Liga” o bit na posição.</p><p>0</p><p>“Desliga” o bit na posição.</p><p> 7</p><p>O número obtido, portanto, é: 1368.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 38/56</p><p>Logo, o valor final em decimal será a soma de todos os valores</p><p>(escritos em decimal) relativos das posições em que estiverem</p><p>“ligados”.</p><p>Para “ligar” algumas posições, colocaremos,</p><p>agora, o valor 1 nelas:</p><p>(1) 22 = 4</p><p>(0) 21 =</p><p>2</p><p>(1) 20 = 1</p><p>Foram colocados valores 1 nas posições 0 e 2. Somando os relativos</p><p>às posições em decimal, temos: 4 + 1 = 5.</p><p>Desse modo, o binário 101 corresponde ao valor 5 em</p><p>decimal.</p><p>A tabela a seguir mostra algumas correspondências:</p><p>20 = 1 27 = 128</p><p>21 = 2 28 = 256</p><p>22 = 4 29 = 512</p><p>23 = 8 210 = 1024</p><p>24 = 16 211 = 2048</p><p>25 = 32 212 = 4096</p><p>26 = 64 (...)</p><p>Valores relativos às posições em decimal para os números correspondentes em binário.</p><p>Fabio Henrique Silva.</p><p>Com essas informações, podemos observar, dentro dos casos</p><p>especiais citados, como são realizadas as conversões entre as</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 39/56</p><p>seguintes bases:</p><p>Como 8 = 23, dividimos o valor, partindo da</p><p>direita para a esquerda, em grupos de três bits:</p><p>(111010111)2</p><p>(111) (010) (111)</p><p>7 2 7</p><p>Fabio Henrique Silva.</p><p>Como 16 = 24, dividimos o valor, partindo da</p><p>direita para a esquerda, em grupos de quatro bits:</p><p>(1011011011)2</p><p>(0010) (1101) (101</p><p>2 D B</p><p>Fabio Henrique Silva.</p><p>Converte-se primeiramente para a base 2 e, em</p><p>seguida, para a desejada:</p><p>Bases 2 e 8 </p><p>Bases 2 e 16 </p><p>Bases 8 e 16 </p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 40/56</p><p>(3174)8 = ( )16</p><p>Observemos, agora, as conversões para as bases:</p><p>2 → (011) (001) (111) (100)2 =</p><p>(011001111100)2</p><p>16 → (0110) (0111) (1100) = (67C)16</p><p>O resultado da conversão, portanto, será: 67C.</p><p>Lógica booleana</p><p>Além de sabermos que um computador representa seus dados usando</p><p>bits, já compreendemos como são realizadas algumas operações</p><p>matemáticas, bem como a conversão de valores para outras bases</p><p>numéricas responsáveis por compactar os números binários.</p><p>Os valores binários seguem a lógica booleana. Nela,</p><p>dois valores são referidos como verdadeiro e falso,</p><p>sim e não ou 0 e 1. Não importa a escolha feita para</p><p>essa referência: seu conceito é o mesmo.</p><p>A conexão íntima entre a lógica booleana e os circuitos que executam</p><p>tarefas computacionais é um conceito fundamental na estruturação da</p><p>infraestrutura computacional da qual desfrutamos atualmente.</p><p>Entender essa conexão significa compreender a pergunta</p><p>de Sedgewick e Wayne (2017): "Como os circuitos</p><p>calculam?". Afinal, quando você passa a saber e “sentir”</p><p>como é o funcionamento dos circuitos lógicos, também</p><p>consegue entender a importância da representação dos</p><p>valores binários 0 e 1 em outras bases numéricas.</p><p>Lógica booleana</p><p>Expressão cuja origem remete a George Boole (1815-1864), filósofo</p><p>britânico responsável pela criação da álgebra booleana. Ela foi fundamental</p><p>para o desenvolvimento da computação moderna.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 41/56</p><p>Conversão de valores entre</p><p>bases numéricas distintas</p><p>Compreenda como os valores entre bases numéricas distintas são</p><p>convertidos.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Converta o seguinte valor para a base indicada:</p><p>100111100010112 = ( )16</p><p></p><p>A 2E5C</p><p>B 7834</p><p>C AB3D</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 42/56</p><p>Parabéns! A alternativa D está correta.</p><p>Vamos fazer a conversão de 100111100010112 da</p><p>base 2 (binária) para a base 16 (hexadecimal).</p><p>Divida o binário da seguinte maneira, começando da</p><p>direita para a esquerda:</p><p>10 0111 1000 1011</p><p>Acrescente zeros à esquerda para completar o</p><p>último grupo:</p><p>0010 0111 1000 1011</p><p>Questão 2</p><p>Converta o seguinte valor para a base indicada:</p><p>2BEF516 = ( )8</p><p>D 278B</p><p>E 3E5C</p><p>A 573241</p><p>B 852387</p><p>C 635421</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 43/56</p><p>Parabéns! A alternativa D está correta.</p><p>Vamos fazer a conversão de 2BEF516.</p><p>. Da base 16 (hexadecimal) para a base 2 (binária):</p><p>. Da base 2 (binária) para a base 8 (octal):</p><p>Reagrupe os bits, começando da direita para a</p><p>esquerda, incluindo zeros à esquerda se for</p><p>necessário para completar a posição. Assim, você</p><p>terá:</p><p>D 537365</p><p>E 923654</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 44/56</p><p>4 - Representação de dados</p><p>Ao �nal deste módulo, você será capaz de categorizar as tabelas de</p><p>representação de dados.</p><p>Tabelas de representação de</p><p>dados</p><p>Em uma tabela de representação de dados, cada símbolo possui uma</p><p>correspondência com um grupo de bits que identifica exclusivamente</p><p>determinado caractere. Quando alguém escreve um texto no teclado,</p><p>os caracteres do alfabeto são convertidos em outros codificados em</p><p>bits.</p><p>Os tipos primitivos de dados podem ser classificados</p><p>em:</p><p>Apresentaremos, a seguir, dois conjuntos de códigos de caracteres:</p><p> Caractere</p><p>Representa símbolos (não numéricos). Modo</p><p>primário de introduzir dados no computador.</p><p>Serve para escrever um texto em algum idioma.</p><p> Lógico</p><p>Representa verdadeiro ou falso.</p><p> Numérico</p><p>Representa os números.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 45/56</p><p>ASCII</p><p>Tabela de representação de</p><p>dados ASCII</p><p>American Standard Code for Information Interchange (em português,</p><p>Código Padrão Americano para Troca de Informações).</p><p>Cada caractere tem sete bits. O ASCII possui um total de</p><p>128 caracteres (27) que podem ser expressos em</p><p>hexadecimal.</p><p>Os códigos 0 a 1F, por sua vez, não são impressos, pois</p><p>ambos são caracteres de controle.</p><p>Tanembaum (2007) informa que o ASCII ainda possui:</p><p>Letras maiúsculas</p><p>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</p><p></p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 46/56</p><p>Letras minúsculas</p><p>a b c d e f g h i j k l m n o p q r s t u v w x y z</p><p>Sinais de pontuação</p><p>* ~ . , : ; " + = ! ? @ / # ( ) { } [ ]</p><p>Símbolos matemáticos</p><p>+ × ÷ − =</p><p>As tabelas a seguir exibem o conjunto de caracteres ASCII:</p><p>Hex Nome Significado</p><p>0 NUL Null</p><p>1 SOH Start Of Hea</p><p>2 STX Start Of Text</p><p>3 ETX End Of Text</p><p>4 EOT</p><p>End Of</p><p>Transmissio</p><p>5 ENQ Enquiry</p><p>6 ACK ACKnowledg</p><p>7 BEL BELI</p><p>8 BS BackSpace</p><p>9 HT Horizontal T</p><p>A LF Line Feed</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 47/56</p><p>Hex Nome Significado</p><p>B VT Vertical Tab</p><p>C FF Form Feed</p><p>D CR Carriage Ret</p><p>E SO Shift Out</p><p>F SI Shift In</p><p>TANEMBAUM, 2007, p. 73.</p><p>Hex Car. Hex</p><p>20 (Space) 30</p><p>21 ! 31</p><p>22 " 32</p><p>23 # 33</p><p>24 $ 34</p><p>25 % 35</p><p>26 & 36</p><p>27 ' 37</p><p>28 ( 38</p><p>29 ) 39</p><p>2A * 3A</p><p>2B + 3B</p><p>2C , 3C</p><p>2D - 3D</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 48/56</p><p>Hex Car. Hex</p><p>2E . 3E</p><p>2F / 3F</p><p>TANEMBAUM, 2007, p. 73.</p><p>Unicode</p><p>Tabela de representação de</p><p>dados UNICODE</p><p>O ASCII é um bom conjunto de caracteres para textos de</p><p>língua inglesa, mas não tanto para os demais idiomas,</p><p>como japonês, chinês, árabe etc. Isso levou um grupo de</p><p>empresas a criar o Unicode, padrão internacional no qual</p><p>cada caractere possui um único valor: 16 bits. Com isso,</p><p>podemos ter um total de 65.536 símbolos (216).</p><p>Além do alfabeto e dos símbolos de pontuação, existem códigos para:</p><p></p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 49/56</p><p>Símbolos monetários</p><p>£ ¥ ₣ ₤ € $</p><p>Símbolos matemáticos</p><p>+ * / - =</p><p>Formas geométricas</p><p>■ ▭ △ ◯ ◆ ▱</p><p>Emojis</p><p>😀 😂 😇 😍 😎 😜</p><p>Segundo Tanembaum (2007), o consórcio Unicode estuda e decide</p><p>todas as novas propostas de inclusão de novos caracteres.</p><p>Quando um usuário digita no teclado a palavra SABER</p><p>(em letras maiúsculas), por exemplo, seus caracteres são</p><p>convertidos conforme a tabela a seguir:</p><p>S A</p><p>ASCII 01010011 01000001</p><p>Unicode U+0053 U+0041</p><p>Tabela: Conjuntos de códigos de caracteres ASCII e Unicode</p><p>Fabio Henrique Silva.</p><p>Evolução do caracteres</p><p>Os dispositivos que você usa hoje em dia suportam muitos caracteres</p><p>especiais. Se você acompanhou a evolução daqueles apresentados</p><p>pelos programas, lembra-se de algumas incompatibilidades que</p><p>aconteciam entre aplicativos diferentes ou que estavam relacionadas a</p><p>idiomas distintos.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 50/56</p><p>Essas incompatibilidades ocorriam quando não havia</p><p>padronizações (como as que existem atualmente)</p><p>nem uma adequação às aplicações. Isso prejudica</p><p>tanto a possibilidade da melhor exploração de um</p><p>negócio quanto sua acessibilidade e usabilidade.</p><p>Tenha sempre em mente a preocupação de promover a maior</p><p>compatibilidade possível entre os conjuntos de caracteres, caso você</p><p>venha a trabalhar com isso em funções como programador de</p><p>aplicativos de rede, programador web, webdesigner etc.</p><p>Códigos ASCII e Unicode</p><p>Neste vídeo, o professor Fabio Henrique Silva comenta a diferença</p><p>entre os conjuntos de códigos ASCII e Unicode.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Assinale a alternativa que apresenta um padrão de</p><p>códigos de caracteres:</p><p></p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 51/56</p><p>Parabéns! A alternativa D está correta.</p><p>Devido à limitação na quantidade de caracteres</p><p>suportados, um novo padrão internacional para a</p><p>elaboração de um conjunto de códigos deles foi</p><p>criado. Visando ao suporte a caracteres de inúmeros</p><p>idiomas e símbolos, no Unicode, cada caractere</p><p>possui um único valor: 16 bits.</p><p>Questão 2</p><p>O trecho de uma tabela possui as seguintes</p><p>codificações para caracteres:</p><p>A SCHOOL</p><p>B ZYXFG</p><p>C Codee</p><p>D Unicode</p><p>E Zabix</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 52/56</p><p>Como é a codificação dos caracteres ROMA em</p><p>binário?</p><p>Parabéns! A alternativa C está correta.</p><p>Convertendo os códigos decimais para binário,</p><p>temos:</p><p>A 1101101 0001101 0011001 1010110</p><p>B 1111011 0111001 1010011 0101100</p><p>C 1010010 1001111 1001101 1000001</p><p>D 1100100 0000001 0111001 0110010</p><p>E 1000001, 1001101, 1001111, 1010010</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 53/56</p><p>Considerações �nais</p><p>O estudo de assuntos mais profundos (do ponto de vista abstrato) do</p><p>computador nos permite a assimilação — ainda que de forma primária</p><p>— de tudo o que ocorre tanto no nível de hardware quanto em todos os</p><p>seus desdobramentos em software.</p><p>Sabendo, por exemplo, como são os sistemas de</p><p>numeração binário, octal e hexadecimal, podemos</p><p>compreender melhor como os tamanhos dos arquivos</p><p>são medidos, de que forma as linguagens de</p><p>programação podem usar a memória do computador, ou</p><p>como os endereços IP em redes de computadores são</p><p>construídos.</p><p>Desse modo, ao entendermos a maneira como são</p><p>realizados os cálculos aritméticos, estaremos</p><p>capacitados para atuar, por exemplo, em estudos e</p><p>projetos de chips, além de dispositivos embarcados e de</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 54/56</p><p>automação. Também estaremos habilitados a realizar</p><p>uma interseção com outras áreas de estudo, como a</p><p>Engenharia, a Eletrônica e as Telecomunicações.</p><p>Podcast</p><p>Para finalizar, ouça os principais tópicos abordados neste material.</p><p></p><p>Explore +</p><p>Para conhecer os conjuntos de caracteres Unicode, pesquise na</p><p>internet e acesse a página Unicode – the world standard for text and</p><p>emoji.</p><p>Referências</p><p>HARRIS, D.; HARRIS, S. Digital design and computer architecture. 2. ed.</p><p>San Francisco: Morgan Kaufmann, 2012.</p><p>HENNESSY, J. L. Organização e projeto de</p><p>computadores: a interface hardware/software. 2. ed. Rio</p><p>de Janeiro: LTC, 2000.</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 55/56</p><p>Instituto Nacional de Metrologia, Qualidade e Tecnologia.</p><p>INMETRO. Resumo do Sistema Internacional de</p><p>Unidades - SI. Tradução da publicação do BIPM.</p><p>Consultado em meio eletrônico em: 7 abr. 2020.</p><p>MONTEIRO, M. Introdução à organização de</p><p>computadores. 5. ed. Rio de Janeiro: LTC, 2007.</p><p>MURDOCCA, M. J.; HEURING, V. P. Introdução à</p><p>arquitetura de computadores. Rio de Janeiro: Campus,</p><p>2000.</p><p>PATTERSON, D. A. et al. Computer architecture, a</p><p>quantitative approach. 5. ed. San Francisco: Morgan</p><p>Kaufmann, 2011.</p><p>PATTERSON, D. A. et al. Organização e projeto de</p><p>computadores. 2. ed. Rio de Janeiro: LTC, 2000.</p><p>SEDGEWICK, R.; WAYNE, K. Computer science: an</p><p>interdisciplinary approach. New York: Pearson Education,</p><p>2017.</p><p>STALLINGS, W. Arquitetura e organização de</p><p>computadores. 8. ed. São Paulo: Pearson Prentice Hall,</p><p>2010.</p><p>TANEMBAUM, A. S. Organização estruturada de</p><p>computadores. 5. ed. Rio de Janeiro: LTC, 2007.</p><p>Material para download</p><p>Clique no botão abaixo para fazer o</p><p>download do conteúdo completo em</p><p>formato PDF.</p><p>Download material</p><p>O que você achou do conteúdo?</p><p>javascript:CriaPDF()</p><p>22/11/2023, 14:44 Representação de dados</p><p>https://stecine.azureedge.net/repositorio/00212ti/00432/index.html# 56/56</p><p>Relatar problema</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 1/62</p><p>Lógica digital</p><p>Prof. Mauro Cesar Cantarino Gil</p><p>Descrição</p><p>A lógica digital através das operações da álgebra booleana.</p><p>Propósito</p><p>Compreender a lógica booleana e a importância das aplicações de</p><p>portas e circuitos lógicos no desenvolvimento de programas e</p><p>equipamentos eletrônicos.</p><p>Objetivos</p><p>Módulo 1</p><p>Operações básicas da álgebra</p><p>booleana</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 2/62</p><p>Identificar as operações básicas da álgebra booleana.</p><p>Módulo 2</p><p>Portas e operações lógicas</p><p>Compreender portas lógicas, operações lógicas e as suas tabelas-</p><p>verdade.</p><p>Módulo 3</p><p>Expressões lógicas e diagramas</p><p>lógicos</p><p>Aplicar as expressões lógicas e diagramas lógicos.</p><p>Introdução</p><p>As máquinas se comunicam de forma binária (bits 0 ou 1).</p><p>Fisicamente, os circuitos eletrônicos são construídos para que</p><p>gerem tensões que representem esses bits 0 e 1 de acordo</p><p>com as ações que a máquina deve executar.</p><p>Dessa forma, o computador possui vários circuitos lógicos que</p><p>precisam ser orientados em como atuar, a partir de</p><p>orientações lógicas baseadas em 0 e 1. Para fazer isso, é</p><p>preciso utilizar a regra booleana, que corresponde a uma</p><p>linguagem baseada em símbolos, letras e conectores para que</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 3/62</p><p>as máquinas gerem os resultados pretendidos a partir de</p><p>entradas de 0 e 1. Interessante, não?</p><p>No decorrer do conteúdo, você aprenderá os conceitos básicos</p><p>das regras booleanas, como elas influenciam no</p><p>desenvolvimento dos softwares e dos equipamentos</p><p>eletrônicos.</p><p>1 - Operações básicas da álgebra booleana</p><p>Ao �nal deste módulo, você será capaz de identi�car as operações básicas</p><p>da álgebra booleana.</p><p>Portas lógicas e lógica</p><p>booleana</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 4/62</p><p>As operações que são realizadas por um computador digital (binário),</p><p>vistas como complexas, podem ser compreendidas como simples</p><p>combinações de operações aritméticas e lógicas básicas, como visto a</p><p>seguir:</p><p>Estas operações lógicas são implementadas através de circuitos</p><p>eletrônicos denominados circuitos lógicos, os quais também são</p><p>conhecidos como gates ou portas lógicas.</p><p>Na lógica digital, há somente duas condições, 1 e 0, e os circuitos</p><p>lógicos utilizam faixas de tensões predefinidas para representar esses</p><p>valores binários. Assim, é possível construir circuitos lógicos que</p><p>possuem a capacidade de produzir ações que irão permitir tomadas de</p><p>decisões inteligentes, coerentes e lógicas.</p><p>É importante que tenhamos a capacidade de descrever a</p><p>operação dos circuitos, pois eles são citados repetidas</p><p>vezes em textos técnicos.</p><p>Boole desenvolveu a sua lógica a partir de símbolos e representou as</p><p>expressões por letras, efetuando a sua ligação através dos</p><p>de desenvolvimento.</p><p>Exemplo</p><p>Computadores quânticos usam as características da</p><p>mecânica quântica a fim de permitir a solução de</p><p>problemas muito complexos para PCs convencionais.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 12/60</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Potentes, os computadores atuais podem ser</p><p>levados até nossos bolsos, como é o caso dos</p><p>celulares. Entretanto, em sua primeira versão, um</p><p>computador ocupava uma sala inteira e pesava o</p><p>equivalente a 30 carros. Para essa enorme evolução</p><p>acontecer, diversas descobertas científicas e</p><p>tecnológicas foram fundamentais.</p><p>Assinale a alternativa que contém o conjunto de</p><p>tecnologias desenvolvido na ordem cronológica</p><p>correta para permitir o desenvolvimento dos</p><p>computadores:</p><p>A</p><p>Transistor, microprocessador e</p><p>circuito integrado.</p><p>B</p><p>Rádio, válvulas termiônicas e</p><p>microprocessador.</p><p>C</p><p>Transistor, circuito integrado e</p><p>microprocessador.</p><p>D Transistor, circuito integrado e rádio.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 13/60</p><p>Parabéns! A alternativa C está correta.</p><p>O transistor permitiu a miniaturização dos</p><p>componentes do computador, rendendo aos seus</p><p>criadores o Nobel de Física de 1956. Os circuitos</p><p>integrados permitiram a colocação de diversos</p><p>transistores e portas lógicas em uma só pastilha de</p><p>silício. Isso possibilitou a feitura de</p><p>microprocessadores capazes de operar um</p><p>computador programável e genérico a partir de um</p><p>único chip.</p><p>Questão 2</p><p>Assim como a maioria dos avanços tecnológicos, os</p><p>computadores foram construídos e desenvolvidos a</p><p>partir de outras tecnologias que os precederam.</p><p>Assinale a alternativa que não representa uma</p><p>tecnologia precursora dos computadores:</p><p>E</p><p>Transistor, microprocessadores e</p><p>válvulas termiônicas.</p><p>A Máquina universal de Turing.</p><p>B Transistor.</p><p>C Calculadora.</p><p>D Energia elétrica.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 14/60</p><p>Parabéns! A alternativa B está correta.</p><p>O primeiro computador funcionava à base de</p><p>válvulas termiônicas. O transistor as substituiu</p><p>posteriormente.</p><p>2 - Sistema computacional</p><p>Ao �nal deste módulo, você será capaz de identi�car os componentes de</p><p>um sistema computacional – hardware e software.</p><p>Hardware e Software</p><p>Os computadores são feitos com um conjunto de componentes</p><p>dividido em dois grandes grupos:</p><p>Hardware (HW) Software (SW)</p><p>E Ábacos.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 15/60</p><p>Componentes</p><p>físicos, ou seja, o</p><p>que pode ser visto</p><p>e tocado.</p><p>Programas</p><p>executados no</p><p>computador.</p><p>Apresentaremos, a seguir, os diversos tipos de hardware presentes em</p><p>um computador e os tipos de software mais importantes. Além disso,</p><p>entenderemos como a interação entre eles permite que nossos PCs</p><p>sejam capazes de resolver quase todos os problemas, abrindo o</p><p>caminho para soluções inovadoras e não planejadas.</p><p>Conceitos</p><p>A grande propagação dos computadores se deve à implementação de</p><p>diversas funções genéricas (hardware) e ao uso delas para gerar</p><p>programas úteis a muitas pessoas (software). O hardware forma a base</p><p>para o que conseguimos extrair de um sistema computacional.</p><p>Exemplo</p><p>Se você tentar se conectar à internet em um computador</p><p>sem placa de rede, não conseguirá. Isso se deve à falta</p><p>do hardware, que é o responsável por dar uma</p><p>capacidade de conexão à internet: a placa de rede.</p><p>Para exemplificarmos os conceitos de hardware e software, podemos</p><p>fazer uma analogia com a linha de produção de um automóvel.</p><p>A montadora constrói um modelo, colocando nele:</p><p>Isso equivale ao hardware do computador. O automóvel tem todas</p><p>essas possibilidades já descritas, mas não sabemos de antemão como</p><p>ele vai ser usado. Sua função, afinal, dependerá do motorista que o</p><p>comprar. A pessoa pode resolver usar o carro para viajar nos finais de</p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 16/60</p><p>semana, ir ao trabalho e voltar todo dia – ou até para trabalhar como</p><p>motorista de aplicativo. A função do carro só será decidida pelo</p><p>motorista. Isso equivale ao software de nosso computador. Da mesma</p><p>maneira, os programas executados definem como o computador vai ser</p><p>usado.</p><p>No entanto, se o motorista quiser usar seu veículo para levar um</p><p>reboque, só vai conseguir fazer isso se possuir um engate, já que ele</p><p>não tem essa capacidade instalada. De forma análoga, um computador</p><p>só consegue executar programas se tiver o hardware necessário para</p><p>tal.</p><p>Engate</p><p>Artefato ou conjunto de peças com que se ligam os vagões de um</p><p>trem entre si e à locomotiva, animais a carros, carroças ou</p><p>similares, veículos entre si etc. (HOUAISS, 2002)</p><p>Principais componentes de</p><p>hardware dos computadores</p><p>Vamos conhecê-los a seguir:</p><p>Processador</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 17/60</p><p>Também conhecido como CPU (Central Processing Unit</p><p>ou Unidade Central de Processamento, em português),</p><p>processador é o cérebro do computador, pois recebe as</p><p>instruções e as executa sequencialmente. Seu principal</p><p>componente é a unidade lógica e aritmética, responsável</p><p>por operações como adicionar e subtrair.</p><p>A execução das instruções em um processador é regulada pela</p><p>presença de um pulso de frequência constante denominado clock, que</p><p>é medido em Hertz (Hz) – número de pulsos por segundo.</p><p>Uma das principais características de um processador</p><p>é a velocidade com que consegue executar</p><p>instruções. Isso depende diretamente da frequência</p><p>do clock.</p><p>Como vimos, os processadores foram criados na década de 1970.</p><p>Inicialmente, eles tiveram sua velocidade aumentada, gerando uma</p><p>competição acirrada entre as produtoras de microprocessadores. Era</p><p>comum medir a qualidade do CPU pela velocidade de seu clock.</p><p>Entendia-se que um processador de 1800 MHz era melhor que um de</p><p>1600 MHz.</p><p>Saiba mais</p><p>Overclocking, por sua vez, é o processo para customizar</p><p>a velocidade do clock do processador acima de sua</p><p>frequência de uso normal. Tal prática deixa o</p><p>computador mais rápido, pois uma maior quantidade de</p><p>operações pode ser realizada ao mesmo tempo. Há</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 18/60</p><p>certos riscos envolvidos no overclocking, como danos ao</p><p>processador e sobreaquecimento.</p><p>O aumento de clock a cada geração de processadores seguiu ao longo</p><p>dos anos, até que, por conta de interferências físicas entre seus</p><p>componentes, ficou inviável a continuação desse procedimento. A</p><p>solução dada pelos projetistas foi colocar diversos miniprocessadores</p><p>(chamados de núcleos) dentro de um mesmo chip de processador. Em</p><p>termos práticos, é como se houvesse dois, quatro ou até mais</p><p>processadores trabalhando em um mesmo chip.</p><p>Essa técnica é conhecida como multicore, mas, em função do número</p><p>de núcleos, também é chamada de:</p><p>Dual core (dois núcleos)</p><p>Quad core (quatro núcleos)</p><p>Atualmente, a maioria dos processadores de mercado (inclusive os de</p><p>celulares) utiliza ao menos quatro cores e frequências de clock de</p><p>alguns bilhões de pulsos por segundo (GHz).</p><p>Além do clock e do número de núcleos, outra característica importante</p><p>do processador é a sua memória cache. Veja como ela funciona:</p><p>1</p><p>Ela funciona como uma pequena</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 19/60</p><p>Por fim, outra característica importante a ser considerada na avaliação</p><p>do processador é seu encaixe (conhecido como pinagem). Para</p><p>permanecer encaixado na placa-mãe, ele conta com pinos cujo formato</p><p>deve corresponder ao dos buracos disponíveis (chamados de soquete).</p><p>Memória principal</p><p>Memória RAM</p><p>Ela funciona como uma pequena</p><p>parte da memória principal</p><p>dentro do próprio chip do</p><p>processador.</p><p>2</p><p>As informações são lidas ou</p><p>escritas na</p><p>conectivos</p><p> Somar bits</p><p> Complementar bits</p><p> Mover bits</p><p> Comparar bits</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 5/62</p><p>(símbolos algébricos).</p><p>Lógica booleana</p><p>Veja, a seguir, como a lógica booleana está presente em nossa vida.</p><p>Para este tipo de aplicação, podemos analisar a conversão de um valor</p><p>de uma tensão em um determinado circuito, conforme apresentado na</p><p>gráfico a seguir, em que os valores considerados como baixos serão</p><p>convertidos em 0 (zeros) e os valores considerados altos serão</p><p>convertidos em 1 (um).</p><p>Mauro Cesar Catarino Gil</p><p>Perceba que, com a tensão baixa (bit 0), o equipamento estará</p><p>desligado, já, com a tensão alta (bit 1), ele estará ligado.</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 6/62</p><p>O pesquisador Claude Shannon, do Instituto de Tecnologia de</p><p>Massachusetts (MIT), em 1938, propôs que a álgebra booleana poderia</p><p>ser utilizada para resolver problemas com projetos de circuitos com</p><p>comutadores. A partir das técnicas de Shannon, foi possível a sua</p><p>aplicação na análise e no desenvolvimento de circuitos digitais</p><p>eletrônicos. Assim, a álgebra booleana, através das suas propriedades</p><p>básicas, se mostra eficiente como uma ferramenta para:</p><p>Análise</p><p>A função de um circuito digital é descrita de acordo com</p><p>a análise de um modo simplificado.</p><p>Projeto</p><p>A lógica booleana é utilizada para que seja desenvolvida</p><p>uma implementação simplificada desta função, ao</p><p>especificar uma determinada função de um circuito.</p><p>Iniciando o nosso estudo, representaremos os operadores lógicos e, a</p><p>partir desses, perceberemos a representação das suas respectivas</p><p>portas lógicas. Neste caso, para que possamos compreender os</p><p>valores resultantes de cada operador lógico, é necessário conhecer as</p><p>Tabelas Verdade, que são tabelas que representam todas as possíveis</p><p>combinações dos valores das variáveis de entrada com os seus</p><p>respectivos valores de saída.</p><p>Tabela-verdade</p><p>É uma técnica utilizada para descrever como a saída de um circuito</p><p>lógico é dependente dos níveis lógicos de entrada, isto é, são tabelas</p><p>que conterão todas as possíveis combinações das variáveis de entrada</p><p>de uma determinada função e, como resultado, os valores de saída.</p><p>Neste caso, a tabela-verdade conterá o número necessário de linhas</p><p>para representar todas as combinações possíveis das suas variáveis de</p><p>entrada.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 7/62</p><p>Os valores 0 e 1 são considerados como 0 = FALSO e 1 = VERDADEIRO.</p><p>Como exemplo, observe a imagem a seguir:</p><p>Representação de um circuito com duas entradas e uma saída</p><p>Agora, veja como fica a tabela-verdade do circuito com duas entradas e</p><p>uma saída:</p><p>Operadores e portas lógicas</p><p>básicas</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 8/62</p><p>Portas lógicas</p><p>Uma porta lógica é um componente de hardware que terá um ou muitos sinais de entrada e, como consequência, produzirá</p><p>um sinal de saída de acordo com a lógica estabelecida na construção do circuito em questão.</p><p>Os operadores booleanos básicos também denominados como funções lógicas básicas são:</p><p></p><p>OR</p><p></p><p>AND</p><p></p><p>NOT</p><p>O operador e a porta OR (OU)</p><p>O operador OR (OU) é a primeira das três operações básicas que vamos</p><p>estudar e, para ilustrar a sua aplicação, vamos utilizar o seguinte</p><p>cenário:</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 9/62</p><p>Ao abrir a porta de um automóvel, a lâmpada de</p><p>iluminação da cabine do veículo deverá acender?</p><p>A resposta é sim.</p><p>E, ao fechar a porta, a lâmpada deverá ser desligada.</p><p>Dessa forma, a lâmpada estará acesa em duas situações</p><p>distintas, se a porta do veículo estiver aberta OU (OR) o</p><p>interruptor da lâmpada for acionado, mesmo com a porta</p><p>fechada.</p><p>Neste cenário, vamos representar cada uma dessas seguintes</p><p>possibilidades:</p><p>A variável A representará a abertura da porta;</p><p>A variável B representará o interruptor;</p><p>A variável X representará o estado da lâmpada, se</p><p>está acesa ou apagada.</p><p>Assim, a expressão booleana para a operação OR é definida como:</p><p>X = A + B</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 10/62</p><p>Em que o sinal (+) não representa uma soma, e sim a operação OR, cuja</p><p>expressão é lida como:</p><p>X é igual a A OR B.</p><p>Ao analisar as combinações possíveis, levando em consideração os</p><p>valores, temos o seguinte:</p><p>Resultado das análises das combinações dos valores</p><p>Em síntese, na tabela a seguir, estão representadas as combinações</p><p>dos valores possíveis com a construção da tabela-verdade para o</p><p>operador OR com duas entradas:</p><p>Ao analisar a tabela-verdade, chegaremos à conclusão de que a</p><p>lâmpada estará apagada (valor igual a 0, FALSO) se — e somente se —</p><p>tanto o interruptor quanto a porta possuírem o valor de entrada igual a</p><p>FALSO (igual a 0) e, para as demais combinações, a lâmpada estará</p><p>acesa (igual a 1, VERDADEIRO).</p><p>Nos circuitos digitais, uma porta OR é um circuito que tem duas ou</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 11/62</p><p>mais entradas e a sua saída é igual à combinação das entradas através</p><p>da operação OR, como ilustrado na seguinte imagem:</p><p>Símbolo de uma porta OR com duas entradas e uma saída</p><p>A seguir, veja outro caso e a sua correspondente tabela-verdade com</p><p>três entradas e uma saída:</p><p>Símbolo de uma porta OR</p><p>Vamos praticar!</p><p>Seja A = 1100, B = 1111 e C = 0001, para calcular L = A + B + C (A or B</p><p>or C), o cálculo deve ser realizado em duas etapas, utilizando a</p><p>seguinte Tabela Verdade da porta OR:</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 12/62</p><p>Na primeira etapa, vamos calcular M = A + B (A or B) e, em seguida, o</p><p>resultado parcial será obtido (M), combinado com C em outra operação</p><p>lógica OR (M or C), sempre utilizando as combinações de entrada e os</p><p>resultados definidos nas seguintes tabelas-verdade da porta OR, uma</p><p>de resultado parcial M = 1111 e outra de resultado: L = 1111:</p><p>O operador e a porta AND (E)</p><p>O operador AND (E) é a segunda das três operações básicas que</p><p>vamos estudar e, apenas para ilustrar a sua aplicação, vamos utilizar o</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 13/62</p><p>seguinte cenário:</p><p>Ao acionar a botoeira da cabine de um elevador, será</p><p>acionado o motor do elevador imediatamente?</p><p>Esta resposta dependerá de que outras condições</p><p>estejam atreladas ao seu acionamento.</p><p>Vamos analisar o acionamento deste botão em conjunto</p><p>com um sensor que identificará se a porta do elevador</p><p>está fechada. Logo, a resposta será sim.</p><p>Se a porta estiver fechada, então o motor será ligado. O</p><p>motor será acionado (valor igual a 1, verdadeiro) em uma</p><p>única situação, se a porta do elevador estiver fechada</p><p>(valor igual a 1, verdadeiro) E (AND) o botão do elevador</p><p>for acionado (valor igual a 1, verdadeiro).</p><p>Neste cenário, vamos representar cada uma dessas possibilidades:</p><p>A variável A representará o sensor da porta;</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 14/62</p><p>A variável B representará o botão;</p><p>A variável X representará o acionamento do motor.</p><p>Deste modo, a expressão booleana para a operação AND é definida</p><p>como:</p><p>X = A · B</p><p>Em que o sinal ( · ) não representa uma multiplicação, e sim a operação</p><p>AND e a expressão é lida como:</p><p>X é igual a A AND B.</p><p>Agora, ao analisar as combinações possíveis, levando em consideração</p><p>os valores, temos o seguinte:</p><p>Resultado das análises das combinações dos valores.</p><p>Em síntese, na tabela a seguir estão representadas as combinações</p><p>com dois valores de entrada e uma saída para a da Tabela Verdade</p><p>com o operador AND:</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#</p><p>15/62</p><p>Ao analisar a tabela-verdade, chegaremos à conclusão de que o motor</p><p>será acionado (valor igual a 1, verdadeiro) se — e somente se — tanto o</p><p>botão quanto o sensor da porta possuírem o valor igual a verdadeiro</p><p>(igual a 1) e, para as demais combinações, o motor estará desligado</p><p>(igual a 0).</p><p>Nos circuitos digitais, uma porta AND é um circuito que tem duas ou</p><p>mais entradas e a sua saída é igual à combinação das entradas através</p><p>da operação AND, conforme ilustrado na imagem a seguir:</p><p>Símbolo de uma porta AND com duas entradas e uma saída</p><p>A seguir, veja outro caso e a sua correspondente tabela-verdade com</p><p>três entradas e uma saída:</p><p>Símbolo de uma porta AND.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 16/62</p><p>Vamos praticar!</p><p>Prática 1</p><p>Seja A = 1 e B = 0, calcule o valor de X, quando X = A • B (A and B).</p><p>Analisando a seguinte tabela-verdade da porta AND:</p><p>Podemos verificar que o valor de X = 0, pois 1 and 0 = 0.</p><p>Prática 2</p><p>Agora, seja A = 0110 e B = 1101, calcule o valor de X, quando X = A • B</p><p>(A and B). Analisando a seguinte tabela-verdade da porta AND:</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 17/62</p><p>Temos o seguinte:</p><p>Operando bit a bit, encontramos o valor de X = 0100.</p><p>O operador e a porta NOT (NÃO)</p><p>O operador NOT (NÃO) ou inversor é a terceira das três operações</p><p>básicas que estudaremos, sendo este operador totalmente diferente</p><p>dos outros já estudados, porque pode ser realizado através de uma</p><p>única variável.</p><p>Como exemplo, se uma variável A for submetida à operação de</p><p>inversão, o resultado X pode ser expresso como:</p><p>X = A</p><p>Em que a barra sobre o nome da variável representa a operação de</p><p>inversão e a expressão é lida como:</p><p>X é igual a NOT A ou X é igual a A negado ou X é igual ao</p><p>inverso de A ou X é igual ao complemento de A.</p><p>Como utilizaremos a barra para identificar a negação, outra</p><p>representação também é utilizada para a inversão por outros autores,</p><p>que é a seguinte:</p><p>A' = A</p><p>Em síntese, a representação da tabela-verdade para o operador NOT</p><p>com uma entrada e uma saída é a seguir:</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 18/62</p><p>Nos circuitos digitais, uma porta NOT é um circuito que tem uma</p><p>entrada, e a sua saída, a negação, é indicada por um pequeno círculo,</p><p>como mostrado a seguir:</p><p>Símbolo de uma porta NOT com uma entrada e uma saída.</p><p>Outras portas lógicas</p><p>fundamentais</p><p>A porta NOR (Não OU)</p><p>Para ampliar o nosso estudo sobre as portas lógicas, é importante</p><p>perceber que o inversor, ou a função NOT (NÃO), pode ser aplicada</p><p>tanto em variáveis como em portas lógicas inteiras, assim invertendo</p><p>toda sua saída.</p><p>Neste contexto, seria possível concatenar a saída de uma porta lógica</p><p>com a entrada do inversor conforme apresentado na figura a seguir,</p><p>produzindo, assim, a inversão de todos os seus valores de saída.</p><p>Mas é possível construir a sua representação de uma forma diferente,</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 19/62</p><p>permitindo criar a inversão em toda porta lógica de modo bastante</p><p>peculiar — com a identificação de um pequeno círculo na sua saída,</p><p>indicando a inversão. Veja a imagem a seguir:</p><p>A porta NOR (Não OU).</p><p>Você pode perceber que o símbolo da porta NOR de duas entradas</p><p>representado na imagem a seguir é o mesmo símbolo utilizado para</p><p>representar a porta OR, com apenas uma diferença — a inclusão de um</p><p>pequeno círculo na sua saída, que representa a inversão da operação</p><p>OR.</p><p>A expressão que representa a porta NOR é:</p><p>X = A + B</p><p>Note que a barra que indica a negação/inversão será estendida a todas</p><p>as variáveis de entrada, neste exemplo com duas variáveis:</p><p>Símbolo de uma Porta NOR.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 20/62</p><p>A porta NOR ()'NOT OR' 'NÃO-OU').</p><p>A tabela-verdade a seguir mostra que a saída da porta NOR é</p><p>exatamente o inverso da saída da porta OR:</p><p>Ao analisar as combinações possíveis com duas entradas, levando em</p><p>consideração os valores para as variáveis de entrada A e B, somente</p><p>produzirá uma saída 1 (VERDADEIRO) se — e somente se — todas as</p><p>entradas sejam 0 (FALSO) e, para as demais condições, produzirá como</p><p>resultado na saída igual a 0 (FALSO).</p><p>Utilizando uma adaptação do cenário descrito na porta OR, podemos</p><p>ter o seguinte:</p><p>Variável A, B e X</p><p>Nós podemos</p><p>representar a</p><p>Igual a 0 e igual a</p><p>1</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 21/62</p><p>aplicação desta</p><p>função como: a</p><p>lâmpada poderá</p><p>estar apagada em</p><p>duas situações</p><p>distintas, se a</p><p>porta do veículo</p><p>estiver aberta e o</p><p>interruptor da</p><p>lâmpada for</p><p>acionado. Neste</p><p>cenário, vamos</p><p>representar cada</p><p>uma dessas</p><p>possibilidades: a</p><p>variável A</p><p>representará a</p><p>abertura da porta,</p><p>a variável B</p><p>representará o</p><p>interruptor e a</p><p>variável X</p><p>representará o</p><p>estado da</p><p>lâmpada; se está</p><p>acesa ou</p><p>apagada.</p><p>Ao analisarmos</p><p>as combinações</p><p>possíveis, levando</p><p>em consideração</p><p>os valores para a</p><p>variável A, será</p><p>igual a 0 se a</p><p>porta estiver</p><p>fechada e será</p><p>igual a 1 se a</p><p>porta estiver</p><p>aberta. Em</p><p>relação à variável</p><p>B, temos o valor</p><p>igual a 0 para o</p><p>interruptor</p><p>ativado e 1 para o</p><p>interruptor</p><p>desativado e, por</p><p>fim, a variável X</p><p>possuirá o valor 0</p><p>para a lâmpada</p><p>apagada e 1 para</p><p>a lâmpada acesa.</p><p>A porta NAND (Não E)</p><p>Você pode perceber que o símbolo da porta NAND de duas entradas,</p><p>representado na imagem a seguir, é o mesmo símbolo utilizado para</p><p>representá-la, com apenas uma diferença – a inclusão de um pequeno</p><p>círculo na sua saída, que representa a inversão da operação AND.</p><p>A expressão que representa a porta NAND é:</p><p>X = A · B</p><p>Em que a barra sobre o nome da variável representa a operação de</p><p>inversão e a expressão é lida como:</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 22/62</p><p>X é igual a NOT A ou X é igual a A negado ou X é igual ao</p><p>inverso de A ou X é igual ao complemento de A.</p><p>Veja o símbolo e o circuito a seguir:</p><p>Símbolo de uma porta NAND.</p><p>A porta NAND ('NOT AND' 'NÃO-E').</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 23/62</p><p>A seguinte A tabela-verdade mostra que a saída da porta NAND é</p><p>exatamente o inverso da saída da porta AND:</p><p>Ao analisar as combinações possíveis, levando em consideração os</p><p>valores para as variáveis de entrada A e B, somente produzirá uma</p><p>saída 0 (FALSO) se — e somente se — todas as entradas forem 1</p><p>(VERDADEIRO) e, para as demais condições, produzirá como resultado</p><p>na saída igual a 1 (VERDADEIRO).</p><p>Conforme apresentado anteriormente, vamos exibir um cenário:</p><p>Um semáforo para bicicletas e um sensor de movimento</p><p>para a passagem de pedestres.</p><p>Assim, o sinal verde (liberando a passagem para</p><p>ciclistas) estará ligado (0, FALSO) se duas condições</p><p>forem atendidas: um botão seja acionado (1,</p><p>VERDADEIRO) e o sensor de movimento não detecte a</p><p>existência de um pedestre naquele momento (1,</p><p>VERDADEIRO). Para as demais possibilidades, o</p><p>semáforo estará com o farol vermelho acionado (1,</p><p>VERDADEIRO), bloqueando o tráfego de ciclistas.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 24/62</p><p>Vamos praticar!</p><p>Seja A = 1 0 0 1 0 e B = 1 1 1 1 0, calcule X = A · B. Uma resposta</p><p>interessante para este caso é a realização de duas operações lógicas</p><p>em sequência. Primeiro, realiza-se a operação AND e, em seguida,</p><p>obtém-se o inverso do resultado, produzindo o valor final para uma</p><p>operação NAND.</p><p>Pela tabela-verdade da porta AND, temos:</p><p>O resultado parcial: L = 10010. Invertendo os bits de L, usando a Tabela</p><p>Verdade da porta NOT:</p><p>1 0 0 1 0 = T = A · B</p><p>0 1 1 0 1 = T = A · B</p><p>Resultado: X = T = A · B = 0 1 1 0 1.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 25/62</p><p>Resolução da expressão</p><p>booleana</p><p>Veja, a seguir, o vídeo para melhor compreensão da lógica apresentada</p><p>na situação que acabou de ler.</p><p>A porta XOR (Ou exclusivo)</p><p>A porta XOR que é uma abreviação do termo exclusive or, poderá ser</p><p>considerada como um caso particular da função OR.</p><p>Neste sentido, a porta XOR produzirá um resultado igual a 1</p><p>(VERDADEIRO), se pelo menos um dos valores das entradas for</p><p>diferente dos demais (exclusividade de valor da variável), isto é, a porta</p><p>produzirá o resultado 0 (FALSO) se — e somente se — todos os valores</p><p>das entradas forem iguais, conforme é apresentado na tabela-verdade a</p><p>seguir:</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 26/62</p><p>A expressão que representa a porta XOR é:</p><p>X = A ⊕ B</p><p>E seu símbolo fica da seguinte forma:</p><p>Símbolo de uma Porta XOR.</p><p>Para ilustrar a sua aplicação, vamos utilizar o seguinte cenário: ao se</p><p>acionar um motor elétrico de um equipamento por dois botões distintos</p><p>em dois locais diferentes. O motor somente será acionado se — e</p><p>somente se — um dos botões for acionado (valor igual a 1,</p><p>VERDADEIRO). Para os demais casos, o botão não fará a atuação do</p><p>motor (valor igual a 0, FALSO), isto é, se ambos os botões não forem</p><p>acionados ou ambos forem acionados ao mesmo instante, o</p><p>equipamento não será ligado. Assim, podemos, neste exemplo, utilizar</p><p>uma função XOR.</p><p>Vamos praticar!</p><p>Seja A = 1 e B = 0, calcule o valor de X, quando X = A ⊕ B. Analisando</p><p>a tabela-verdade da porta XOR, temos:</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 27/62</p><p>Podemos verificar que:</p><p>A = 1 ⊕ B = 0 ou 0 ⊕ 1 = 1</p><p>O valor de X = 1, pois 0 xor 1 = 1.</p><p>A porta XNOR (coincidência)</p><p>A expressão que representa a porta XNOR é:</p><p>X = A ⊙ B</p><p>A tabela-verdade da porta XNOR fica da seguinte forma:</p><p>E o símbolo a seguir:</p><p>Símbolo de uma Porta XNOR.</p><p>Poderíamos citar um exemplo que negue a condição definida pela</p><p>função XOR. Para ilustrar a sua aplicação, vamos utilizar o seguinte</p><p>cenário:</p><p>Ao se acionar uma porta rotatória em um banco através</p><p>de dois botões distintos, localizados nos dois lados da</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 28/62</p><p>porta. A porta será liberada se — e somente se — um dos</p><p>botões for acionado (valor igual a 1, VERDADEIRO).</p><p>Para os demais casos, ele manterá a porta bloqueada</p><p>(valor igual a 0, FALSO), isto é, se ambos os botões não</p><p>forem acionados ou ambos forem acionados ao mesmo</p><p>instante. Assim, podemos, neste exemplo, utilizar uma</p><p>função XNOR.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Sendo os valores para as variáveis de entrada com 4</p><p>bits A = 0110 e B = 1101, qual é o resultado da</p><p>função Z = A • B?</p><p>A Z = 0100</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 29/62</p><p>Parabéns! A alternativa A está correta.</p><p>Como existem duas variáveis de entrada com 4 bits,</p><p>é necessário efetuar o cálculo da função AND bit a</p><p>bit entre o par de variáveis, da seguinte forma:</p><p>Questão 2</p><p>Qual seria a função lógica que representaria o</p><p>seguinte cenário: Em um ambiente monitorado,</p><p>existem sensores e uma central de alarme. Neste</p><p>caso, o alarme sonoro Y será disparado</p><p>(VERDADEIRO), se pelo menos um dos três sensores</p><p>(A, B e C) estiver ativado (VERDADEIRO).</p><p>B Z = 1011</p><p>C Z = 1111</p><p>D Z = 1101</p><p>E Z = 0000</p><p>A Y = A · B · C</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 30/62</p><p>Parabéns! A alternativa D está correta.</p><p>Para produzir essa solução, vamos construir a</p><p>Tabela Verdade com 3 variáveis de entrada (A,B,C) e</p><p>uma de saída Y. O valor de saída deverá ser restrito</p><p>ao cenário, isto é, o alarme somente não irá disparar</p><p>se nenhum dos sensores estiver ativo.</p><p>Neste caso, a representação será uma função OR</p><p>com três entradas e uma saída, isto é, a saída será</p><p>VERDADEIRA sempre que existir ao menos uma</p><p>entrada verdadeira.</p><p>Y = A + B + C</p><p>Apenas para subsidiar a solução, considere a função</p><p>OR para as duas primeiras variáveis A + B. O</p><p>resultado somente será falso se ambas as entradas</p><p>forem FALSAS. Agora, combinando este resultado</p><p>(FALSO) com a função OR e a variável C. Novamente,</p><p>B Y = A · B + C</p><p>C Y = A · (B + C)</p><p>D Y = A + B + C</p><p>E Y = A · C + B</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 31/62</p><p>somente será FALSO quando ambas as entradas</p><p>forem FALSAS.</p><p>2 - Portas e operações lógicas</p><p>Ao �nal deste módulo, você será capaz de compreender portas lógicas,</p><p>operações lógicas e suas tabelas-verdade.</p><p>Expressões lógicas</p><p>Em muitos casos, a interpretação de um circuito digital exige uma</p><p>análise aprofundada e meticulosa sobre o circuito com o objetivo de</p><p>conhecer o seu funcionamento, ou mesmo para analisar situações de</p><p>criação, falha, expansão e alterações, entre outras possibilidades.</p><p>Neste contexto, é interessante que se utilize de uma forma para a</p><p>representação de um circuito que esteja em formato de uma expressão</p><p>algébrica.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 32/62</p><p>As expressões lógicas, também denominadas como</p><p>funções lógicas, podem ser de�nidas da mesma forma</p><p>que uma expressão algébrica, isto é, com o uso de sinais</p><p>de entrada (variáveis lógicas — binárias), ligados por</p><p>conectivos lógicos (símbolos que representarão uma</p><p>operação lógica, com parênteses, opcionalmente) e</p><p>também com o sinal de igualdade (=), produzindo, como</p><p>resultado, um único sinal de saída.</p><p>Desse modo, podemos afirmar que todo circuito lógico executará uma</p><p>expressão booleana. Por exemplo:</p><p>X = A + B · C</p><p>O exemplo X é uma expressão lógica e, como uma função lógica,</p><p>somente poderá possuir como valor 0 ou 1. O seu resultado dependerá</p><p>dos valores das variáveis A, B e C e das operações lógicas OR, NOT e</p><p>AND, nesta expressão apresentada.</p><p>Vamos praticar!</p><p>Vamos supor que, a partir de um circuito lógico, devemos construir a</p><p>sua respectiva expressão lógica. Seja o circuito:</p><p>Circuito lógico.</p><p>Como sugestão, utilizaremos a decomposição deste circuito em partes</p><p>(blocos) a partir da sua saída (S).</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 33/62</p><p>Decomposição do circuito.</p><p>Dessa maneira, analisaremos o circuito nas duas seguintes partes:</p><p>Decomposição do circuito.</p><p>Agora, para obter a expressão final deste circuito, vamos substituir a</p><p>expressão S1 em função de A e B. Como temos a seguinte fórmula:</p><p>S1 = A · B</p><p>S = S1 + C</p><p>Temos, então:</p><p>S1 = (A · B) + C</p><p>Avaliação de uma expressão</p><p>lógica</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 34/62</p><p>Na avaliação de uma expressão lógica, uma ordem de precedência</p><p>deverá ser seguida da mesma forma que é considerada em uma</p><p>expressão aritmética, de acordo com o definido a seguir:</p><p>1. Avalie NOT;</p><p>2. Avalie END;</p><p>3. Avalie OR.</p><p>Lembre-se de que os conteúdos entre parênteses devem ser</p><p>executados primeiro.</p><p>Seguindo o exemplo anterior, X = A + B · C, lê-se:</p><p>X = A OR (NOT B) AND C</p><p>A seguir, o diagrama da função fica:</p><p>Diagrama lógico da função X.</p><p>Como sugestão, faça a construção desta tabela-verdade seguindo a</p><p>ordem de precedência da expressão:</p><p>X = A + B · C</p><p>Ou seja, NOT B, (NOT B) AND C, A OR (NOT B) AND C. Como temos três</p><p>variáveis de entrada com dois valores possíveis (0 e 1) para cada uma,</p><p>temos 2³ = 8 combinações, conforme a tabela-verdade da função X a</p><p>seguir:</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 35/62</p><p>Expressões lógicas</p><p>Veja, a seguir, um vídeo sobre expressões lógicas.</p><p>Equivalência de funções</p><p>lógicas</p><p>Conceito</p><p>Duas funções lógicas são equivalentes se — e somente se — para a</p><p>mesma entrada, produzirem iguais valores de saída, isto é, quando</p><p>duas funções lógicas possuírem o mesmo resultado na sua tabela-</p><p>verdade, esses circuitos</p><p>serão considerados como equivalentes.</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 36/62</p><p>Vamos praticar!</p><p>Prática 1</p><p>Seja a função X = A · A, ao construir a tabela-verdade da função X,</p><p>temos:</p><p>Como você pode verificar, o resultado da tabela-verdade da função X =</p><p>A · A é idêntico à tabela-verdade da função Y = A.</p><p>Assim, podemos afirmar que tanto a função X como a função Y são</p><p>equivalentes.</p><p>Prática 2</p><p>Escreva a expressão lógica a partir do diagrama lógico a seguir:</p><p>Diagrama lógico.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 37/62</p><p>Partindo da variável saída X, nós podemos representar a expressão</p><p>deste circuito nas seguintes partes:</p><p>Prática 3</p><p>Escreva a expressão lógica a partir do diagrama lógico a seguir:</p><p> A partir da variável F, nós temos a porta OR que</p><p>receberá os seguintes valores de entrada X e</p><p>um resultado intermediário T1, assim F = X +</p><p>T1.</p><p> Para resolver o valor de T1, iremos identificar</p><p>que T1 será o valor de saída da porta AND que</p><p>possui os seguintes valores de entrada: not Y e</p><p>Z, assim, T1 = X· Y.</p><p> Substituindo a equação que possui T1 como</p><p>saída na primeira equação, temos:</p><p>F = X +Y· Z.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 38/62</p><p>Mauro Cesar Catarino Gil</p><p>Partindo da variável saída F, nós podemos representar a expressão</p><p>deste circuito nas seguintes partes:</p><p>Prática 4</p><p>Seja A = 1, B = 0, C = 1, D = 1, calcule X = A +B · C ⊕ D.</p><p>Adotando o esquema de prioridade, o valor de X será</p><p>obtido com a realização das quatro etapas seguintes:</p><p> A partir da variável X nós temos a porta NAND</p><p>que receberá os seguintes valores de entrada</p><p>not B e um resultado intermediário T1, assim,</p><p>.X = T1 ⋅ B̄</p><p>–</p><p> Para resolver o valor de T1, iremos identificar</p><p>que T1 será o valor de saída da porta NAND que</p><p>possui os seguintes valores de entrada: not B e</p><p>A, assim, .T1 = A ⋅ B</p><p>––</p><p> Substituindo a equação que possui T1 como</p><p>saída na primeira equação, temos:</p><p>X = AB̄B̄ = AB + B = AB + B</p><p>––––––––</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 39/62</p><p>Prática 4</p><p>Assim, vamos efetuar as etapas indicadas:</p><p></p><p> Realizar a operação AND (maior prioridade,</p><p>além de ter uma inversão determinada sobre a</p><p>operação). Assim, trata-se de calcular B · C =</p><p>T1.</p><p> Inverter o resultado parcial T1.</p><p> Realizar a operação OR (as operações OR e XOR</p><p>têm mesma prioridade, optando-se pela que</p><p>está primeiro à esquerda).</p><p>Assim, calcula-se: T2 = A + T1.</p><p> Realizar a operação XOR, calculando-se X = T2</p><p>⊕ D.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 40/62</p><p>0 · 1 = 0 = T1</p><p>0 = 1</p><p>1 + 1 = 1 = T2</p><p>1 ⊕ 1 = 0 = X</p><p>Resultado igua a X = 0.</p><p>Prática 5</p><p>Seja A = 0, B = 0, C = 1, D = 1, calculeX = (A + B ⊕ D) + (C · B) ⊕ A.</p><p>Adotando uma sequência de etapas, vamos considerar a ordem de</p><p>precedência de cada operação.</p><p>A primeira prioridade é solucionar os parênteses, e dentro ou fora</p><p>destes, a prioridade é da operação AND sobre as demais, exceto se</p><p>houver inversão (NOT).</p><p>Assim, temos:</p><p> Calcular o parêntese mais à esquerda; dentro</p><p>deste parêntese, efetuar primeiro a inversão do</p><p>valor de B: B = 0 e notB = 1.</p><p> Ainda dentro do parêntese, efetuar A + notB ou</p><p>0 + 1 = 1 = T1.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 41/62</p><p>Prática 6</p><p>Vamos realizar operações lógicas com palavras de dados? Isto é, com</p><p>variáveis de múltiplos bits.</p><p>A = 1 0 0 1, B = 0 0 1 0, C = 1 1 1 0, D = 1 1 1 1, calcule o valor de X na</p><p>seguinte expressão lógica:</p><p>X = A ⊕ (B · C + D) + (B ⊕ D)</p><p> Encerra-se o cálculo do interior do parêntese</p><p>efetuando T1 ⊕ D = T2. Total do parêntese:</p><p>1 ⊕ 1 = 0 = T2</p><p>T1 = 1 e T2 = 0</p><p> Calcula-se o outro parêntese, primeiro</p><p>invertendo o valor de C (NOT), depois efetuando</p><p>a operação AND daquele resultado com a</p><p>variável B. O valor final é, temporariamente, T3.</p><p>C = 1 e not C = 0, 0 · 0 = 0 = T3</p><p> Finalmente, calcula-se a operação OR do</p><p>resultado do primeiro parêntese (T2) com o do</p><p>outro parêntese (T3), para concluir com a</p><p>operação XOR com A.</p><p>0 + 0 = 0, X = 0 ⊕ 0 = 0.</p><p>Resultado: X = 0</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 42/62</p><p>Para resolver esta expressão, nós utilizaremos o mesmo método,</p><p>execução por etapas, mas, agora, são 4 algarismos binários em vez de</p><p>um apenas. Considerando as prioridades já definidas anteriormente,</p><p>temos:</p><p> Etapa a</p><p>Executar a operação AND de B e C, obtendo</p><p>resultado parcial T1.</p><p> Etapa b</p><p>Inverter o valor de T1 (not T1).</p><p> Etapa c</p><p>Executar a operação OR de not T1, com D,</p><p>atualizando um novo resultado parcial T2, que é</p><p>a solução do primeiro parêntese.</p><p> Etapa d</p><p>Inverter o valor de D no segundo parêntese.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 43/62</p><p>Executando as etapas aqui indicadas, temos etapa (a): T1 = B • C, com</p><p>resultado parcial: T1 = 0010. Veja a tabela a seguir:</p><p>Temos a etapa (b): T1 = not T1 em que T1 = 0010 e not T1 = 1101. Como</p><p>resultado parcial, fica o novo T1 = 1101.</p><p>Temos a etapa (c): T1 = T1 + D, com o resultado parcial: T1 atualizado:</p><p>T1 = 1111.</p><p>Veja a tabela a seguir:</p><p> Etapa e</p><p>Executar a operação XOR de B com o inverso de</p><p>D, obtendo o resultado parcial T3, que é a</p><p>solução do segundo parêntese.</p><p> Etapa f</p><p>Executar a operação XOR de A com T2, obtendo</p><p>um valor temporário para T4.</p><p> Etapa g</p><p>Executar a operação OR de T4 com T3, obtendo</p><p>o resultado de X.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 44/62</p><p>Temos a etapa (d): not D, em que D = 1111 e not D = 0000.</p><p>Temos a etapa (e): em que o resultado parcial é T2 =</p><p>0010. Veja a tabela a seguir:</p><p>Temos a etapa (f): X = A ⊕ T1, em que o resultado parcial X = 0110.</p><p>Veja a tabela a seguir:</p><p>Temos a etapa (g): X = X + T2, em que o resultado de X = 0100. Veja a</p><p>tabela a seguir:</p><p>T2 = B ⊕ notD</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 45/62</p><p>Operações lógicas com</p><p>palavras de dados</p><p>Veja, a seguir, o vídeo em que apresentamos a realização de operações</p><p>lógicas com palavras de dados.</p><p>A etapa g comentada no vídeo será concluída na tabela abaixo.</p><p>Lembrando que a operação or retornará um valor falso quando todas</p><p>entradas forem falsas.</p><p>Etapa (g):X = X + T2</p><p>Assim, sendo: A=1001, B=0010, C=1110, D=1111.</p><p>Calcular o valor de X na seguinte expressão lógica:</p><p>X = A ⊕ (B · C + D) + (B ⊕ D)</p><p>Irá retornar o valor final de X=0110.</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 46/62</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Qual das expressões indicadas representa o circuito</p><p>equivalente ao circuito abaixo?</p><p>Parabéns! A alternativa D está correta.</p><p>A X = A + A</p><p>B X = A · A</p><p>C X = A</p><p>D X = A</p><p>E X = A · A</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 47/62</p><p>Para analisar a equivalência, é necessário,</p><p>inicialmente, produzir a tabela-verdade para o</p><p>circuito cuja expressão é X = A · A. Levando em</p><p>consideração o resultado apresentado na tabela à</p><p>esquerda, temos o seguinte resultado da tabela à</p><p>direita:</p><p>Questão 2</p><p>Qual das expressões indicadas representa o circuito</p><p>equivalente à figura a seguir?</p><p>A X = A + A</p><p>B X = A · A</p><p>C X = A ⊕ A</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 48/62</p><p>Parabéns! A alternativa D está correta.</p><p>Para analisar a equivalência, é necessário,</p><p>inicialmente, produzir a tabela-verdade para o</p><p>circuito cuja expressão é: X = A + A.</p><p>Levando em consideração o resultado apresentado</p><p>na tabela à esquerda, temos o seguinte resultado na</p><p>tabela à direita:</p><p>Novamente</p><p>a resposta é considerada: X = A + A =</p><p>A</p><p>D X = A</p><p>E X = A · A</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 49/62</p><p>3 - Expressões lógicas e diagramas lógicos</p><p>Ao �nal deste módulo, você será capaz de aplicar as expressões lógicas e</p><p>diagramas lógicos.</p><p>Propriedades da álgebra de</p><p>Boole</p><p>As regras básicas da álgebra de Boole são bastante úteis quando</p><p>devemos analisar a equivalência e a simplificação das expressões</p><p>booleanas (lógicas) que definem uma função de um determinado</p><p>dispositivo digital.</p><p>Essas regras também permitem facilitar a compreensão do</p><p>funcionamento de dispositivos digitais, assim como a redução de</p><p>custos na fabricação de circuitos digitais com a redução de</p><p>componentes eletrônicos usados.</p><p>Regras básicas da álgebra</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 50/62</p><p>booleana</p><p>Veja, a seguir, a explicação narrada sobre as regras básicas da álgebra</p><p>booleana.</p><p>Confira, a seguir, a tabela das regras básicas da álgebra boolena:</p><p>Stalling, 2017.</p><p>Agora observe a tabela das propriedades da função Exclusive or (XOR):</p><p>Como sugestão, verifique as equivalências dessas expressões através</p><p>da tabela-verdade.</p><p>Vamos praticar!</p><p>Prática 1</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 51/62</p><p>Vamos analisar a possibilidade de simplificar a seguinte expressão</p><p>lógica:</p><p>A seguir, veja o diagrama dessa expressão:</p><p>Mauro Cesar Catarino Gil</p><p>Como primeiro passo, vamos analisar as regras básicas da álgebra</p><p>booleana e verificar se é possível aplicar alguma dessas regras na</p><p>expressão.</p><p>X = [(A + B) ⋅ B]</p><p>–––</p><p> Etapa a</p><p>Agora, podemos iniciar o processo de</p><p>simplificação usando a regra 12 referente ao</p><p>Teorema de de Morgan na versão AND de</p><p>X · Y = X + Y:</p><p>X = [(Ā+B) + B̄]</p><p>–</p><p> Etapa b</p><p>Usando novamente o Teorema de Morgan na</p><p>versão OR de X + Y = X · Y:</p><p>X = A ⋅ B + B</p><p>–––––</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 52/62</p><p>Por fim, podemos perceber que tanto na expressão inicial quanto na</p><p>expressão simplificada, ambas produzem o mesmo resultado através</p><p>da seguinte tabela-verdade e, neste caso, pode ser utilizada uma</p><p>simplificação de um circuito com uma porta NAND e inversores (NOT)</p><p>sendo substituído por uma única porta OR.</p><p>E a tabela-verdade da expressão X=A+B:</p><p> Etapa c</p><p>Aplicando a regra 5 da involução em A</p><p>e B, temos:</p><p>X = A · B + B</p><p>X̄ = X</p><p>–</p><p> Etapa d</p><p>Continuando com a simplificação pela regra 6</p><p>da comutatividade, temos: X = B + B · A</p><p> Etapa e</p><p>Usando a regra 9 da absorção 2, temos: X = A</p><p>+ B</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 53/62</p><p>Prática 2</p><p>Vamos simplificar a seguinte expressão:</p><p>X = A · B · C + A · B · C + A · B · C + A · B · C</p><p>Usando as regras básicas da álgebra booleana, temos:</p><p> Usando a regra 8, temos:</p><p>X = A · B · (C + C) + A · C · (B + B)</p><p> Usando a regra 4, temos:</p><p>X = A · B · 1 + A · C · 1</p><p> Usando a regra 1, temos:</p><p>X = A · B + A · C</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 54/62</p><p>Prática 3</p><p>Vamos simplificar a seguinte expressão:</p><p>X = A · B · C + A · C + A · B</p><p>Usando as regras básicas da Álgebra booleana, temos:</p><p> Usando a regra 8, temos:</p><p>X = A · (B · C + C + B)</p><p> Ordenando os termos:</p><p>X = A · (B · C + (C + B))</p><p> Usando a regra 12, temos:</p><p>X = A · (B · C + (B · C))</p><p> Explicitando o termo B · C = Y, temos:</p><p>X = A · (Y +Y)</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 55/62</p><p>Aplicação das regras da</p><p>álgebra booleana</p><p>Veja, a seguir, a resolução do exercício que aplica as regras da álgebra</p><p>booleana.</p><p>Prática 4</p><p>Vamos simplificar a seguinte expressão:</p><p> Usando a regra 4, temos:</p><p>X = A · 1</p><p> Usando a regra 1, temos:</p><p>X = A</p><p> Usando a regra 1, temos:</p><p>X = A · B + A · C</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 56/62</p><p>X = A · (A + B)</p><p>Usando a regra 9, temos: X = A.</p><p>Prática 5</p><p>Vamos simplificar a seguinte expressão:</p><p>X = A · A + A · C + B · A + B · C</p><p>Usando as regras básicas da álgebra booleana, temos:</p><p>Falta pouco para atingir seus objetivos.</p><p> Usando a regra 3, temos:</p><p>X = A + A · C + B · A + B · C</p><p> Usando a regra 9, temos:</p><p>X = A + B · A + B · C</p><p> Usando a regra 9 novamente, temos:</p><p>X = A + B · C</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 57/62</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Qual é a expressão simplificada que representa o</p><p>circuito abaixo?</p><p>Parabéns! A alternativa D está correta.</p><p>A X = A + B</p><p>B X = A · B</p><p>C X = A +B</p><p>D X = A ⊕ B</p><p>E X = A + B</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 58/62</p><p>Para efetuar a simplificação, é necessário,</p><p>inicialmente, escrever a expressão que representa</p><p>este circuito. Como todas as portas utilizadas são</p><p>NAND, será mais fácil de compreender. Apenas,</p><p>como sugestão, procure interpretar a expressão a</p><p>partir do valor de saída</p><p>, Aplicando a</p><p>distributividade</p><p>, De morgam</p><p>, Aplicando De Morgam</p><p>, Aplicando De Morgam</p><p>aplicando a regra do complemento, em que</p><p>temos</p><p>aplicando a propriedade do</p><p>temos</p><p>Assim, seria possível, a partir de um circuito com</p><p>portas NAND, substituí-lo por uma porta XOR.</p><p>Questão 2</p><p>Dados os valores de entrada, qual é o resultado da</p><p>tabela-verdade para o circuito abaixo?</p><p>X = ( A+B ) A ⋅ ( A+B) B</p><p>––––––</p><p>X = BA+AB</p><p>–––––</p><p>X = ( B+A) ⋅ ( A+B)</p><p>–––</p><p>X = B+A+A+B</p><p>––––</p><p>X = AB+AB</p><p>––</p><p>X = X = A⊕B</p><p>A ⋅ A = 0 e B ⋅ B = 0,</p><p>––</p><p>X = A ⋅ B + B ⋅ A,</p><p>––</p><p>XOR,</p><p>X = A⊕B</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 59/62</p><p>Parabéns! A alternativa D está correta.</p><p>Como o circuito apresenta duas variáveis binárias de</p><p>entrada, existem somente quatro combinações</p><p>distintas, sendo assim, a construção da Tabela</p><p>Verdade dependerá da expressão que representa o</p><p>circuito, como apresentado na questão anterior a</p><p>A Tabela Verdade será:</p><p>Simplificando, chegamos à:</p><p>A K=0; L=0; M=0; N=1</p><p>B K=0; L=1; M=1; N=1</p><p>C K=1; L=0; M=1; N=0</p><p>D K=0; L=1; M=1; N=0</p><p>E K=1, L=1, M=1, N=1</p><p>X = ( ABA) ( ABB)</p><p>––––</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 60/62</p><p>, Aplicando a</p><p>distributividade</p><p>, De morgam</p><p>, Aplicando De Morgam</p><p>, Aplicando De Morgam</p><p>Considerações �nais</p><p>Neste estudo, vimos o desenvolvimento do sistema de análise lógica</p><p>conhecido, atualmente, como álgebra de Boole. Esse sistema permite</p><p>expressar a operação de um circuito na forma de uma operação</p><p>algébrica em que as constantes e variáveis podem assumir apenas</p><p>dois valores.</p><p>Identificamos os elementos básicos para o projeto de sistemas digitais,</p><p>conhecidos como portas e funções lógicas, bem como a combinação</p><p>das portas lógicas em circuitos digitais que, muitas vezes, podem</p><p>produzir uma redução do número de portas lógicas utilizadas no</p><p>circuito.</p><p>O estudo desta redução ou simplificação de circuitos lógicos requer o</p><p>conhecimento da álgebra de Boole, na qual encontram-se os</p><p>fundamentos da eletrônica digital de circuitos, que poderá diminuir o</p><p>grau de dificuldade na montagem e no custo do sistema digital.</p><p>X = ( A+B ) A ⋅ ( A+B) B</p><p>––––––</p><p>X = BA+AB</p><p>–––––</p><p>X = ( B+A) ⋅ ( A+B)</p><p>–––</p><p>X = B+A+A+B</p><p>––––</p><p>X = AB+AB</p><p>––</p><p>X = X = A⊕B</p><p></p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 61/62</p><p>Podcast</p><p>Ouça um resumo sobre os principais assuntos abordados no tema.</p><p>Explore +</p><p>Para saber mais sobre os assuntos explorados neste tema, leia:</p><p>Conceitos da Lógica Digital (anexo B), MONTEIRO, Mário. Conceitos da</p><p>Lógica Digital. In: Introdução à Organização de Computadores. 5. ed.</p><p>Rio de Janeiro: LTC, 2007.</p><p>Lógica Digital (capítulo 11), STALLINGS, William. Lógica Digital. In:</p><p>Arquitetura e organização</p><p>de computadores. 10. ed. São Paulo:</p><p>Pearson Education do Brasil, 2017.</p><p>Portas lógicas, MARTINS, Elaine. Lógica Booleana? Saiba um pouco</p><p>mais sobre esta lógica e como ela funciona. Portas Lógicas. In:</p><p>Tecmundo. Publicado em: 9 fev. 2009.</p><p>Referências</p><p>MONTEIRO, Mário. Introdução à Organização de Computadores. 5. ed.</p><p>Rio de Janeiro: LTC, 2007.</p><p>STALLINGS, William. Arquitetura e organização de computadores. 10.</p><p>ed. São Paulo: Pearson Education do Brasil, 2017.</p><p>22/11/2023, 14:45 Lógica digital</p><p>https://stecine.azureedge.net/repositorio/00212ti/00105/index.html# 62/62</p><p>TANENAUM, Andrew S. Organização Estruturada de Computadores. 5.</p><p>ed. São Paulo: Pearson Prentice Hall, 2007.</p><p>TOCCI, Ronald J. Sistemas digitais e aplicações. 10. ed. São Paulo:</p><p>Pearson Prentice Hall, 2007.</p><p>Material para download</p><p>Clique no botão abaixo para fazer o</p><p>download do conteúdo completo em</p><p>formato PDF.</p><p>Download material</p><p>O que você achou do conteúdo?</p><p>Relatar problema</p><p>javascript:CriaPDF()</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 1/42</p><p>Processamento</p><p>em paralelo</p><p>Prof. Mauro Cesar Cantarino Gil</p><p>Descrição</p><p>Apresentação do vínculo entre o alto desempenho da computação e o</p><p>processamento em paralelo, identificando tipos de organização de</p><p>processadores e a propensão para o uso da tecnologia multicore em</p><p>busca do aumento de desempenho.</p><p>Propósito</p><p>Apontar as arquiteturas multiprocessadas e multicore como uma</p><p>alternativa às limitações da eficiência e do custo de desenvolvimento</p><p>dos computadores com um único processador e único núcleo de</p><p>execução, melhorando o desempenho do hardware com o aumento da</p><p>frequência do clock do processador.</p><p>Objetivos</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 2/42</p><p>Módulo 1</p><p>Computação de alto desempenho</p><p>por meio do processamento em</p><p>paralelo</p><p>Reconhecer as vantagens da computação de alto desempenho por</p><p>meio do processamento em paralelo.</p><p>Módulo 2</p><p>Tipos de organizações de</p><p>processadores paralelos</p><p>Identificar os tipos de organizações de processadores paralelos.</p><p>Módulo 3</p><p>Desempenho do hardware</p><p>Identificar as questões de desempenho do hardware que direcionam</p><p>o movimento para os computadores multicore.</p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 3/42</p><p>Introdução</p><p>Com os avanços tecnológicos houve uma crescente</p><p>necessidade em aumentar o desempenho dos</p><p>equipamentos usados em nosso cotidiano. Exemplo</p><p>disso são processos executados em nossos celulares,</p><p>tablets e notebooks. Para atender a essas demandas,</p><p>o processamento em paralelo fez com que as</p><p>operações pudessem ser executadas</p><p>independentemente, minimizando o tempo de</p><p>execução. Assim, veremos o vínculo entre o alto</p><p>desempenho da computação e o processamento em</p><p>paralelo.</p><p>O vídeo introdutório a seguir nos faz compreender a</p><p>importância por soluções paralelizáveis de modo a</p><p>responder: o que é o processamento em paralelo?</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 4/42</p><p>1 - Computação de alto desempenho por meio do</p><p>processamento em paralelo</p><p>Ao �nal deste módulo, você reconhecerá as vantagens da computação de</p><p>alto desempenho por meio do processamento em paralelo.</p><p>Evolução dos computadores</p><p>Questões de desempenho</p><p>Nas últimas décadas, o custo dos sistemas computacionais diminuiu à</p><p>medida que o desempenho e a capacidade das máquinas aumentaram</p><p>significativamente. Exemplos disso são os equipamentos usados em</p><p>nosso cotidiano, como computadores, tablets, smartphones e outros,</p><p>que possuem uma capacidade computacional superior em comparação</p><p>a um computador (mainframe) da década de 1960 ou 1970,</p><p>considerado um supercomputador para a época. Observe a imagem a</p><p>seguir:</p><p>A evolução da máquina.</p><p>As limitações do passado foram colocadas de lado, tanto pelo custo</p><p>quanto pela capacidade de processamento. Podemos citar algumas</p><p>aplicações que, atualmente, possuem uma grande capacidade de</p><p>processamento em sistemas baseados em microprocessadores:</p><p></p><p>Processamento de imagem</p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 5/42</p><p>Renderização tridimensional</p><p></p><p>Reconhecimento de linguagem</p><p></p><p>Videoconferência</p><p></p><p>Modelagem e simulação</p><p>Agora, responda: qual seria o resultado se determinada tarefa fosse</p><p>realizada por várias pessoas ao invés de apenas uma?</p><p>As respostas poderiam ser várias, inclusive a possibilidade de não</p><p>conclusão dessa tarefa. Mas, se olhássemos a distribuição das ações</p><p>que compõem a tarefa de forma organizada, buscando controlar a sua</p><p>eficiência, poderíamos obter as seguintes respostas:</p><p>Resposta</p><p>A tarefa será realizada no mesmo tempo.</p><p>O tempo de conclusão da tarefa será reduzido.</p><p>A partir dessa análise, podemos compreender a importância da busca</p><p>por soluções paralelizáveis, já que, atualmente, a maior parte das</p><p>aplicações com software e hardware é implementada dessa forma.</p><p>Paralelismo em nível de</p><p>instruções e processadores</p><p>superescalares</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 6/42</p><p>Superescalar e pipeline</p><p>Superescalar</p><p>O termo superescalar foi criado em 1987, por Agerwala e Cocke (apud</p><p>STALLINGS, 2017), em função do projeto de uma máquina, cujo foco</p><p>estava ligado à melhoria no desempenho da execução das instruções</p><p>escalares.</p><p>Veja a comparação:</p><p></p><p>Superescalar</p><p>Nesta</p><p>organização, as</p><p>instruções</p><p>comuns</p><p>(aritméticas de</p><p>inteiros e pontos</p><p>flutuantes), a</p><p>carga do valor da</p><p>memória em um</p><p>registrador, o</p><p>armazenamento</p><p>do valor do</p><p>registrador na</p><p>memória e os</p><p>desvios</p><p></p><p>Pipeline</p><p>Nesta técnica, o</p><p>caminho</p><p>executável de</p><p>uma instrução é</p><p>dividido em</p><p>estágios</p><p>discretos,</p><p>permitindo ao</p><p>processador</p><p>efetuar várias</p><p>instruções</p><p>simultaneamente,</p><p>contanto que</p><p>apenas uma delas</p><p>ocupe cada</p><p></p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 7/42</p><p>condicionais</p><p>poderão ser</p><p>iniciados e</p><p>executados de</p><p>forma</p><p>independente.</p><p>estágio durante</p><p>um ciclo de</p><p>relógio.</p><p>Como exemplo, vamos representar a decomposição do processamento</p><p>de instruções em um pipeline de seis estágios. Presumindo que os</p><p>estágios tenham a mesma duração, um pipeline de seis estágios pode</p><p>reduzir o tempo de execução de 9 instruções de 54 para 14 unidades de</p><p>tempo. Veja o diagrama:</p><p>❯</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 8/42</p><p>Comparação da execução de instruções sem e com pipeline.</p><p>Execução de uma instrução</p><p>em pipeline</p><p>Vejamos agora esse processo passo a passo no vídeo abaixo.</p><p>As técnicas VLIW (Very Long Instruction Word) e superescalar emitem</p><p>várias instruções independentes (de um fluxo de instruções) que são</p><p>realizadas simultaneamente em diferentes unidades de execução.</p><p>A VLIW depende de um compilador para determinar quais instruções</p><p>emitir a qualquer ciclo de relógio, enquanto um projeto superescalar</p><p>requer que um processador tome essa de cisão. A tecnologia Hyper-</p><p>Threading (HT) da Intel introduziu paralelismo ao criar dois</p><p>processadores virtuais a partir de um único processador físico, dando</p><p>ao sistema operacional habilitado a multiprocessador a impressão de</p><p>executar em dois processadores, cada um com pouco menos da</p><p>metade da velocidade do processador físico.</p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 9/42</p><p>Processadores vetoriais contêm uma unidade de processamento que</p><p>executa cada instrução vetorial em um conjunto de dados, processando</p><p>a mesma operação em cada elemento de dados. Eles dependem de</p><p>pipelines profundos e altas velocidades de clock.</p><p>Um processador matricial, também denominado processador</p><p>maciçamente paralelo, contém diversas unidades de processamento</p><p>que executam a mesma instrução em paralelo</p><p>sobre muitos ele mentos</p><p>de dados. Esse modelo pode conter dezenas de milhares de elementos</p><p>de processamento. Portanto, esses processadores são mais eficientes</p><p>quando manipulam grandes conjuntos de dados.</p><p>Veja o esquema a seguir:</p><p>Organização escalar e superescalar.</p><p>A essência da abordagem superescalar é a possibilidade de execução</p><p>independente e concorrente em pipelines diferentes, inclusive em</p><p>ordem diversa daquela definida no programa.</p><p>Pipelines profundos</p><p>Pipelines profundos permitem que o processador realize trabalho em</p><p>diversas instruções simultaneamente, de modo que muitos elementos</p><p>de dados possam ser manipulados de uma só vez.</p><p>Atenção!</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 10/42</p><p>O paralelismo é obtido quando as múltiplas instruções</p><p>são habilitadas para estarem em diferentes estágios do</p><p>pipeline no mesmo momento, diferente da organização</p><p>escalar tradicional, na qual existe uma unidade funcional</p><p>em um pipeline único para as operações inteiras e outra</p><p>para as operações de ponto flutuante.</p><p>Superescalar X superpipeline</p><p>Na abordagem conhecida como superpipeline — em que múltiplos</p><p>estágios do pipeline executam tarefas que necessitam de menos da</p><p>metade de um ciclo de clock — é possível dobrar a velocidade do clock</p><p>interno, aumentando o desempenho, ao executar duas tarefas em um</p><p>ciclo de clock externo. Veja o exemplo a seguir:</p><p>MIPS R4000.</p><p>No esquema a seguir, podemos visualizar uma comparação entre as</p><p>organizações superpipeline e superescalar, tendo um pipeline comum</p><p>na parte superior do diagrama que será utilizado apenas como</p><p>referência:</p><p>No caso apresentado, o pipeline inicia a instrução e</p><p>executa um estágio, ambos por ciclo de clock. Nesse</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 11/42</p><p>exemplo, o pipeline possui quatro estágios (busca por</p><p>instrução, decodificação da operação, execução da</p><p>operação-quadro com linhas cruzadas e atualização do</p><p>resultado).</p><p>Note que, mesmo que várias instruções sejam</p><p>executadas simultaneamente, apenas uma está no seu</p><p>estágio de execução em determinado tempo.</p><p>Na representação do superpipeline, temos execução de</p><p>dois estágios de pipeline por ciclo de clock. Repare que</p><p>as funções executadas em cada estágio podem ser</p><p>divididas em duas partes, que não se sobrepõem, e cada</p><p>uma pode ser executada na metade do ciclo de clock.</p><p>Superescalar X superpipeline</p><p>A parte final do diagrama ilustra a implementação superescalar, em que</p><p>é possível perceber a execução de duas instâncias de cada estágio em</p><p>paralelo.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 12/42</p><p>Atenção!</p><p>Nesse diagrama, tanto o superpipeline como o</p><p>superescalar possuem o mesmo número de instruções</p><p>executadas ao mesmo tempo em determinado estado.</p><p>Assim, o processador superpipeline “perde” quando</p><p>comparado ao superescalar no início do programa e a</p><p>cada alvo de desvio.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Considere um processador com pipeline ideal de 4</p><p>estágios, em que cada estágio ocupa um ciclo de</p><p>processador. A execução de um programa com 9</p><p>instruções, utilizando os 4 estágios, levará</p><p>A 28 ciclos.</p><p>B 18 ciclos.</p><p>C 24 ciclos.</p><p>D 12 ciclos.</p><p>E 16 ciclos</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 13/42</p><p>Parabéns! A alternativa D está correta.</p><p>Veja como o cálculo foi feito:</p><p>Como existem 4 estágios, cada instrução</p><p>demandará percorrer 4 ciclos para ser executada e</p><p>cada estágio ocupa 1 ciclo.</p><p>NI = número da instrução</p><p>Ciclo 1º estágio 2º estág</p><p>1 1l</p><p>2 2l 1l</p><p>3 3l 2l</p><p>4 4l 3l</p><p>5 5l 4l</p><p>6 6l 5l</p><p>7 7l 6l</p><p>8 8l 7l</p><p>9 9l 8l</p><p>10 9l</p><p>11</p><p>12</p><p>Tabela: Ciclos.</p><p>Assim, serão necessários 12 ciclos para que a nona</p><p>instrução seja executada completamente.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 14/42</p><p>Questão 2</p><p>Com os avanços tecnológicos, tornou-se possível a</p><p>construção de máquinas multiprocessadas para</p><p>atender às demandas em função do aumento do</p><p>desempenho. Essa arquitetura nos possibilitou</p><p>compreender a importância por soluções</p><p>paralelizáveis, pois</p><p>I- a tarefa será realizada no mesmo tempo.</p><p>II- o tempo de conclusão da tarefa será reduzido.</p><p>III- minimizou o custo na construção de máquinas</p><p>pessoais.</p><p>Considerando as afirmações acima, são</p><p>verdadeira(s)</p><p>Parabéns! A alternativa C está correta.</p><p>Máquinas com arquitetura com multiprocessador</p><p>permitem execução de múltiplas tarefas em mesmo</p><p>A somente a I.</p><p>B somente a II.</p><p>C somente a I e a II.</p><p>D somente a II e a III.</p><p>E I, II e III.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 15/42</p><p>tempo, minimizando o tempo de conclusão das</p><p>tarefas.</p><p>2 - Tipos de organizações de processadores</p><p>paralelos</p><p>Ao �nal deste módulo, você identi�cará os tipos de organizações de</p><p>processadores paralelos.</p><p>Múltiplos processadores</p><p>Arquitetura clássica</p><p>A maior parte dos usuários considera o computador uma máquina</p><p>sequencial, já que a maioria das linguagens de programação exige que</p><p>o programador especifique os algoritmos com instruções ordenadas de</p><p>modo contínuo. Seguindo essa linha de raciocínio, podemos concluir</p><p>que:</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 16/42</p><p>Os processadores executam programas com instruções de</p><p>máquina em sequência porque cada instrução traz uma</p><p>sequência de operações.</p><p>Essa percepção poderia ser revertida se o conhecimento sobre a</p><p>operação dessas máquinas fosse analisado com maiores detalhes.</p><p>Como, por exemplo, no nível da realização de várias micro-operações,</p><p>as quais possuem diferentes sinais de controle que são gerados de</p><p>forma paralela (ao mesmo tempo) e de forma transparente (invisível).</p><p>Um exemplo disso é o pipeline de instruções, no qual ocorre a</p><p>sobreposição das operações de leitura e de execução, ambas refletindo</p><p>a implementação de funções paralelas.</p><p>Por outro lado, um dos fatores que permitiu a implementação de</p><p>soluções para ampliar a eficiência nos computadores foi a redução do</p><p>custo de hardware, mediante projetos de arquiteturas que realizassem</p><p>as operações demandadas de forma mais rápida, robusta e com maior</p><p>disponibilidade. As soluções paralelizadas vêm ao encontro dessas</p><p>demandas.</p><p>Tipos de processadores</p><p>paralelos – taxonomia de</p><p>Flynn</p><p>Levando em consideração a possibilidade de implementar uma solução</p><p>de múltiplos processadores, Michael J. Flynn (foto) propôs, em 1966, a</p><p>taxonomia de Flynn, esquema considerado pioneiro na classificação de</p><p>computadores em configurações de paralelismo crescente.</p><p>Esse esquema é composto de quatro categorias baseadas em tipos</p><p>diferentes de fluxos (sequência de bytes) usados por processadores, os</p><p>quais podem aceitar dois tipos de fluxos — de instru ções ou de dados.</p><p>Vamos conhecer essas categorias, a seguir, na tabela da classificação</p><p>de Flynn:</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 17/42</p><p>Single</p><p>-</p><p>Instru</p><p>ction-</p><p>Strea</p><p>m,</p><p>Single</p><p>-</p><p>Data-</p><p>Strea</p><p>m —</p><p>SISD</p><p>Signifi</p><p>ca</p><p>Multip</p><p>le-</p><p>Instru</p><p>ction-</p><p>Strea</p><p>m,</p><p>Single</p><p>-</p><p>Data-</p><p>Strea</p><p>m —</p><p>MISD</p><p>Signifi</p><p>ca</p><p>Single</p><p>-</p><p>Instru</p><p>ction-</p><p>Strea</p><p>m,</p><p>Multip</p><p>le-</p><p>Data-</p><p>Strea</p><p>m —</p><p>SIMD</p><p>Signifi</p><p>ca</p><p>Multipl</p><p>e-</p><p>Instru</p><p>ction-</p><p>Strea</p><p>m,</p><p>Multipl</p><p>e-</p><p>Data-</p><p>Strea</p><p>m —</p><p>MIMD</p><p>Signific</p><p>a</p><p>Nº FLUXO DE</p><p>DADOS</p><p>Tabela: Classificação de Flynn.</p><p>Veja o esquema seguir:</p><p>Organizações alternativas de computadores.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 18/42</p><p>Multiprocessadores</p><p>simétricos</p><p>Multiprocessadores</p><p>Simétricos</p><p>Há algumas décadas, os computadores pessoais e as máquinas com</p><p>capacidade computacional similar eram construídas com um</p><p>único</p><p>processador de uso geral. A partir da evolução das tecnologias</p><p>envolvidas na construção dos componentes de hardware e a redução</p><p>do seu custo de produção, foi possível atender às demandas em</p><p>função do aumento de desempenho dessas máquinas.</p><p>Os fabricantes introduziram sistemas com uma organização SMP –</p><p>sigla para o termo symmetric multiprocessing, traduzido do inglês para</p><p>multiprocessamento simétrico –, relacionada à arquitetura do hardware</p><p>e ao comportamento dos sistemas operacionais.</p><p>Um sistema SMP pode ser definido como uma arquitetura</p><p>independente com as seguintes características:</p><p></p><p> Há dois ou mais processadores semelhantes</p><p>(capacidades que podem ser comparadas).</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 19/42</p><p>As máquinas construídas com um único processador executavam</p><p>instruções em sequência. Com a inclusão dos multiprocessadores, as</p><p>operações poderiam ser executadas independentemente, minimizando</p><p>o tempo de execução. No entanto, a conexão dos processadores em</p><p>máquinas multiprocessadoras pode gerar gargalos em relação à</p><p>performance de máquinas multiprocessadas. Dessa forma, temos que</p><p>analisar as formas de conexões físicas. O vídeo a seguir tratará de tais</p><p>conceitos.</p><p>Esquemas de interconexão de</p><p>processadores</p><p> Os processadores compartilham a mesma</p><p>memória principal e os dispositivos de E/S,</p><p>além de serem interconectados por</p><p>barramentos ou algum outro esquema de</p><p>conexão que permita a equalização do tempo</p><p>de resposta para cada processador.</p><p> Todos os processadores desempenham as</p><p>mesmas funções. O termo simétrico é derivado</p><p>dessa afirmação.</p><p> Todo o sistema é controlado pelo sistema</p><p>operacional integrado que fornece a integração</p><p>entre os processadores, seja para os seus</p><p>programas, arquivos, dados ou suas tarefas.</p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 20/42</p><p>Veja o vídeo a seguir, com a apresentação dos esquemas de</p><p>interconexão de processadores.</p><p>Coerência de cache</p><p>A coerência de memória passou a ser uma consideração de projeto</p><p>quando surgiram os caches, porque as arquiteturas de computador</p><p>permitiam caminhos de acesso diferentes aos dados, ou seja, por meio</p><p>da cópia do cache ou da cópia da memória principal. Em sistemas</p><p>multiprocessadores, o tratamento da coerência é complexo porque</p><p>cada processador mantém um cache privado.</p><p>Entenda melhor:</p><p>Implementar protocolos de coerência de cache</p><p>para multiprocessadores UMA é simples porque</p><p>os caches são relativamente pequenos e o</p><p>barramento que conecta a memória</p><p>compartilhada é relativamente rápido.</p><p>Quando um processador atualiza um item de</p><p>dado, o sistema também deve atualizar ou</p><p>descartar todas as instâncias daquele dado nos</p><p>caches de outros processadores e na memória</p><p>principal, o que pode ser realizado por escuta do</p><p>barramento (também denominado escuta do</p><p>cache). Nesse protocolo, um processador</p><p>“escuta” o barramento, determinando se a escrita</p><p>requisitada de outro processador é destinada ao</p><p>item de dado que está no cache. Se o dado residir</p><p>Coerência de cache UMA </p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 21/42</p><p>no cache do processador, ele remove o item do</p><p>seu cache.</p><p>A escuta de barramento é simples de</p><p>implementar, mas gera tráfego adicional no</p><p>barramento compartilhado.</p><p>NUMA com cache coerente (Cache Coherent</p><p>NUMA — CC-NUMA) são multiprocessadores</p><p>NUMA que im põem coerência de cache. Em uma</p><p>arquitetura CC-NUMA típica, cada endereço de</p><p>memória física está associado a um nó nativo</p><p>responsável por armazenar o item de dado com</p><p>aquele endereço de memória principal. Muitas</p><p>vezes o nó nativo é simplesmente determinado</p><p>pelos bits de ordem mais alta do endereço.</p><p>Quando ocorrer uma falha de cache em um nó,</p><p>ele contata o nó associado ao endereço de</p><p>memória requisitado:</p><p>Se o item de dado estiver limpo (se nenhum outro</p><p>nó tiver uma versão modificada do item em seu</p><p>cache), o nó nativo o despachará para o cache do</p><p>processador requisitante;</p><p>Se o item de dado estiver sujo (se outro nó</p><p>escreveu para o item de dado desde a última vez</p><p>que a entrada da memória principal foi</p><p>atualizada), o nó nativo despachará a requisição</p><p>para o nó que tem a cópia suja; esse nó envia o</p><p>item de dado para o requisitante e também para o</p><p>nó nativo.</p><p>Requisições para modificar dados são realizadas</p><p>via nó nativo. O nó que desejar modificar dados</p><p>em determinado endereço de memória requisita</p><p>propriedade exclusiva dos dados.</p><p>A versão mais recente dos dados, ou seja, se não</p><p>estiver no cache do nó modificador, é obtida da</p><p>mesma maneira que uma requisição de leitura.</p><p>Após a modificação, o nó nativo notifica a outros</p><p>NUMA com cache coerente (CC-NUMA) </p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 22/42</p><p>nós com cópias dos dados que os dados foram</p><p>modificados.</p><p>Esse protocolo é relativamente simples de</p><p>implementar porque todas as leituras e escritas</p><p>contatam o nó nativo e, embora possa parecer</p><p>ineficiente, requer o número máximo de</p><p>comunicações de rede. Além disso, ele também</p><p>facilita a distribuição de carga por todo o sistema,</p><p>designando cada nó nativo com</p><p>aproximadamente o mesmo número de</p><p>endereços, o que aumenta a tolerância à falha e</p><p>reduz a contenção. Contudo, esse protocolo pode</p><p>ter mau desempenho se a maioria dos acessos</p><p>aos dados vier de nós remotos.</p><p>Dentre as arquiteturas de máquinas multiprocessadas, existem</p><p>diferentes formas de classifica-las. No vídeo a seguir vamos abordar</p><p>estes tipos de classificação.</p><p>Arquiteturas de acesso à</p><p>memória</p><p>Assista o vídeo a seguir para conhecer os tipos de arquiteturas de</p><p>acesso à memória.</p><p>A seguir, apresentamos a taxonomia de múltiplos processadores e</p><p>classificação segundo o acesso à memória:</p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 23/42</p><p>Taxonomia de múltiplos processadores e classificação segundo o acesso à memória.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Em relação ao multiprocessamento simétrico (SMP),</p><p>é correto afirmar:</p><p>I. Os processadores compartilham a mesma</p><p>memória principal, mas cada um deles usa os seus</p><p>próprios recursos de E/S;</p><p>II. O termo “simétrico” faz alusão ao fato de que</p><p>todos os processadores executam as mesmas</p><p>funções;</p><p>III. Existem, no mínimo, dois processadores com</p><p>capacidades semelhantes.</p><p>Assinale a alternativa correta.</p><p>A Somente a I está correta.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 24/42</p><p>Parabéns! A alternativa D está correta.</p><p>Em um sistema SMP todos os processadores</p><p>desempenham as mesmas funções, sendo essa a</p><p>razão desse multiprocessamento ser chamado de</p><p>simétrico. Além disso, o número de processadores</p><p>semelhantes, ou seja, com capacidades que podem</p><p>ser comparadas, é de dois ou mais processadores.</p><p>Portanto, as afirmações II e III estão corretas. Por</p><p>outro lado, a afirmação I está incorreta, pois tanto a</p><p>memória principal quanto os dispositivos de E/S são</p><p>compartilhados pelos processadores em um</p><p>sistema de multiprocessamento simétrico (SMP).</p><p>Assim, a alternativa correta é a D.</p><p>Questão 2</p><p>Quanto à comparação entre organizações de acesso</p><p>uniforme à memória (UMA) e acesso não uniforme à</p><p>memória (NUMA), pode-se afirmar:</p><p>I. No UMA, a uniformidade do acesso à memória é</p><p>garantida em função do acesso à memória por meio</p><p>de um barramento comum compartilhado por todos</p><p>os processadores.</p><p>II. No NUMA, há barramentos independentes entre</p><p>B I e II estão corretas.</p><p>C Somente a III está correta.</p><p>D II e III estão corretas.</p><p>E Somente a II está correta.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 25/42</p><p>os módulos de memória e os processadores. Além</p><p>disso, poderá haver um barramento compartilhado</p><p>para permitir a comunicação</p><p>entre os</p><p>processadores.</p><p>III. Tanto no UMA como no NUMA, não haverá</p><p>limitações em função da taxa de processadores</p><p>nessas estruturas.</p><p>Assinale a alternativa correta:</p><p>Parabéns! A alternativa C está correta.</p><p>As alternativas I e II estão especificadas na própria</p><p>definição dessas organizações. Entretanto, na</p><p>afirmativa III haverá problemas de escala em ambas</p><p>as soluções: incialmente na UMA, por se tratar de</p><p>um barramento único compartilhado, o aumento de</p><p>processadores introduzirá uma maior complexidade</p><p>no controle de fluxo de comunicação entre os</p><p>processadores e, consequentemente, o barramento</p><p>tenderá a saturar mais facilmente do que no NUMA.</p><p>A I, II e III estão corretas.</p><p>B I, II e III estão incorretas.</p><p>C Somente I e II estão corretas.</p><p>D Somente II está correta.</p><p>E Somente II e III estão corretas.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 26/42</p><p>3 - Desempenho do hardware</p><p>Ao �nal deste módulo, você identi�cará as questões de desempenho do</p><p>hardware que direcionam o movimento para os computadores multicore.</p><p>Computadores multicore</p><p>Um processador é considerado multicore quando combina duas ou</p><p>mais unidades de processamento (chamados de core) em uma única</p><p>pastilha de silício. De modo geral, cada um dos cores possui os</p><p>componentes de um processador de forma independente, tais como</p><p>registradores, ULA, hardware de pipeline e UC, além das caches L1 de</p><p>dados e instruções e caches L2 e L3.</p><p>Saiba mais</p><p>Alguns processadores multicore também incluem</p><p>memória e controladores de periféricos.</p><p>Desempenho do hardware</p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 27/42</p><p>Desempenho do Hardware</p><p>O projeto de evolução dos processadores se baseou, inicialmente, no</p><p>aumento de paralelismo em nível das instruções, buscando realizar</p><p>mais trabalho em cada ciclo do clock, o que resultou em soluções</p><p>como o pipeline, estrutura superescalar e SMT (multithreading</p><p>simultâneo). Em cada uma delas, os projetistas tentaram aumentar o</p><p>desempenho do sistema incrementando a complexidade das soluções.</p><p>Entretanto, muitas dessas soluções se depararam com algumas</p><p>limitações (nos processos de fabricação, nos materiais utilizados) e</p><p>exigência de melhores controles para que fosse possível garantir a sua</p><p>eficiência.</p><p>Com a construção de novos processadores, houve o acréscimo do</p><p>número de transistores por chip e altas frequências de clock. Nesse</p><p>contexto, o aumento do consumo de energia cresceu</p><p>exponencialmente e, por conseguinte, a produção de calor, entre outras</p><p>inúmeras situações.</p><p>Observe a comparação:</p><p>Arquitetura superescalar.</p><p>Superescalar</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 28/42</p><p>Arquitetura multithreading.</p><p>Multithreading simultâneo</p><p>Arquitetura multicore.</p><p>Multicore</p><p>Seguindo essa linha de raciocínio, podemos referenciar a Regra de</p><p>Pollack. Ela determina que o aumento de desempenho é diretamente</p><p>proporcional à raiz quadrada do aumento da complexidade. Nesse</p><p>caso, se a lógica utilizada em um core do processador for dobrada,</p><p>apenas conseguirá um aumento de 40% no seu desempenho. Logo,</p><p>com o uso de vários cores, cria-se potencial para aumentar o</p><p>desempenho de forma quase linear, caso o software possa usar essa</p><p>vantagem.</p><p>Outro ponto importante deve-se à capacidade de integração das</p><p>pastilhas, o que permite aumentar proporcionalmente o espaço</p><p>destinado ao uso das caches, reduzindo, assim, o consumo de energia.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 29/42</p><p>Desempenho do software</p><p>Desempenho no Software</p><p>Diferentes análises podem ser realizadas para medir o desempenho em</p><p>softwares, partindo das medições do tempo necessário para realizar as</p><p>partes serial e paralelizável, considerando a sobrecarga de</p><p>escalonamento.</p><p>Estudos apontam que, mesmo com uma pequena parte do código</p><p>sendo serial, executar esse código no sistema multicore poderia ser</p><p>vantajoso quando comparado a soluções de um único core. Os</p><p>softwares desenvolvidos para servidores também podem utilizar de</p><p>forma eficiente uma estrutura multicore paralela, pois os servidores</p><p>geralmente lidam com numerosas transações em paralelo e, em muitos</p><p>casos, independentes.</p><p>É possível identificar vantagens nos softwares de uso geral para</p><p>servidores, de acordo com a habilidade de dimensionar o rendimento</p><p>em função do número de cores. Stallings (2017) lista vários exemplos:</p><p>São caracterizadas por possuírem um pequeno</p><p>número de processos com alto nível de</p><p>paralelização.</p><p></p><p>Aplicações multithread nativas (paralelismo</p><p>em nível de thread) </p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 30/42</p><p>São caracterizadas pela presença de muitos</p><p>processos de thread única (threads podem ser</p><p>consideradas como fluxos de um processo).</p><p>Aceitam threads de uma maneira natural, isto é, a</p><p>Máquina Virtual Java (JVM) é um processo</p><p>multithread que permite o escalonamento e o</p><p>gerenciamento de memória para aplicações Java.</p><p>Mesmo que uma aplicação individual não possa</p><p>ser dimensionada para obter vantagem em um</p><p>número grande de threads, ainda é possível que</p><p>se beneficie com a execução de várias instâncias</p><p>da aplicação em paralelo.</p><p>Organização multicore</p><p>As principais variáveis em uma organização multicore são:</p><p></p><p>Número de cores processadores no</p><p>chip</p><p>Aplicações com múltiplos processos</p><p>(paralelismo em nível de processo) </p><p>Aplicações Java </p><p>Aplicações com múltiplas instâncias</p><p>(paralelismo em nível de aplicação) </p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 31/42</p><p></p><p>Número de níveis da memória cache</p><p></p><p>Quantidade de memória cache</p><p>compartilhada</p><p></p><p>Emprego do multithreading</p><p>simultâneo (SMT)</p><p>Níveis de cache e cache</p><p>compartilhada</p><p>Dada a importância dos caches em uma arquitetura multicore,</p><p>ilustramos as organizações de cache a seguir:</p><p>Há dois ou mais processadores semelhantes</p><p>(capacidades que podem ser comparadas).</p><p>Cache L1 dedicada </p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 32/42</p><p>As caches L1 não são compartilhadas, mas, neste</p><p>caso, há espaço suficiente no chip para permitir a</p><p>cache L2. Exemplo: AMD Opteron e Athlon X2.</p><p>É representada uma organização semelhante ao</p><p>item anterior, mas agora o uso de cache L2 é</p><p>compartilhada. Exemplo: Intel Core Duo – esse foi</p><p>um marco definido pela Intel para a construção de</p><p>processadores multicore com maior eficiência.</p><p>Cache L2 dedicada </p><p>Cache L2 compartilhada </p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 33/42</p><p>O uso de caches L2 compartilhadas no chip</p><p>possui inúmeras vantagens quando comparado à</p><p>dependência exclusiva das caches dedicadas,</p><p>como, por exemplo, a comunicação mais eficiente</p><p>entre os processadores e a implementação de</p><p>caches coerentes.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 34/42</p><p>Representa a possibilidade de expansão na</p><p>quantidade de área disponível para caches no</p><p>chip. Aqui, temos a divisão de uma cache L3</p><p>separada e compartilhada, com caches L1 e L2</p><p>dedicadas para cada core do processador.</p><p>Exemplo: o Intel Core I7.</p><p>Arquitetura Multicore</p><p>No vídeo a seguir o especialista fala sobre arquitetura multicore ou</p><p>multi-núcleo.</p><p>Cache L3 compartilhada </p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 35/42</p><p>Multithreading simultâneo</p><p>Outro ponto importante, que deve ser considerado no projeto de</p><p>sistemas multicore, são os cores individuais e a possibilidade de</p><p>implementação de multithreading simultâneo (SMT), também</p><p>conhecido comercialmente como hyper-threading.</p><p>Veja a comparação entre as duas arquiteturas:</p><p></p><p>Intel Core Duo</p><p>Utiliza cores</p><p>superescalares</p><p>puros.</p><p></p><p>Intel Core I7</p><p>Utiliza cores SMT.</p><p>Cores SMT</p><p>O SMT permite ampliar o uso de threads em nível de hardware que</p><p>o sistema multicore suporta. Um sistema multicore com quatro</p><p>cores e SMT, que suporta quatro threads simultâneos em cada</p><p>core, assemelha-se a um sistema multicore de 16 cores. Exemplo:</p><p>Blue Gene/Q da IBM possui SMT de 4 vias.</p><p>Veja, a seguir, a comparação da execução de várias threads com a</p><p>implementação de um processador de diferentes arquiteturas:</p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 36/42</p><p>Exemplo de execução de threads com: (a) um processador escalar; (b) dois processadores; (c)</p><p>um processador habilitado com hyper-threading; (d) dois processadores habilitados com hyper-</p><p>threading.</p><p>Observe a descrição:</p><p> (a) Superescalar</p><p>No primeiro exemplo, com um único</p><p>processador superescalar – o processador está</p><p>em uso, mas cerca de metade do tempo do</p><p>processador permanece sem uso.</p><p> (b) Multiprocessing</p><p>No multiprocessamento, é possível verificar um</p><p>sistema de CPU dupla trabalhando em dois</p><p>threads separados. No entanto, novamente</p><p>cerca de 50% do tempo de ambas as CPUs</p><p>permanecem sem uso.</p><p> (c) Hyper-threading</p><p>No terceiro caso, um único processador está</p><p>habilitado para hyper-threading, os dois threads</p><p>estão sendo computados simultaneamente e a</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 37/42</p><p>Para concluir, devemos avaliar os benefícios quando os softwares</p><p>forem desenvolvidos com a capacidade de usufruir de recursos</p><p>paralelos, valorizando a abordagem SMT.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Dentre as alternativas abaixo, qual delas não é</p><p>considerada uma das principais variáveis na</p><p>organização multicore?</p><p>estão sendo computados simultaneamente e a</p><p>eficiência da CPU aumentou de cerca de 50%</p><p>para mais de 90%.</p><p> (d) Multiprocessing with hyper-threading</p><p>No último exemplo, há dois processadores</p><p>habilitados para hyper-threading que podem</p><p>funcionar em quatro threads independentes ao</p><p>mesmo tempo. Novamente, a eficiência da CPU</p><p>é de cerca de 90%. Nesse caso, teríamos quatro</p><p>processadores lógicos e dois processadores</p><p>físicos.</p><p>A</p><p>Número de cores processadores no</p><p>chip.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 38/42</p><p>Parabéns! A alternativa C está correta.</p><p>A quantidade de cache compartilhada é importante,</p><p>mas não exclusivamente a cache L1.</p><p>Questão 2</p><p>Considere os termos abaixo e relacione-os aos</p><p>respectivos significados:</p><p>I. Simultaneous Multiprocessing (SMP)</p><p>II. Multithreading</p><p>III. Multithreading simultâneo SMT</p><p>IV. Multicore</p><p>A. Processador possui a capacidade de executar</p><p>mais de uma thread no mesmo instante.</p><p>B. Técnica que permite explorar TLP (paralelismo a</p><p>nível de threads) e ILP (paralelismo a nível de</p><p>instrução).</p><p>C. Múltiplos núcleos de execução em um</p><p>processador.</p><p>D. Arquitetura que permite a mais de um</p><p>processador compartilhar recursos de memória,</p><p>discos e rodar no mesmo SO.</p><p>B Número de níveis da memória cache.</p><p>C Cache L1 compartilhada.</p><p>D</p><p>Quantidade de memória cache</p><p>compartilhada.</p><p>E</p><p>O emprego do multithreading</p><p>simultâneo.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 39/42</p><p>Assinale a alternativa correta:</p><p>Parabéns! A alternativa D está correta.</p><p>A configuração correta é:</p><p>I- Simultaneous Multiprocessing (SMP) -> D –</p><p>arquitetura que permite a mais de um processador</p><p>compartilhar recursos de memória, discos e rodar no</p><p>mesmo SO.</p><p>II- Multithreading -> A – processador possui a</p><p>capacidade de executar mais de uma thread no</p><p>mesmo instante.</p><p>III- Multithreading simultâneo SMT -> B – técnica que</p><p>permite explorar TLP (paralelismo a nível de threads)</p><p>e ILP (paralelismo a nível de instrução).</p><p>IV- Multicore -> C – Múltiplos núcleos de execução</p><p>em um processador.</p><p>A I (A) - II (B) - III (C) - IV (D)</p><p>B I (B) - II (C) - III (D) - IV (A)</p><p>C I (C) - II (D) - III (A) - IV (B)</p><p>D I (D) - II (B) - III (A) - IV (C)</p><p>E I (A) - II (C) - III (D) - IV (B)</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 40/42</p><p>Considerações �nais</p><p>Muitas das limitações associadas ao desenvolvimento de dispositivos</p><p>e equipamentos com maior desempenho estavam relacionadas ao</p><p>problema de controle da temperatura gerada pelos seus componentes,</p><p>isto é, com transistores menores, buscava-se construir processadores</p><p>mais rápidos e, como consequência, esses dispositivos consumiam</p><p>mais energia, produzindo um aumento de calor (energia térmica).</p><p>Soluções que buscavam aumentar o desempenho, simplesmente com</p><p>o objetivo de serem mais rápidos, produziam processadores instáveis e</p><p>não confiáveis. Além disso, outros fatores inibiam o desenvolvimento,</p><p>seja em função de restrições físicas, como a estabilidade dos materiais</p><p>utilizados, ou da redução de suas dimensões (litografia).</p><p>As arquiteturas paralelas vieram ao encontro desses objetivos, por</p><p>trazerem a possibilidade de integrar elementos do hardware, permitindo</p><p>que o aumento do desempenho estivesse vinculado não somente à</p><p>velocidade de processamento desses dispositivos, mas à capacidade</p><p>de tratar as suas execuções de forma paralelizada.</p><p>As diferentes soluções idealizadas em processamento paralelo, como</p><p>as estruturas superescalares, superpipeline e multiprocessadores</p><p>simétricos, permitiram a construção de computadores e dispositivos</p><p>que convergissem na direção de soluções de alto desempenho.</p><p>Os processadores multicore, por sua vez, são economicamente viáveis</p><p>para a produção em larga escala de dispositivos, que buscam uma alta</p><p>capacidade de processamento, por serem confiáveis e estáveis, além</p><p>de permitir a sua integração com os demais componentes de cada</p><p>equipamento.</p><p>Podcast</p><p>Ouça o podcast para reforçar os principais pontos abordados no estudo</p><p>deste conteúdo!</p><p></p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 41/42</p><p>Explore +</p><p>Pesquise o modo de fabricação do processador</p><p>Intel.</p><p>Visite o site da Multicore Association (MCA), que</p><p>promove o desenvolvimento e o uso de tecnologia</p><p>multicore.</p><p>Leia, no site da Intel, a matéria Tecnologia Hyper-</p><p>Threading Intel – Obtenha desempenho mais rápido</p><p>para muitos aplicativos empresariais exigentes.</p><p>Veja, no site da Intel, a ferramenta de diagnóstico</p><p>para um processador Intel.</p><p>Leia o capítulo 17, intitulado Processamento</p><p>Paralelo, do livro Arquitetura e organização de</p><p>computadores, do autor William Stallings.</p><p>Pesquise a biografia de Michael Flynn.</p><p>Referências</p><p>MONTEIRO, M. Introdução à Organização de Computadores. 5. ed. Rio</p><p>de Janeiro: LTC, 2007.</p><p>STALLINGS, W. Arquitetura e organização de computadores. 10. ed.</p><p>São Paulo: Pearson Education do Brasil, 2017.</p><p>TANENBAUM, A. S.; STEEN, M. Sistemas Distribuídos: Princípios e</p><p>Paradigmas. 2. ed. São Paulo: Pearson Prentice Hall, 2007.</p><p>22/11/2023, 14:51 Processamento em paralelo</p><p>https://stecine.azureedge.net/repositorio/00212ti/00394/index.html# 42/42</p><p>Material para download</p><p>Clique no botão abaixo para fazer o</p><p>download do conteúdo completo em</p><p>formato PDF.</p><p>Download material</p><p>O que você achou do conteúdo?</p><p>Relatar problema</p><p>javascript:CriaPDF()</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 1/35</p><p>Arquitetura CISC X RISC</p><p>Prof. Leandro Ferreira</p><p>Descrição</p><p>Conceitos de arquiteturas CISC e RISC: características, vantagens e</p><p>desvantagens.</p><p>Propósito</p><p>Compreender as vantagens e desvantagens das arquiteturas RISC e</p><p>CISC e suas influências no desenvolvimento dos processadores, assim</p><p>como identificar os motivos para a escolha de cada uma das</p><p>arquiteturas, lembrando que, atualmente, os processadores costumam</p><p>utilizar uma combinação de ambas (em arquiteturas híbridas).</p><p>Preparação</p><p>memória cache com</p><p>muito mais velocidade que nos</p><p>pentes de memória.</p><p>Pentes de memória</p><p>Pequenos circuitos</p><p>impressos de formato</p><p>parecido com pentes de</p><p>cabelo.</p><p>3</p><p>Por isso, uma boa quantidade</p><p>dela consegue acelerar a</p><p>velocidade do processador.</p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 20/60</p><p>A memória principal é parte fundamental do computador,</p><p>pois se trata do espaço onde são armazenados os dados</p><p>e os programas executados no processador. Ela funciona</p><p>como uma série de células em que cada uma armazena</p><p>um conjunto de oito bits (chamado de um byte). Essas</p><p>células funcionam como caixas de correio: cada uma</p><p>tem seu endereço, embora só armazene uma carta por</p><p>vez.</p><p>A memória também é chamada de RAM (em seu formato mais comum)</p><p>por permitir o acesso a qualquer endereço em qualquer ordem.</p><p>Disso resulta o nome Memória de Acesso Aleatório (em inglês,</p><p>Random Access Memory). Normalmente, as memórias RAM são</p><p>vendidas em pentes de memória.</p><p>A memória RAM é volátil, ou seja, seus dados são</p><p>apagados quando o sistema �ca sem energia.</p><p>Vejamos, a seguir, as principais características de uma memória RAM:</p><p>Capacidade de armazenamento</p><p>Se possui 4 GB (quatro gigabytes) de armazenamento, a</p><p>memória RAM conta com 4 bilhões dessas células, podendo</p><p>armazenar até 32 bilhões de bits de dados.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 21/60</p><p>Velocidade de comunicação com o</p><p>barramento</p><p>Trata-se da velocidade com que a memória consegue</p><p>transferir os dados para o processador.</p><p>Por exemplo, uma memória de 400 MHz consegue transferir</p><p>dados para o processador com uma taxa de até 3200 Mbps</p><p>(3 bilhões e 200 milhões de bits por segundo).</p><p>Placa-mãe</p><p>A placa-mãe consiste em um circuito elétrico impresso e uma série de</p><p>componentes conectados nela.</p><p>Os principais são:</p><p>A função básica da placa-mãe é conectar o processador, a memória</p><p>principal e os periféricos (outros componentes não essenciais do</p><p>computador). Essas conexões são chamadas de barramentos.</p><p>Conforme a tecnologia se desenvolve, a placa-mãe começa a integrar</p><p>em si periféricos que, até então, precisavam ser encaixados nela, como</p><p>placas de vídeo, placas de rede, placas controladoras de portas seriais</p><p>e paralelas.</p><p>Atenção!</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 22/60</p><p>As placas-mãe dos celulares atuais são circuitos</p><p>altamente complexos, contando com processador,</p><p>memória, controladora de vídeo, controladora de tela</p><p>touchscreen, acelerômetros, GPS e placa de rede sem fio</p><p>e celular. Todos eles estão diretamente integrados à sua</p><p>placa-mãe.</p><p>Periféricos</p><p>Por se conectarem à parte central do computador, seus demais</p><p>componentes são chamados, em geral, de periféricos. Muitos mostram</p><p>ser tão relevantes que não seríamos capazes de imaginar sistemas</p><p>computacionais sem eles.</p><p>O primeiro computador usava apenas uma série de lâmpadas como</p><p>saída e alguns cartões perfurados como entrada. Inicialmente, são</p><p>necessários apenas dois instrumentos nesse processo, embora haja</p><p>outro que também precisa ser apontado.</p><p>Dispositivos de entrada</p><p>Usados para interagir com o computador. Os mais comuns são:</p><p>1. Tela touchscreen: permite a seleção de elementos sem precisar de</p><p>um mouse.</p><p>2. Teclado: segue um padrão já difundido das máquinas de escrever,</p><p>facilitando seu uso e sua aceitação.</p><p>3. Mouse: abre novos rumos por permitir a indicação de pontos na tela</p><p>e a seleção deles, o que gerou um grande impacto no desenvolvimento</p><p>de interfaces gráficas.</p><p>4. Microfone: capta o áudio.</p><p>5. Câmera: capta áudio com vídeo.</p><p>6. Placa de rede: recebe os dados transmitidos pela rede.</p><p>Veja na imagem os dispositivos listados:</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 23/60</p><p>Dispositivos de saída</p><p>Eles leem os resultados por computador. Os mais usuais são:</p><p> Sistema de vídeo</p><p>Composto, geralmente, por uma placa de vídeo</p><p>e um monitor ou uma tela.</p><p> Alto-falantes ou caixas de som</p><p>Emite sons e sinais sonoros.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 24/60</p><p>Mesmo com a operacionalidade garantida por esses dispositivos, ainda</p><p>existe o seguinte problema: a memória principal perde as informações</p><p>quando se desliga o computador, ou seja, ela é volátil.</p><p>Mas é possível resolver esse tipo de problema?</p><p>A resposta é: sim. Precisamos de um sistema de armazenamento</p><p>persistente que não perca as informações após esse desligamento.</p><p> Impressora</p><p>Imprime documentos elaborados no</p><p>computador.</p><p> Placa de rede</p><p>Envia os dados pela rede.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 25/60</p><p>Para isso, são usadas as memórias secundárias.</p><p>Mais conhecidas como HD (Hard Disk ou Disco Rígido,</p><p>em português), elas possuem essa nomenclatura porque</p><p>sua tecnologia predominante envolve discos magnéticos</p><p>lidos e escritos por um cabeçote.</p><p>Atualmente, essa tecnologia tem sido substituída por</p><p>Discos de Estado Sólido (SSD), que são muito mais</p><p>rápidos e menos propensos a falhas e desgaste por não</p><p>haver partes móveis mecânicas neles.</p><p>As principais características das memórias secundárias são similares</p><p>às da principal:</p><p>Capacidade de armazenamento</p><p>Normalmente medida em GB (gigabytes ou</p><p>bilhões de bytes) ou TB (terabytes ou trilhões de</p><p>bytes).</p><p>Velocidade de transmissão</p><p>Depende do barramento que o liga à placa-mãe.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 26/60</p><p>Hoje, a principal tecnologia de barramento de memória secundária é o</p><p>SATA2, que é capaz de atingir taxas de transmissão de 3 Gb/s (3 gigas</p><p>por segundo).</p><p>Principais componentes de</p><p>hardware</p><p>Confira quais são os principais componentes de hardware de um</p><p>computador e suas funções.</p><p>Software</p><p>As possibilidades criadas pela presença de um hardware no</p><p>computador requerem a execução de um conjunto de programas,</p><p>trazendo, assim, suas funcionalidades à tona, que definem o software.</p><p>Costuma-se dividi-lo em dois tipos:</p><p>Geralmente, são rodados de forma consciente</p><p>nos computadores, entregando as</p><p>funcionalidades desejadas por seu</p><p>usuário.Observe alguns exemplos a seguir:</p><p></p><p>Softwares finalísticos ou de aplicação </p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 27/60</p><p>Navegadores de internet - Chrome, Firefox e</p><p>Internet Explorer;</p><p>Planilhas: - Excel e Libreoffice Calc;</p><p>Editores de texto - Word e Libreoffice Writer;</p><p>Jogos eletrônicos - LoL e Fortnite.</p><p>Permitem que os finalísticos rodem em muitas</p><p>máquinas com hardwares diversificados. Os</p><p>softwares de sistema incluem os drivers dos</p><p>dispositivos instalados no computador, ou seja,</p><p>programas que controlam como se acessa e</p><p>comanda determinado periférico.</p><p>Exemplo: Uma placa de rede.</p><p>O principal software de sistema é o conhecido</p><p>sistema operacional.</p><p>Tendências</p><p>A área de desenvolvimento de hardwares e softwares mostra diversos</p><p>casos de sucesso. O surgimento de Circuitos Integrados (CI),</p><p>microprocessadores, placas de vídeo, mouse, touchscreen, USB e</p><p>muitos outros hardwares gerou saltos evolutivos no desenvolvimento</p><p>dos computadores, alguns chegando a mudar drasticamente a sua</p><p>forma de uso.</p><p>Você consegue se imaginar usando um computador sem</p><p>mouse ou touchscreen?</p><p>No ramo de softwares, diversos programas mudaram a forma como</p><p>trabalhamos e nos divertimos, tais como:</p><p>Softwares de sistema </p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 28/60</p><p></p><p>Jogos eletrônicos</p><p></p><p>Sistemas operacionais com interface gráfica (Windows)</p><p></p><p>Aplicativos para realizar diversas tarefas cotidianas (e-</p><p>bank, e-commerce e e-mail)</p><p></p><p>Navegador de internet (web browser)</p><p></p><p>Planilhas</p><p></p><p>Editores de texto</p><p>Observe seu cotidiano e tente responder: quando foi a última</p><p>Antes de iniciar o estudo, você deve conhecer os conceitos de Estrutura</p><p>Básica do Computador, Instruções e Etapas de Processamento.</p><p>Objetivos</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 2/35</p><p>Módulo 1</p><p>Características da arquitetura CISC</p><p>Identificar características e propriedades da arquitetura CISC.</p><p>Módulo 2</p><p>Características da arquitetura RISC</p><p>Identificar características e propriedades da arquitetura RISC.</p><p>Introdução</p><p>Os termos RISC e CISC podem ser compreendidas como tipos</p><p>de conjuntos de instruções de máquinas que fazem parte da</p><p>arquitetura de computadores desenvolvidas pela indústria de</p><p>computação.</p><p>Conhecer o tipo de arquitetura RISC e CISC é importante, pois é</p><p>esse conjunto de instruções que dará a ordem para que o</p><p>computador execute determinada operação. Assim, o projeto</p><p>de um processador é centrado no conjunto de instruções de</p><p>máquina elabodado para que ele execute, ou seja, do conjunto</p><p>de operações primitivas que ele pode executar.</p><p>Cada arquitetura tem sua forma de ser implementada, suas</p><p>vantagens e desvantagens que acabam norteando a escolha</p><p>de uma ou de outra, ou de ambas, a chamada arquitetura</p><p>híbrida.</p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 3/35</p><p>Aqui você compreenderá bem o que são as arquiteturas CISC,</p><p>RISC e híbrida, bem como suas características e principais</p><p>diferenças.</p><p>Bons estudos!</p><p>1 - Características da arquitetura CISC</p><p>Ao �nal deste módulo, você será capaz de identi�car características e</p><p>propriedades da arquitetura CISC.</p><p>Vamos começar!</p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 4/35</p><p>Revisões sobre o</p><p>funcionamento do</p><p>computador</p><p>Veja alguns conceitos importantes para o funcionamento do</p><p>computador.</p><p>Arquitetura CISC</p><p>O conceito da arquitetura</p><p>Abordagem CISC na</p><p>arquitetura de processadores</p><p>A abordagem CISC (Complex Instruction Set Computer - Computador</p><p>com Conjunto Complexo de Instruções) está relacionada às</p><p>possibilidades na hora de se projetar a arquitetura de um processador,</p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 5/35</p><p>com instruções específicas para o maior número de funcionalidades</p><p>possível. Além disso, essas instruções realizam operações com</p><p>diferentes níveis de complexidade, buscando, muitas vezes, operandos</p><p>na memória principal e retornando a ela os resultados.</p><p>Isso faz com que a quantidade de instruções seja extensa e que a</p><p>Unidade de Controle do processador seja bastante complexa para</p><p>decodificar a instrução a ser executada. Entretanto, a complexidade é</p><p>compensada por poucos acessos à memória e soluções adequadas</p><p>para problemas específicos.</p><p>Veja um esquema que ilustra a arquitetura CISC:</p><p>Esquema ilustrativo da arquitetura CISC.</p><p>Origem</p><p>A abordagem CISC surgiu de uma evolução dos processadores. Essa</p><p>sigla só começou a ser usada após a criação do conceito de RISC no</p><p>início da década de 1980 (a ser visto no próximo módulo), quando os</p><p>processadores anteriores passaram a ser chamados de CISC de forma</p><p>retroativa.</p><p>Conforme a tecnologia de fabricação e a capacidade computacional</p><p>evoluíam, problemas mais complexos puderam ser resolvidos pelos</p><p>processadores. Para esses problemas, foram sendo criadas novas</p><p>instruções específicas.</p><p>Exemplo</p><p>É possível adicionar uma instrução específica para</p><p>multiplicar números reais em vez de realizar repetidas</p><p>somas (instrução mais simples).</p><p>Características</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 6/35</p><p>Veja na tabela exemplos de processadores CISC, sua evolução no que</p><p>diz respeito à quantidade e ao tamanho das instruções.</p><p>Processador Ano</p><p>Tamanho da</p><p>instrução</p><p>IBM 370 1970 2 a 6 bytes</p><p>VAX11 1978 2 a 57 bytes</p><p>Intel 8008 1972 1 a 3 bytes</p><p>Intel 286 1982 2 a 5 bytes</p><p>Intel 386 1985 2 a 16 bytes</p><p>Tabela: Exemplos de processadores CISC.</p><p>Leandro Ferreira.</p><p>Múltiplo endereçamento</p><p>Observando a última coluna da tabela anterior, é possível perceber o</p><p>conceito principal e uma das definições mais usuais de arquitetura com</p><p>abordagem CISC: diversos tipos de endereçamento.</p><p>Dessa forma, temos:</p><p>R-R</p><p>Para instruções que usam registradores como</p><p>entrada e saída.</p><p>R-M</p><p>Quando um dos elementos (operandos ou</p><p>resultado) deve ser buscado/escrito na memória e</p><p>ao menos um em registrador.</p><p>M-M</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 7/35</p><p>Para instruções em que os operandos e o</p><p>resultado estão na memória.</p><p>O princípio fundamental da abordagem CISC é a realização de</p><p>operações complexas, que envolvem buscar operandos na memória</p><p>principal, operar sobre eles (na ULA) e guardar o resultado já na</p><p>memória.</p><p>Nesses casos, o código de máquina é mais simples de se gerar pelo</p><p>compilador, pois, geralmente, há relação direta entre uma linha de</p><p>código em alto nível e uma instrução da arquitetura, veja:</p><p>Código de máquina</p><p>A linguagem de máquina é o conjunto de instruções (em binário) que</p><p>determinado processador consegue executar.</p><p>Para ser executado, um programa escrito em alto nível (em C, Python, ou</p><p>Java, por exemplo) deve ser convertido em linguagem de máquina,</p><p>formando o código de máquina: versão do programa compreensível pelo</p><p>processador.</p><p>Pseudocódigo De Alto Nível </p><p>Na linha 1, temos a declaração da variável a. Vamos assumir que ela</p><p>está alocada na memória principal em M[&a] (em que &a representa o</p><p>endereço de a).</p><p>Na linha 2, desejamos realizar a soma entre os valores de a e 5 e</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 8/35</p><p>guardar o resultado, sobrescrevendo o valor da variável a para 8.</p><p>No caso de uma abordagem CISC, há uma instrução que realiza</p><p>exatamente esse processo. Como exemplo, na arquitetura do 386,</p><p>temos a instrução ADDI, que realiza a adição de um valor imediato. Veja</p><p>a instrução em Assembly:</p><p>Assembly </p><p>Segundo o manual do Processador 386, essa instrução leva 2 pulsos de</p><p>clock (2 CLK) quando operada sobre um registrador e 7 CLK quando</p><p>operada sobre um endereço de memória. Essa diferença se dá pela</p><p>necessidade de buscar o operando e escrever o resultado na memória.</p><p>Clock</p><p>Para operar de forma organizada, o processador utiliza um relógio (Clock)</p><p>que gera pulsos em intervalos regulares. A cada vez que um pulso de clock</p><p>é recebido, uma “etapa” é executada, e todo o circuito avança um passo.</p><p>Dessa forma, uma instrução que leve 2 pulsos (ciclos) de clock será</p><p>executada após dois pulsos serem emitidos para o circuito.</p><p>Analogia da hamburgueria</p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 9/35</p><p>Arquitetura CISC – Na</p><p>analogia da hamburgueria</p><p>Para facilitar o entendimento da abordagem CISC,</p><p>usaremos uma analogia com uma hamburgueria.</p><p>Na primeira loja (CISC), temos uma grande quantidade de</p><p>lanches possíveis, cada um é identificado por um</p><p>número.</p><p>Originalmente, essa loja só vendia hambúrguer (1) ou cheeseburger (2)</p><p>e, por simplicidade, cada pedido era processado por completo antes de</p><p>o próximo ser iniciado.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 10/35</p><p>Hambúrguer (1)</p><p>Cheeseburger (2)</p><p>O mesmo funcionário desempenhava diferentes funções:</p><p></p><p>Anotar o pedido</p><p>Busca de Instrução.</p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 11/35</p><p>Montar os sanduíches</p><p>1 ou 2 (Execução)</p><p></p><p>Entregar o pedido no balcão</p><p>WriteBack ou Escrita de Registrador.</p><p>Com a evolução da loja, o pedido ganhou acompanhamentos (batata,</p><p>refrigerante, milk-shake, tortinhas etc.) e passou a ter duas opções de</p><p>entrega:</p><p>No balcão</p><p>Registrador.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html#</p><p>12/35</p><p>Em casa</p><p>Escrita em memória.</p><p>Por conta desse incremento, mais de cem tipos de lanches podiam ser</p><p>pedidos.</p><p>Agora, um passo adicional era necessário após o recebimento do</p><p>pedido (BI – Buscar Instrução): descobrir a receita do sanduíche</p><p>escolhido, pois ninguém conseguia decorar tantas combinações e</p><p>separar os ingredientes do pedido (Decodificação de Instrução e Busca</p><p>de Operandos).</p><p>Com isso, dois novos problemas surgiram:</p><p> Espaço</p><p>As receitas e os novos ingredientes ocupavam</p><p>muito espaço na loja, diminuindo a extensão do</p><p>balcão (registradores).</p><p> Tempo</p><p>Por vezes, a falta de algum ingrediente fazia</p><p>com que o funcionário fosse buscá-lo no</p><p>mercado (acesso à memória para buscar um</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 13/35</p><p>Da mesma forma, a abordagem CISC necessita de um circuito</p><p>complexo de Unidade de Controle para decodificar as instruções</p><p>(microprograma) que ocupa parte do processador, limitando o número</p><p>de registradores.</p><p>Além disso, dependendo da quantidade de acessos à memória, o</p><p>tempo de execução das instruções varia muito (receber o pedido,</p><p>buscar ingrediente no mercado, entregar o pedido em casa).</p><p>A primeira solução para agilizar a produção na hamburgueria foi</p><p>contratar cinco funcionários especializados, um para cada atividade.</p><p>Veja:</p><p>Processar pedidos no caixa</p><p>BI - Buscar Instrução.</p><p>Separar ingredientes e receita</p><p>DI - Decodificar Instrução.</p><p>mercado (acesso à memória para buscar um</p><p>operando), aumentando a espera pelo pedido.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 14/35</p><p>Montar os lanches</p><p>EXE - Execução.</p><p>Entregar no balcão</p><p>WB - WriteBack.</p><p>Entregar em domicílio</p><p>AM - Acesso à Memória.</p><p>Com cada funcionário realizando uma atividade específica, bastava</p><p>passar a tarefa processada adiante para que a próxima pudesse ser</p><p>realizada, como em uma linha de montagem. Muito satisfeito com o</p><p>resultado, o dono da loja resolveu contratar mais funcionários</p><p>especializados para a linha de montagem, que chegava a ter 31 etapas</p><p>nos pedidos mais complexos.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 15/35</p><p>Comentário</p><p>Essa implementação é feita nos processadores (pipeline)</p><p>de forma similar. Uma das características dos</p><p>computadores CISC é a complexidade de seus pipelines.</p><p>Alguns chegaram a ter 31 estágios de pipeline.</p><p>O pipeline do processador</p><p>Veja exemplos de estágios de pipeline nas microarquiteturas da Intel:</p><p>Intel</p><p>A Intel Corporation, empresa de tecnologia americana, é uma das maiores</p><p>produtoras mundiais de chips, principalmente processadores. É</p><p>reconhecida pela criação da série de chips x86 e também da série Pentium.</p><p>Microarquitetura Estágios de Pipeline</p><p>P5 (Pentium) 5</p><p>P6 (Pentium 3) 14</p><p>P6 (Pentium Pro) 14</p><p>NetBurst (Willamette) 20</p><p>NetBurst (Northwood) 20</p><p>NetBurst (Prescott) 31</p><p>NetBurst (Cedar Mill) 31</p><p>Core 14</p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 16/35</p><p>Microarquitetura Estágios de Pipeline</p><p>Broadwell 14 a 19</p><p>Sandy Bridge 14</p><p>Silvermont 14 a 17</p><p>Haswell 14 a 19</p><p>Skylake 14 a 19</p><p>Kabylake 14 a 19</p><p>Tabela: Exemplos de estágios de pipeline.</p><p>Leandro Ferreira.</p><p>Diante do exemplo, podemos dizer que todos os problemas da</p><p>hamburgueria acabaram?</p><p>Resposta</p><p>A solução da linha de montagem ajudou a hamburgueria,</p><p>mas ainda existiam gargalos que a paralisavam,</p><p>principalmente quando havia necessidade de entregar</p><p>pedidos ou buscar ingredientes (acessos à memória).</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>A abordagem CISC para arquitetura do processador</p><p>possui diversas características e peculiaridades,</p><p>como a combinação de operações e formas de</p><p>armazenamento, com o objetivo de aperfeiçoar a</p><p>execução das instruções.</p><p>Assinale a alternativa em que as operações, quando</p><p>presentes como etapas da mesma instrução,</p><p>permitem caracterizar a presença de uma</p><p>abordagem CISC.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 17/35</p><p>Parabéns! A alternativa A está correta.</p><p>A abordagem CISC tem como principal</p><p>característica a execução de operações complexas,</p><p>como a combinação de operações aritméticas e o</p><p>acesso direto à memória (para busca ou escrita de</p><p>dados). A única opção que garante que tal operação</p><p>complexa está acontecendo é a letra A , pois as</p><p>demais podem ocorrer em operações simples.</p><p>Questão 2</p><p>Os processadores CISC possuem várias</p><p>características que, quando agregadas, permitem</p><p>classificá-los dessa forma.</p><p>Assinale a opção que não representa uma</p><p>característica de processadores CISC.</p><p>A</p><p>Operação Aritmética na ULA e</p><p>armazenamento na memória.</p><p>B</p><p>Busca de Registrador e Operação</p><p>Aritmética na ULA.</p><p>C</p><p>Busca de Registrador e Escrita de</p><p>Registrador.</p><p>D</p><p>Busca de Registrador e</p><p>armazenamento na memória.</p><p>E Busca e escrita em cache L1.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 18/35</p><p>Parabéns! A alternativa C está correta.</p><p>Por conter muitas instruções possíveis e diferentes,</p><p>a Unidade de Controle CISC é complexa. Ela precisa</p><p>decodificar qual instrução será executada e gerar</p><p>todos os seus sinais de controle.</p><p>2 - Características da arquitetura RISC</p><p>A Múltiplos tipos de endereçamento.</p><p>B Conjunto de muitas instruções.</p><p>C Unidade de controle simples.</p><p>D Pipeline com poucos estágios.</p><p>E</p><p>Unidade de controle hardwired, isto é,</p><p>não há microprograma.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 19/35</p><p>Ao �nal deste módulo, você será capaz de identi�car características e</p><p>propriedades da arquitetura RISC.</p><p>Arquitetura RISC</p><p>O conceito da arquitetura</p><p>Abordagem RISC na</p><p>arquitetura de processadores</p><p>A abordagem RISC (Reduced Instruction Set Computer - Computador</p><p>com Conjunto Restrito de Instruções) se refere às escolhas na hora de</p><p>projetar a arquitetura de um processador. Essa abordagem possui</p><p>poucas instruções genéricas, com as quais se montam as operações</p><p>mais complexas. Além disso, as instruções realizam operações apenas</p><p>sobre os registradores, exceto nos casos de instruções específicas, que</p><p>servem apenas para buscar ou guardar dados na memória.</p><p>Com uma pequena quantidade de instruções, a Unidade de Controle do</p><p>processador é bastante simples para decodificar a instrução para ser</p><p>executada. Dessa forma, sobra espaço para mais registradores.</p><p>Veja um esquema que ilustra a arquitetura RISC:</p><p>Esquema ilustrativo da arquitetura RISC.</p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 20/35</p><p>Origem</p><p>A abordagem RISC surgiu no início da década de 1980. A partir da sua</p><p>criação, os processadores anteriores passaram a ser retroativamente</p><p>chamados de CISC. O surgimento da abordagem RISC se deu na</p><p>tentativa de resolver as deficiências que começavam a aparecer nos</p><p>processadores tradicionais (que passariam a ser chamados de CISC).</p><p>As diversas operações complexas eram pouco utilizadas pelos</p><p>programas, pois dependiam de otimização do código em alto nível. As</p><p>múltiplas formas de endereçamento faziam com que cada instrução</p><p>demorasse um número variável de clocks para que fosse possível</p><p>executar. Por fim, a Unidade de Controle grande deixava pouco espaço</p><p>para registradores, demandando diversas operações de acesso à</p><p>memória.</p><p>Para resolver esses problemas, foi proposta a abordagem RISC.</p><p>Premissas e características</p><p>A nova abordagem proposta possuía algumas premissas que geraram</p><p>certas características na arquitetura resultante:</p><p>Premissa: quantidade restrita de instruções, com</p><p>as quais era possível montar as outras.</p><p>A quantidade reduzida de instruções diminui o</p><p>tamanho e a complexidade da Unidade de</p><p>Controle para decodificação da instrução. Com</p><p>isso, sobra mais espaço para registradores</p><p>no</p><p>processador. Enquanto os processadores CISC</p><p>costumam ter até 8 registradores, é comum que</p><p>os processadores RISC tenham mais de 32,</p><p>chegando até a algumas centenas.</p><p>Quantidade de Instruções </p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 21/35</p><p>Premissa: as instruções devem ser executadas</p><p>com duração próxima, facilitando o pipeline.</p><p>A premissa de execução com duração próxima</p><p>serve para facilitar a previsibilidade do</p><p>processamento de cada instrução. A ideia é que</p><p>cada etapa da instrução consiga ser executada</p><p>em um ciclo de máquina (CLK). Como todas as</p><p>instruções operam usando apenas os rápidos</p><p>registradores, isso é possível. As exceções são as</p><p>instruções LOAD e STORE.</p><p>Premissa: as instruções devem operar sobre</p><p>registradores, exceto em algumas específicas</p><p>para busca e gravação de dados na memória</p><p>(LOAD e STORE). As instruções LOAD e STORE</p><p>servem para acessar a memória.</p><p>Com a operação sobre os registradores, o pipeline</p><p>executa de forma próxima ao ideal (1 etapa por</p><p>ciclo), exceto pelos acessos à memória das</p><p>instruções LOAD e STORE, que demandam um</p><p>tempo maior de espera.</p><p>Pipeline</p><p>Considere as etapas vistas no módulo anterior:</p><p>Tempo de Execução </p><p>Operação das Instruções </p><p>1</p><p>Buscar Instrução (BI)</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 22/35</p><p>Veja agora um exemplo de pipeline com modelo RISC com 3 instruções</p><p>executadas durante 10 pulsos de clock:</p><p>Tabela: Exemplo de pipeline com modelo RISC.</p><p>Com essa tabela, percebemos que três instruções são executadas:</p><p>1.</p><p>Começa no primeiro pulso de clock.</p><p>2.</p><p>2</p><p>Decodificar Instrução (DI)</p><p>3</p><p>Execução (EXE)</p><p>4</p><p>Acesso à Memória (AM).</p><p>5</p><p>WriteBack (WB).</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 23/35</p><p>Começa no segundo pulso de clock.</p><p>3.</p><p>Começa no terceiro pulso de clock.</p><p>Todo o processo leva 10 pulsos de clock.</p><p>Repare que os quadrados vazios (marcados em amarelo na tabela</p><p>anterior) indicam a parada do pipeline para aguardar os dois ciclos</p><p>necessários para a busca do valor guardado na memória. Além disso,</p><p>determinada etapa só pode aparecer uma vez em cada coluna.</p><p>Portanto, apenas uma instrução pode iniciar por pulso, pois todas</p><p>devem executar BI inicialmente.</p><p>Convertendo o código</p><p>No módulo anterior, vimos as seguintes linhas de pseudocódigo de alto</p><p>nível:</p><p>Pseudocódigo De Alto Nível </p><p>Como podemos realizar essa operação no modelo RISC, onde não há</p><p>operações que façam adição de elementos diretamente da memória</p><p>(terceira premissa de um processador RISC)?</p><p>Para isso, precisaremos desmembrar a operação complexa em várias</p><p>simples:</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 24/35</p><p>Lembre-se de que na abordagem CISC esse código usava apenas uma</p><p>instrução – “ADDI M[&a], 5”.</p><p>Essa sequência de operações é exatamente a mesma do exemplo do</p><p>pipeline dado anteriormente:</p><p> 1</p><p>Buscar o valor da variavel a na memória (LOAD).</p><p> 2</p><p>Realizar a adição imediata de 5.</p><p> 3</p><p>Salvar o valor resultante em um registrador</p><p>(ADDI).</p><p> 4</p><p>Guardar o novo valor na variável a em memória</p><p>(STORE).</p><p>LOAD Reg1, M[&a]</p><p>ADDI Reg1, Reg1, 5</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 25/35</p><p>Podemos ver, na tabela de exemplo do pipeline, que esta simples</p><p>operação está levando dez ciclos de máquina (CLK). Então, não parece</p><p>tão vantajosa quando comparada a um CISC (que realizava em 7).</p><p>A diferença é que essas operações de LOAD e STORE, que são</p><p>custosas e atrasam o pipeline, não são usadas tantas vezes assim.</p><p>Com vários registradores, as variáveis são carregadas nos</p><p>registradores quando aparecem pela primeira vez e ficam sendo</p><p>operadas ali até que seja necessário usar esse registrador para outra</p><p>função.</p><p>Para obtermos uma Unidade de Controle menor, sem microprograma,</p><p>reduzimos o conjunto de instruções.</p><p>Agora, tente responder a próxima pergunta para refletir e consolidar</p><p>seus conhecimentos.</p><p>Atividade discursiva</p><p>De quem é a responsabilidade de converter a linguagem de alto nível</p><p>para esse conjunto reduzido de instruções?</p><p>STORE Reg1, M[&a]</p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 26/35</p><p>Digite sua resposta aqui</p><p>Chave de resposta</p><p>O ônus desse trabalho recai sobre o compilador, que precisará</p><p>otimizar a necessidade de acessar a memória para o mínimo</p><p>possível.</p><p>Exemplo</p><p>Veja algumas arquiteturas que usam a abordagem RISC:</p><p>Processador Ano Endereçame</p><p>MIPS 1981 R-R</p><p>ARM/A32 1983 R-R</p><p>SPARC 1985 R-R</p><p>PowerPC 1990 R-R</p><p>R-R</p><p>Tabela: Arquiteturas que usam abordagem RISC.</p><p>Leandro Ferreira.</p><p>Podemos perceber duas características comuns à abordagem RISC:</p><p>Tamanho �xo de instrução</p><p>Para simplificar a decodificação.</p><p>Operações com endereçamento</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 27/35</p><p>p ç ç</p><p>Registrador-Registrador.</p><p>Retorno à analogia da</p><p>hamburgueria</p><p>Analisaremos agora a rede de hambúrgueres RISC.</p><p>O dono da empresa resolveu contratar apenas cinco funcionários para</p><p>sua linha de montagem:</p><p>Processador de pedidos no</p><p>caixa</p><p>BI - Buscar Instrução.</p><p>Preparador</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 28/35</p><p>DI - Decodificar Instrução.</p><p>Montador</p><p>EXE - Execução.</p><p>Entregador</p><p>AM - Acesso à Memória.</p><p>Balconista</p><p>WB - WriteBack.</p><p>Os funcionários dessa loja devem saber montar pequenas partes de</p><p>pedidos: montar um hambúrguer, uma batata, um refrigerante etc.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 29/35</p><p>Os pedidos completos são feitos em uma série de pedidos menores.</p><p>Por exemplo:</p><p>Além disso, existe um pedido especial que tem a responsabilidade de</p><p>buscar ingredientes no mercado (LOAD) e um funcionário apenas para</p><p>fazer entregas em domicílio (STORE). Nesse caso, o conjunto de</p><p>pedidos menores ficaria assim:</p><p>Podemos perceber que, se houvesse uma série de pedidos de 1</p><p>hambúrguer apenas, teríamos uma sequência</p><p>LOAD/hambúrguer/STORE. Isso seria muito ruim, pois as operações</p><p>normais levam um tempo menor e fixo (um pulso de CLK), que</p><p>podemos definir como 1 minuto na analogia. Já a busca de</p><p>ingredientes e entrega em domicílio pode demorar vários pulsos de CLK</p><p>(por exemplo, 5 minutos).</p><p>Assim, o pedido de 1 hambúrguer para entrega demoraria 11 minutos,</p><p>que é o tempo próximo de um pedido similar na hamburgueria CISC (10</p><p>minutos). Todavia, se for possível otimizar o conjunto de pedidos para</p><p>buscar ingredientes uma única vez e fazer a entrega apenas no final,</p><p>montando 10 hambúrgueres de uma vez, teremos a entrega de 10</p><p>pedidos em 20 minutos – muito melhor que os 100 minutos da CISC.</p><p>Comentário</p><p>Podemos perceber o fator determinante no sucesso ou</p><p>no fracasso da abordagem RISC. Como vimos, o ônus de</p><p>otimizar as instruções a partir do código de alto nível é</p><p>do compilador, e, se for bem executado, as operações de</p><p>acesso à memória serão reduzidas e as operações em</p><p>registradores, priorizadas, fazendo o pipeline do</p><p>processador operar bem perto do ideal (1 instrução por</p><p>ciclo).</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 30/35</p><p>Comparação CISC x RISC</p><p>Agora que já sabemos como essas duas abordagens funcionam,</p><p>vamos assistir ao vídeo e compará-las!</p><p>Comparação entre as</p><p>arquiteturas CISC e RISC</p><p>Veja as diferenças e semelhanças, além das vantagens e desvantagens</p><p>entre as abordagens.</p><p>Tendências</p><p>Tendências de junção das</p><p>arquiteturas CISC e RISC nos</p><p>processadores atuais</p><p></p><p></p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 31/35</p><p>Como vimos, a abordagem CISC surgiu de forma natural, com a</p><p>evolução dos processadores;</p><p>na verdade, ela só foi assim denominada</p><p>após o surgimento da abordagem “rival”: RISC. Hoje em dia, como os</p><p>processadores tentam misturar as melhores características de ambas</p><p>as abordagens, é difícil encontrar processadores CISC “puros”. O mais</p><p>usual é encontrar processadores híbridos, que disponibilizam diversas</p><p>instruções complexas, com abordagem CISC, mas com um</p><p>subconjunto reduzido de instruções otimizadas, como na abordagem</p><p>RISC, capazes de serem executadas em pouquíssimos ciclos de clock.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>A abordagem RISC para a arquitetura do</p><p>processador tem diversas características e</p><p>peculiaridades. Assinale a alternativa que contém</p><p>duas dessas características.</p><p>A</p><p>Grande conjunto de instruções e</p><p>pipeline com poucos estágios.</p><p>B</p><p>Endereçamento múltiplo e pipeline</p><p>com poucos estágios.</p><p>C</p><p>Endereçamento tipo R-R e pequeno</p><p>conjunto de instruções.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 32/35</p><p>Parabéns! A alternativa C está correta.</p><p>A abordagem RISC tem como principais</p><p>características: pequeno conjunto de instruções,</p><p>endereçamento do tipo R-R (exceto por LOAD e</p><p>STORE), pipeline de poucos estágios e grande</p><p>quantidade de registradores.</p><p>Questão 2</p><p>Um processador RISC busca implementar um</p><p>pipeline pequeno e bastante eficiente. Com relação a</p><p>essa afirmação, podemos definir como pipeline ideal</p><p>aquele que teoricamente consiga executar:</p><p>D Endereçamento tipo R-M e grande</p><p>quantidade de registradores.</p><p>E</p><p>Endereçamento tipo M-M e grande</p><p>quantidade de registradores.</p><p>A 1 instrução a cada 5 pulsos de clock.</p><p>B 1 instrução por ciclo de clock.</p><p>C 2 instruções por ciclo de clock.</p><p>D 5 instruções por ciclo de clock.</p><p>E 10 instruções por ciclo de clock.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 33/35</p><p>Parabéns! A alternativa B está correta.</p><p>O pipeline ideal tenta realizar 1 instrução por ciclo,</p><p>com cada etapa sendo executada de forma</p><p>independente em 1 ciclo.</p><p>Embora cada instrução leve n ciclos para ser</p><p>executada (sendo n o número de estágios do</p><p>pipeline), o pipeline como um todo finaliza 1</p><p>instrução por ciclo.</p><p>Considerações �nais</p><p>Vimos como a evolução da arquitetura dos processadores aumentou a</p><p>sua complexidade. Com a inclusão de instruções mais complexas e</p><p>endereçamento múltiplo, essa abordagem viria a ser chamada de CISC</p><p>(Complex Instruction Set Computer – Computador com Conjunto</p><p>Complexo de Instruções).</p><p>Mas esse nome só apareceria após o surgimento de um novo</p><p>paradigma no projeto de processadores: a abordagem RISC (Reduced</p><p>Instruction Set Computer – Computador com Conjunto Restrito de</p><p>Instruções).</p><p>A abordagem RISC inovou a forma como os processadores eram</p><p>projetados, permitindo o surgimento de várias tecnologias que</p><p>possuímos hoje, como smartphones e Internet das Coisas (IoT -</p><p>Internet of Things), isto é, diversos aparelhos, como geladeiras, câmeras</p><p>e outros, conectados à Internet com processadores simples.</p><p>A presença das duas abordagens foi importante para tipos distintos de</p><p>sistemas. Atualmente, a maioria dos processadores utiliza uma</p><p>abordagem híbrida, tentando capitalizar no melhor dos dois mundos.</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 34/35</p><p>Podcast</p><p>Para encerrar, ouça uma discussão sobre as arquiteturas CISC e RISC,</p><p>incluindo uma comparação entre as suas principais características e</p><p>propriedades.</p><p></p><p>Explore +</p><p>Confira o que separamos especialmente para você!</p><p>Pesquise:</p><p>Os trabalhos sobre arquiteturas RISC feitos por</p><p>David Patterson e John Hennessy, autores</p><p>premiados na área.</p><p>O manual 8 Bit Parallel Central Processor Unit, que</p><p>contém as instruções para o processador Intel 8008.</p><p>O manual de referência do programador para o</p><p>processador Intel 286.</p><p>O manual de referência do programador para o</p><p>processador Intel 386.</p><p>Referências</p><p>22/11/2023, 14:51 Arquitetura CISC X RISC</p><p>https://stecine.azureedge.net/repositorio/00212ti/00436/index.html# 35/35</p><p>PATTERSON, D. A.; HENESSY, J. L. Organização e projeto de</p><p>computadores: a interface hardware/software. 4. ed. Rio de Janeiro:</p><p>Editora Elsevier, 2014.</p><p>ZELENOVSKY, R.; MENDONÇA, A. PC: um guia prático de hardware e</p><p>interfaceamento. 3. ed. Rio de Janeiro: MZ Editora, 2003.</p><p>Material para download</p><p>Clique no botão abaixo para fazer o</p><p>download do conteúdo completo em</p><p>formato PDF.</p><p>Download material</p><p>O que você achou do conteúdo?</p><p>Relatar problema</p><p>javascript:CriaPDF()</p><p>vez que</p><p>você enviou uma carta pelo correio?</p><p>O campo de desenvolvimento nessa área é muito amplo e inesperado.</p><p>Sempre surgem grandes ideias que, uma vez concretizadas, passam a</p><p>valer milhões ou bilhões de dólares. Vejamos as grandes ideias</p><p>responsáveis pelo aumento vertiginoso de valor das cinco maiores</p><p>empresas de computação do mundo:</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 29/60</p><p>Apple</p><p>PCs e, posteriormente, iPods e</p><p>iPads.</p><p>Microsoft</p><p>DOS e Windows (sistemas</p><p>operacionais).</p><p>Facebook</p><p>Redes sociais.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 30/60</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Escolha a alternativa que, respectivamente,</p><p>apresenta exemplos de software e de hardware em</p><p>um sistema computacional:</p><p>Alphabet</p><p>Mecanismo de busca na internet</p><p>(Google).</p><p>Amazon</p><p>Sistema de vendas on-line com</p><p>grande qualidade de serviço e</p><p>sem lojas físicas.</p><p>A Jogo de computador e placa de vídeo.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 31/60</p><p>Parabéns! A alternativa A está correta.</p><p>O jogo de computador é um software finalístico,</p><p>enquanto a placa de vídeo é um exemplo de</p><p>hardware periférico que permite a execução de jogos</p><p>com gráficos avançados.</p><p>Questão 2</p><p>Um sistema computacional precisa de um local para</p><p>armazenar os dados e os programas que nele serão</p><p>executados. Que elemento exerce essa função</p><p>essencial?</p><p>B Navegador de internet e driver de</p><p>rede.</p><p>C Planilha e editor de texto.</p><p>D Memória cache e disco rígido.</p><p>E Processador e fonte de alimentação.</p><p>A Memória secundária.</p><p>B Disco rígido.</p><p>C Memória cache.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 32/60</p><p>Parabéns! A alternativa D está correta.</p><p>Das quatro opções apresentadas, a única</p><p>considerada fundamental para o funcionamento de</p><p>um sistema computacional é a memória principal:</p><p>trata-se da implementação da fita teórica da</p><p>máquina universal pensada por Alan Turing.</p><p>3 - O papel do sistema computacional</p><p>Ao �nal deste módulo, você será capaz de interpretar o papel do sistema</p><p>operacional nos computadores.</p><p>O sistema operacional</p><p>D Memória principal.</p><p>E Unidade de fita.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 33/60</p><p>Sabemos que o sistema operacional (OS) é um dos</p><p>principais – e o mais conhecido – softwares de sistema.</p><p>Responsável por conhecer o hardware instalado no</p><p>computador, ele possui diversas funções importantes.</p><p>Como exemplo, temos: fornecer aos programas acessibilidade ao</p><p>processador e garantir transparência no acesso aos periféricos.</p><p>Neste módulo, destacaremos a importância do sistema operacional,</p><p>além de descrevermos sua evolução.</p><p>Funções do sistema</p><p>operacional</p><p>Vamos entender as funções do sistema operacional analisando o</p><p>seguinte exemplo:</p><p>Pense em um automóvel. Imagine-se como um motorista</p><p>(programa) ciente de que precisa acelerar, frear, passar</p><p>as marchas e virar para a direita e a esquerda a fim de</p><p>chegar a seu destino. Como motorista (programa), você,</p><p>então, é capaz de dirigir um automóvel (hardware) até um</p><p>destino.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 34/60</p><p>Mas o que aconteceria se, em vez de um carro, você estivesse a bordo</p><p>de uma motocicleta ou de um carro de Fórmula 1?</p><p>Note que os conceitos de acelerar, frear e virar são</p><p>parecidos, mas a forma com que são executados é</p><p>completamente diferente. O sistema operacional</p><p>funcionaria, então, como um intermediário que sabe</p><p>como executar cada operação em seu veículo</p><p>específico (hardware), para que programas possam</p><p>ser genéricos e independentes do hardware no qual</p><p>estão sendo executados.</p><p>Imagine, agora, que você decide entrar em um carro de Fórmula 1.</p><p>Como motorista (programa), em vez de descobrir como se troca de</p><p>marcha, precisa apenas pedir ao OS que o faça. Desse modo, o sistema</p><p>operacional recebe o pedido e o executa.</p><p>Confira agora algumas funções do OS!</p><p> A</p><p>Servir como uma camada de abstração entre o</p><p>hardware e a aplicação do usuário.</p><p> B</p><p>Cuidar da alocação do armazenamento e da</p><p>memória principal.</p><p>Ao pedir para executar um programa, o OS deve</p><p>alocar espaço na memória tanto para ele quanto</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 35/60</p><p>alocar espaço na memória tanto para ele quanto</p><p>para os dados que ele precisará manipular.</p><p> C</p><p>Nos computadores atuais, diversos programas</p><p>executam simultaneamente. Por uma</p><p>solicitação do usuário, alguns o fazem em</p><p>primeiro plano, enquanto outros rodam em</p><p>segundo (ou em background). Exemplo: Sempre</p><p>que iniciamos o computador, mandamos</p><p>executar alguns programas, como antivírus e</p><p>demais programas de comunicação, a saber:</p><p>Skype, Discord e WhatsApp.</p><p> D</p><p>Informar quando e quais programas ganham</p><p>acesso ao uso do processador.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 36/60</p><p>O Sistema Operacional é um programa intermediário que: gerencia os</p><p>recursos de hardware do computador, fornece acesso a eles para os</p><p>demais programas.</p><p>Peça fundamental de um computador, o OS é carregado</p><p>quando o ligamos. Mas os sistemas computacionais</p><p>carregam, primeiramente, um programa chamado BIOS</p><p>(Basic Input/Output System).</p><p>Ele fica gravado em uma memória não volátil, geralmente</p><p>em um chip da placa-mãe.</p><p>Ao ligarmos o computador, a memória está vazia, pois é volátil. Se não</p><p>houvesse o BIOS, não seria possível carregar o OS (que está em uma</p><p>memória secundária, geralmente, o disco rígido) em memória para ser</p><p>executado.</p><p> E</p><p>Escolher quando determinados programas</p><p>devem passar o uso do processador para outro</p><p>programa.</p><p>Este subsistema do OS é chamado de</p><p>escalonador. Como os processadores atuais</p><p>são normalmente compostos por muitos</p><p>núcleos, para decidir a alocação de seu tempo a</p><p>cada programa, o escalonador precisa levar em</p><p>conta:</p><p>Todos os núcleos disponíveis.</p><p>Características de cada programa</p><p>a ser executado.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 37/60</p><p>Atenção!</p><p>O sistema operacional ainda é um programa. Portanto,</p><p>sua execução depende desse carregamento em</p><p>memória.</p><p>Histórico</p><p>Tendências para o futuro dos</p><p>SO</p><p>Os primeiros sistemas operacionais eram específicos para as</p><p>máquinas que os empregavam. Basicamente, eles serviam de interface</p><p>entre os programas do usuário e o hardware. Veja sua evolução</p><p>histórica!</p><p>Anos 1970</p><p>Surge o Unix, um OS de uso geral muito difundido por ter</p><p>sido distribuído gratuitamente para o setor acadêmico e o</p><p>público nos Estados Unidos.</p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 38/60</p><p>Como ele não possuía uma interface gráfica, todos os seus</p><p>comandos eram dados via console a partir de um texto.</p><p>Exemplo</p><p>Se estiver em um Windows, segure a tecla Windows + R,</p><p>digite cmd e aperte Enter. No Linux, segure as teclas Ctrl +</p><p>Alt + T. Você verá o terminal aparecer. Podem ser dados ali</p><p>comandos de texto para executar programas em sua</p><p>máquina.</p><p>Anos 1980</p><p>A Microsoft começa a vender seu Sistema Operacional, o</p><p>MS-DOS, presente nos computadores comercializados pela</p><p>International Business Machine Corporation (IBM). Com</p><p>isso, esse sistema ganhou uma grande projeção no mundo</p><p>da computação.</p><p>Microsoft: a Microsoft, porém, destaca-se em relação à sua</p><p>concorrente direta ao apresentar um novo OS. O Windows,</p><p>afinal, permite a execução de programas em janelas ou</p><p>quadros que se superpunham a uma área de trabalho. O</p><p>Sistema Operacional Windows chegou a ocupar 90% do</p><p>mercado dos PCs.</p><p>Apple: a empresa Apple, por sua vez, lança uma versão de</p><p>seu OS que contém: interface gráfica e conceito de ícones</p><p>para representar</p><p>programas.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 39/60</p><p>Século XX</p><p>Vemos o nascimento de OS para os dispositivos móveis</p><p>(mobiles) que surgiam:</p><p>smartphones;</p><p>tablets;</p><p>smart TVs.</p><p>A Apple lança um sistema operacional exclusivo para seus</p><p>aparelhos: o iOS.</p><p>Enquanto isso, a Google e alguns parceiros desenvolvem o</p><p>OS Android. Ambos disputam o mercado de OS para mobile</p><p>e destronam a Microsoft, que, apesar de desenvolver o</p><p>Windows Mobile, depois, desiste dessa competição.</p><p>Tendências</p><p>Os sistemas operacionais são fundamentais para o bom</p><p>funcionamento dos sistemas computacionais. Com a integração de</p><p>computadores a celulares e tablets, existe um grande foco no</p><p>desenvolvimento e na melhoria de OS para mobile. Os principais são:</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 40/60</p><p>Android</p><p>iOS</p><p>Cálculos indicam a existência de mais de 8 bilhões de celulares no</p><p>mundo. Essa quantidade é maior que o número de indivíduos na Terra,</p><p>cuja população é formada por 7,5 bilhões de pessoas. Enquanto isso, o</p><p>número de microcomputadores pessoais é estimado em cerca de 2</p><p>bilhões de unidades.</p><p>Função, importância e</p><p>evolução dos sistemas</p><p>operacionais</p><p>Confira agora função, importância e evolução dos sistemas</p><p>operacionais.</p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 41/60</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Os sistemas operacionais modernos têm muitas</p><p>responsabilidades na tarefa de gerir os recursos de</p><p>um computador. Com isso, assinale a alternativa que</p><p>lista as tarefas do sistema operacional.</p><p>A</p><p>Executar processos, gerenciar</p><p>memória e periféricos.</p><p>B</p><p>Escalonar e executar processos,</p><p>gerenciar memória e periféricos.</p><p>C</p><p>Executar aplicativos e gerir as filas</p><p>das impressoras.</p><p>D</p><p>Escalonar processos, gerenciar</p><p>memória e periféricos.</p><p>E</p><p>Fazer os testes do hardware ao ligar o</p><p>computador.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 42/60</p><p>Parabéns! A alternativa D está correta.</p><p>Executar processos é tarefa do processador (CPU), a</p><p>tarefa do SO é escalonar os processos, ou seja,</p><p>determinar qual processo irá executar em um</p><p>determinado instante. Além disto, o S.O. gerencia</p><p>memória e periféricos.</p><p>Questão 2</p><p>Antes da carga do sistema operacional, um outro</p><p>software é responsável por inicializar o computador</p><p>e fazer as configurações e acessos ao disco</p><p>necessários para o seu correto funcionamento. Esse</p><p>software é chamado de:</p><p>Parabéns! A alternativa A está correta.</p><p>A BIOS (Basic Input Output System) é o software</p><p>responsável por testar o hardware ao ligar o</p><p>computador e dar início a carga do sistema</p><p>A BIOS.</p><p>B Device driver.</p><p>C Antivírus.</p><p>D Boot.</p><p>E Sistema inicial.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 43/60</p><p>operacional. É gravada em memória flash e seu</p><p>acesso independe de ação do usuário.</p><p>4 - Comunicação em rede e sistema</p><p>computacional</p><p>Ao �nal deste módulo, você será capaz de relacionar a importância da</p><p>comunicação em rede com os sistemas computacionais.</p><p>Origem da internet</p><p>A Internet</p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 44/60</p><p>Na década de 1960, os computadores já eram uma realidade</p><p>consolidada. Desse modo, o Departamento de Defesa Norte-Americano</p><p>resolveu iniciar os estudos para a construção de uma rede de</p><p>comunicação capaz de permitir trabalhos em conjunto de pessoas</p><p>muito distantes geograficamente. Assim, a ARPANET foi criada.</p><p>Evolução da ARPANET, uma rede de armazenamento de dados que, inicialmente, conectava</p><p>algumas universidades e alguns centros de pesquisa.</p><p>Pensado para possibilitar uma troca de informações, o conceito de</p><p>sistemas computacionais em rede necessariamente evoluiu,</p><p>permitindo, hoje em dia, a interação com diversas aplicações, o que era</p><p>uma realidade até então impensável para sistemas isolados.</p><p>A internet</p><p>Rede de redes</p><p>Na concepção original dos computadores, não se planejava fazer com</p><p>que vários deles se comunicassem entre si. Eles foram pensados</p><p>apenas como máquinas programáveis para solucionar problemas.</p><p>Nas décadas de 60 e 70 acontecia o nascimento da comunicação em</p><p>rede.</p><p> 1960</p><p>Na década de 1960, surgiu a ideia de conectar</p><p>computadores espalhados pelos centros</p><p>acadêmicos norte americanos</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 45/60</p><p>No entanto, conectar computadores não era fácil. Foi necessário:</p><p>Comunicação entre computadores</p><p>Lançar meios de comunicação (como fios de cobre ou</p><p>enlaces de rádio) entre os dois computadores.</p><p>Protocolos de comunicação</p><p>Criar protocolos para que ambos pudessem entender</p><p>como falar entre si, pois eles precisam de um hardware</p><p>para enviar e receber dados em rede.</p><p>Conforme outras redes iam se juntando, crescia a rede de redes (que</p><p>passou a ser chamada de internet em 1986). Os computadores</p><p>pessoais já estavam entrando no mercado, e as pessoas queriam se</p><p>conectar de suas casas.</p><p>Internet discada</p><p>Por uma questão de simplicidade, as empresas de telefonia assumiram</p><p>o papel de prover conexão à internet para os usuários domésticos.</p><p>Surgia, assim, o modem de internet discada, que se conectava como se</p><p>estivéssemos fazendo um telefonema e atingia taxas de transmissão</p><p>de 14400 bps (s por segundo).</p><p>acadêmicos norte-americanos.</p><p> 1970</p><p>A ARPANET foi montada para permitir o</p><p>trabalho de pesquisa em conjunto por pessoas</p><p>nas duas costas dos Estados Unidos. Essa</p><p>ligação foi efetivada em 1970, surgindo, dessa</p><p>forma, a primeira rede a integrar a internet.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 46/60</p><p>Endereço IP e roteador</p><p>Uma das barreiras a serem vencidas para interligar tantas máquinas foi</p><p>a forma de endereçamento, ou seja, como identificar unicamente um</p><p>computador com o qual se deseja falar. A solução foi dar um endereço</p><p>– como o da sua casa, por exemplo – para cada máquina. Trata-se de</p><p>um processo denominado endereço IP, abreviação de Internet Protocol</p><p>(ou Protocolo de Internet, em português).</p><p>O endereço IP consistia em uma sequência de quatro números entre 0</p><p>a 255 (representados em 8 bits).</p><p>Como exemplos de endereço IP, temos:</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 47/60</p><p>127.0.0.1</p><p>192.168.1.1</p><p>8.8.8.8</p><p>Em posse do endereço de destino, um pacote (também chamado de</p><p>datagrama) é enviado através das diversas redes existentes entre o</p><p>remetente e o destino. Nas fronteiras delas, existem os roteadores, que</p><p>funcionam como agências de correio e escolhem a rota que o pacote</p><p>seguirá para chegar a seu destino. Dessa forma, passando de roteador</p><p>em roteador, o pacote de dados consegue alcançá-lo com a sua</p><p>mensagem.</p><p>Exemplo de estrutura de roteamento </p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 48/60</p><p>Internet - Rede Mundial de Computadores.</p><p>Tier 3 Network - Rede de camada 3, que</p><p>costuma prover acesso à internet para a</p><p>maioria dos usuários caseiros.</p><p>Metro-fiber - Fibra ótica metropolitana,</p><p>geralmente usada por empresas para ter</p><p>acesso de banda larga à internet.</p><p>Ethernet - Rede local cabeada.</p><p>PSTN - Public Switched Telephone Network -</p><p>Rede de telefonia local, base de conexão</p><p>inicial à internet.</p><p>Leased line - Linha (alugada) que fornece</p><p>conexão dedicada à PSTN.</p><p>Router - Roteador.</p><p>PABX - Private Automatic Branch Exchange -</p><p>Serviço de ramais telefônicos locais,</p><p>geralmente usados em empresas.</p><p>Cable Operator - Empresa de serviço de</p><p>televisão a cabo que também pode prover</p><p>acesso à internet.</p><p>Cable plant - Interligação do cabo até a casa</p><p>do assinante.</p><p>Cable customer - Assinante do serviço de TV</p><p>a cabo.</p><p>DSLAM - Digital</p><p>Subscriber Line Access</p><p>Multiplexer - Multiplexador que permite o uso</p><p>de linhas telefônicas convencionais para</p><p>acesso à internet (banda larga).</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 49/60</p><p>ADSL - Assymetrical Digital Subscriber Line -</p><p>Tecnologia para transmissão de dados em</p><p>banda larga sobre o par trançado de cobre</p><p>(linha telefônica comum).</p><p>ADSL customer - Assinantes de linha ADSL</p><p>(geralmente telefone mais acesso à internet</p><p>via empresa telefônica). O triple play indica</p><p>que também há sinal de televisão e que todo</p><p>o serviço é feito via internet (roteador na</p><p>entrada da casa).</p><p>POTS - Plain Old Telephone Service - Linha</p><p>telefônica comum. Nas origens de acesso à</p><p>internet, os modems enviavam sinais por</p><p>meio de uma ligação telefônica convencional</p><p>entre o usuário e o provedor de serviço de</p><p>acesso à internet.</p><p>E-mail e páginas disponíveis na rede</p><p>A conexão de tantos usuários em rede não trouxe só dificuldades</p><p>técnicas a serem superadas como também – e principalmente –</p><p>propiciou a criação de oportunidades para outros mercados e outras</p><p>tecnologias.</p><p>Inicialmente, os correios eletrônicos (e-mail) eram</p><p>transmitidos por rede em uma analogia direta com o</p><p>sistema de correios em que se baseou o conceito da</p><p>ARPANET. Passadas três décadas, o sistema tradicional</p><p>de correios raramente transporta cartas, limitando-se a</p><p>encomendas e boletos. A maior parte do tráfego de</p><p>correio é eletrônico.</p><p>Da mesma forma, quando se desenvolveu o conceito de páginas</p><p>disponíveis na rede (originalmente chamado de World Wide Web:</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 50/60</p><p>WWW) e se criou um navegador capaz de passear por essa rede de</p><p>páginas, surgiu o que a maior parte das pessoas entende ser a internet.</p><p>Essa tecnologia mudou a maneira como:</p><p>Fazemos comércio (por meio de sites de e-</p><p>commerce);</p><p>Vamos ao banco (internet banking);</p><p>Acessamos serviços públicos (a maioria está</p><p>disponível na rede);</p><p>Adquirimos informação.</p><p>Páginas de pesquisa, chats e programas de troca</p><p>de mensagens</p><p>Para organizar a procura por tanta informação e pelas páginas</p><p>disponíveis na World Wide Web, o software de busca Google se</p><p>mostrou vitorioso entre diversos concorrentes.</p><p>Atualmente, é possível buscar qualquer página ou tópico</p><p>na web. Isso tornou a Google uma das empresas mais</p><p>ricas do mundo.</p><p>Após alguns anos, as pessoas se acostumaram a ficar sentadas diante</p><p>de seus computadores, estando conectadas à internet em grande parte</p><p>do dia. Com essa nova realidade, a comunicação por e-mail ficou lenta,</p><p>pois podia levar dias para que uma troca de mensagens fosse</p><p>realizada. Surgiram, então, os servidores de chat, nos quais os usuários</p><p>podiam interagir entre si em tempo real. O IRC, por exemplo, é usado</p><p>até hoje. Também foram desenvolvidos programas de trocas de</p><p>mensagem, como o ICQ.</p><p>IRC</p><p>Internet Relay Chat – Protocolo de comunicação usado na internet</p><p>para troca de arquivos e bate-papo.</p><p>Comentário</p><p>Ao longo dos anos, com a criação de smartphones, o ICQ</p><p>(e seus demais concorrentes) foram naturalmente</p><p>substituídos por versões mais modernas, como</p><p>WhatsApp, Telegram e Discord.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 51/60</p><p>Interação entre usuários</p><p>Com a conexão de diversos usuários domésticos, uma nova geração</p><p>que crescia na década de 1990 via seus jogos eletrônicos começarem</p><p>a permitir uma interação entre usuários.</p><p>Inicialmente, essa interação foi realizada em redes locais</p><p>(chamadas de LAN), o que impulsionou o surgimento de</p><p>LAN houses: lojas onde era possível jogar em rede</p><p>usando os computadores e a LAN dos estabelecimentos.</p><p>Em um processo de evolução natural, as empresas</p><p>começaram a realizar jogos por meio da internet.</p><p>Com sua Battle.net, a Blizzard Entertainment pavimentou o caminho</p><p>para o surgimento do que é conhecido como e-sports: jogos</p><p>competitivos entre usuários de computador via internet.</p><p>Battle.net</p><p>Serviço criado em 1997 pela Blizzard Entertainment para o game</p><p>Diablo, com o objetivo de prover serviços de jogo multijogador on-</p><p>line pela internet. Esse conceito superou o de jogos e redes locais,</p><p>os quais, até então, predominavam. Hoje em dia, a maioria dos</p><p>jogos multijogadores já funciona via internet, como foi</p><p>pioneiramente proposto pelo Battle.net.</p><p>Blizzard Entertainment</p><p>Sediada na Califórnia, esta empresa de jogos eletrônicos norte-</p><p>americana foi criada em 1991 sob o nome Silicon & Synapse. Ela é</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 52/60</p><p>conhecida por jogos como Lost vikings, Warcraft, Starcraft, Diablo e</p><p>Overwatch.</p><p>Banda larga, streaming e aplicativos</p><p>Banda larga</p><p>Graças ao desenvolvimento de novas tecnologias de transmissão,</p><p>como a fibra ótica, o aumento da banda de internet disponível ao</p><p>usuário doméstico permitiu que novos serviços fossem oferecidos,</p><p>como música e vídeo via internet.</p><p>Atualmente, testemunhamos a gradual – embora inevitável –</p><p>substituição da televisão por serviços de streaming, como:</p><p>Net�ix</p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 53/60</p><p>YouTube</p><p>De fato, a profissão de influenciador digital já é algo rentável.</p><p>Novos conceitos de programas surgiram quando passamos a estar</p><p>conectados em nível pessoal. Os celulares se tornaram computadores</p><p>de bolso, e a tecnologia de comunicação de dados permite, hoje,</p><p>transmissões até de vídeo (acima de 1 Mbps – bilhão de bits por</p><p>segundo). Por isso, as pessoas estão cada vez mais conectadas a todo</p><p>momento.</p><p>Os aplicativos de mensagem, as redes sociais e até os jogos migraram</p><p>para os celulares. Dessa forma, surgiram aplicativos colaborativos</p><p>para:</p><p>Waze</p><p>Evitar engarrafamentos nas</p><p>cidades grandes.</p><p>Uber</p><p>Locomover-se, substituindo,</p><p>serviços de táxi.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 54/60</p><p>Tendências</p><p>Elon Musk.</p><p>A conexão em rede dos computadores mudou o</p><p>paradigma de uso dessas máquinas, moldando diversos</p><p>hábitos de nossa sociedade. Atualmente, o mundo</p><p>caminha em direção à conectividade plena. A maioria</p><p>dos aplicativos já é planejada para trabalhar conectada à</p><p>internet ou contém funcionalidades adicionais que</p><p>dependem de tal conexão.</p><p>Tinder</p><p>Buscar relacionamentos.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 55/60</p><p>Cientistas e engenheiros trabalham em soluções para</p><p>entregar uma rede de comunicação que permita o</p><p>acesso à internet de qualquer ponto do planeta. O</p><p>chamado Projeto Starlink é encabeçado pelo futurista</p><p>Elon Musk e por sua empresa SpaceX.</p><p>Inovações tecnológicas que a</p><p>internet possibilitou</p><p>Confira agora as inovações tecnológicas que a operação de rede</p><p>possibilitou em diversos ramos.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>Questão 1</p><p>Diversas tecnologias, desde cabos que conectam os</p><p>computadores a protocolos de comunicação, são</p><p>necessárias para o funcionamento da internet.</p><p>Qual é o elemento responsável por determinar os</p><p>caminhos e enviar os pacotes de dados entre as</p><p>redes que compõem a internet?</p><p></p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 56/60</p><p>Parabéns! A alternativa B está correta.</p><p>Os roteadores são os responsáveis por determinar</p><p>as rotas intermediárias e transmitir os pacotes entre</p><p>redes para que eles possam chegar ao destino. O</p><p>cerne da internet é de roteadores de grande</p><p>capacidade dos ISP (provedores de serviço de</p><p>internet), que fazem conexões entre si com cabos de</p><p>altíssima velocidade.</p><p>Questão 2</p><p>Discutimos como a conexão de computadores em</p><p>rede e o posterior surgimento da internet foram</p><p>importantes para o desenvolvimento e a relevância</p><p>da área da computação. Uma das principais</p><p>tecnologias desenvolvidas na área foi a World Wide</p><p>Web (WWW), muitas</p><p>vezes confundida com a própria</p><p>internet.</p><p>Assinale a alternativa que apresenta o que é a WWW.</p><p>A Correio eletrônico.</p><p>B Roteador.</p><p>C Transmissor.</p><p>D Modem.</p><p>E Rádio</p><p>A</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 57/60</p><p>Parabéns! A alternativa D está correta.</p><p>A World Wide Web é o conjunto de páginas de</p><p>hipertexto (texto com links para outras páginas) que</p><p>surgiu no início da difusão da internet – o principal</p><p>serviço utilizado nela. Ao iniciarmos nosso</p><p>programa navegador de internet (em browsers como</p><p>Chrome, Firefox, Safari ou Internet Explorer),</p><p>navegamos pelas páginas da WWW. Há diversos</p><p>outros serviços que utilizam a internet para se</p><p>conectar aos usuários, como e-mail, mensagens</p><p>instantâneas, jogos on-line etc.</p><p>Considerações �nais</p><p>Rede mundial de computadores e</p><p>roteadores.</p><p>B</p><p>Conjunto de programas disponíveis</p><p>on-line.</p><p>C</p><p>Conjunto de empresas que</p><p>disponibiliza serviços on-line.</p><p>D</p><p>Conjunto de páginas hospedadas em</p><p>servidores e ligadas por conexões</p><p>chamadas de links.</p><p>E Conjunto de aplicativos da internet.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 58/60</p><p>Visitamos os principais eventos históricos que culminaram na criação</p><p>dos computadores, observando seu desenvolvimento desde o início até</p><p>os dias atuais.</p><p>Como pudemos observar, hoje em dia, os computadores estão por toda</p><p>parte e são responsáveis pelas empresas de maior valor de mercado no</p><p>mundo. Por isso, a área de Ciência da Computação oferece diversas</p><p>possibilidades de emprego, provando estar em franca expansão.</p><p>Além disso, entendemos o funcionamento básico de um computador e</p><p>demonstramos de que forma ocorreu a evolução da intercomunicação</p><p>dos sistemas computacionais.</p><p>Podcast</p><p>Ouça agora as grandes empresas e o impacto do desenvolvimento</p><p>tecnológico no mundo da computação.</p><p></p><p>Explore +</p><p>Confira as indicações que separamos especialmente para você!</p><p>Busque e assista aos vídeos:</p><p>Processador (CPU) – principais características. Dell</p><p>Suporte Brasil, 2016.</p><p>Introdução ao roteamento de pacotes IP. Núcleo de</p><p>Informação e Coordenação do Ponto BR (NIC.br),</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 59/60</p><p>2014.</p><p>Pesquise e leia as matérias e os artigos:</p><p>DANIELE, A. Saiba por que o Dia da Informática é</p><p>comemorado em 15 de agosto. Revista Exame.</p><p>Publicado em: 15 ago. 2014.</p><p>HAUTSCH, O. O que é um transistor e por que ele é</p><p>importante para o computador? TecMundo.</p><p>Publicado em: 8 fev. 2010.</p><p>JORDÃO, F. Como funciona um Circuito Integrado.</p><p>TecMundo.Publicado em: 21 out. 2013.</p><p>PRESSE, F. SpaceX lança primeiros satélites para</p><p>rede que vai prover internet do espaço. G1.</p><p>Publicado em: 24 maio 2019.</p><p>Busque e assista ao filme:</p><p>The imitation game. Direção: Morten Tyldum.</p><p>Estados Unidos: Black Bear Pictures, 2014. 114 min.</p><p>Referências</p><p>HOUAISS. Dicionário Eletrônico Houaiss da Língua Portuguesa. CD-</p><p>ROM, 2002.</p><p>PATTERSON, D. A.; HENESSY, J. L. Organização e projeto de</p><p>computadores: a interface hardware/software. 4. ed. Rio de Janeiro:</p><p>Elsevier, 2014.</p><p>SHANNON, C. E. A mathematical theory of communication. Bell System</p><p>Technical Journal, v. 27, p. 379-423, 1947.</p><p>STATISTA. The 100 largest companies in the world by market value in</p><p>2019. Statista, 2019.</p><p>TURING, A. M. On computable numbers, with an application to the</p><p>entscheidungs problem. Proceedings of the London Mathematical</p><p>Society, v. 42, p. 230-265, 1937.</p><p>ZELENOVSKY, R.; MENDONÇA, A. PC: um guia prático de hardware e</p><p>interfaceamento. 3. ed. Rio de Janeiro: MZ Editora, 2003.</p><p>22/11/2023, 14:42 Base Computacional</p><p>https://stecine.azureedge.net/repositorio/00212ti/00403/index.html# 60/60</p><p>Material para download</p><p>Clique no botão abaixo para fazer o</p><p>download do conteúdo completo em</p><p>formato PDF.</p><p>Download material</p><p>O que você achou do conteúdo?</p><p>Relatar problema</p><p>javascript:CriaPDF()</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 1/65</p><p>Componentes de hardware</p><p>Prof. Fabio Henrique Silva</p><p>Descrição</p><p>A importância e a utilização dos componentes de hardware dos</p><p>computadores.</p><p>Propósito</p><p>Aprender que um sistema de computação é um conjunto</p><p>interconectado e inter-relacionado de componentes principais e</p><p>subcomponentes.</p><p>Objetivos</p><p>Módulo 1</p><p>Estrutura básica de um computador</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 2/65</p><p>Identificar a estrutura básica de um computador.</p><p>Módulo 2</p><p>Subsistemas de processamento,</p><p>memória e entrada e saída</p><p>Examinar os princípios básicos dos subsistemas de processamento,</p><p>memória e entrada e saída.</p><p>Módulo 3</p><p>Sistema operacional</p><p>Registrar o que é mais importante sobre o sistema operacional.</p><p>Introdução</p><p>Um sistema de computação é um conjunto de um conjunto de</p><p>componentes principais e subcomponentes, que são</p><p>fundamentais para o funcionamento do computador. Dessa</p><p>forma, há uma estrutura básica, comum a todos eles, mas que</p><p>possuem especificações distintas, de acordo com a intenção</p><p>de uso do computador.</p><p>Compreender a importância e a correta utilização dos</p><p>componentes de hardware dos computadores é de grande</p><p>relevância para que sejam escolhidos os sistemas primários e</p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 3/65</p><p>subsistemas adequados para a necessidade de uso do</p><p>usuário.</p><p>Assim, neste conteúdo, você compreenderá quais são os</p><p>componentes vitais de um computador. Também aprenderá</p><p>quais são os principais subsistemas de hardware de um</p><p>computador e seus princípios básicos. Por fim, compreenderá</p><p>o básico sobre o que é um sistema operacional e qual a sua</p><p>função em um computador.</p><p>1 - Estrutura básica de um computador</p><p>Ao �nal deste módulo, você será capaz de identi�car a estrutura básica de</p><p>um computador.</p><p>Sistemas de computação</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 4/65</p><p>O que é um Sistema?</p><p>A área conhecida como implementação de</p><p>computadores se relaciona, em geral, com a abordagem</p><p>de aspectos que são desnecessários ao programador.</p><p>Por exemplo, a tecnologia usada na construção da</p><p>memória, a frequência do relógio, sinais de controle para</p><p>iniciar as micro-operações etc.</p><p>A implementação de computadores difere do conceito de arquitetura</p><p>de computadores, cujo termo se relaciona, em geral, ao tratamento de</p><p>pontos que são de interesse do programador, a saber, conjunto de</p><p>instruções do processador, tamanho da palavra, modos de</p><p>endereçamento de instruções, entre outros. A implementação de</p><p>computadores e a arquitetura de computadores estão inseridas no</p><p>domínio mais geral dos sistemas de computação. Podemos citar como</p><p>alguns exemplos de sistema:</p><p>Sistemas</p><p>Conjuntos de partes coordenadas que concorrem para a realização de um</p><p>determinado objetivo (MONTEIRO, 2007).</p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 5/65</p><p>A definição de computação pode ser entendida como a realização de</p><p>cálculos de forma ordenada ou apenas a manipulação de valores.</p><p>Partindo dessa definição, como você definiria um sistema de</p><p>computação?</p><p>Resposta</p><p>Um sistema de computação é um conjunto de partes</p><p>coordenadas que concorrem para a realização do</p><p>objetivo de computar (dados).</p><p>Antes de avançarmos, é necessário que você conheça algumas</p><p>definições de termos importantes:</p><p></p><p>Sistema jurídico</p><p>Sistema nervoso</p><p>Sistema de informação</p><p>Sistema familiar</p><p>Sistema social</p><p>Sistema solar</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 6/65</p><p>Dados</p><p>Constituem um conjunto de fatos em estado bruto a</p><p>partir dos quais conclusões podem ser tiradas.</p><p></p><p>Informação</p><p>É a inteligência e o conhecimento derivados dos dados.</p><p>Outro termo importante que devemos incluir no vocabulário é o data</p><p>processing ou, processamento</p><p>de dados que consiste em uma série de</p><p>atividades ordenadamente realizadas (receita de bolo), com o objetivo</p><p>de produzir um arranjo determinado de informações a partir de outras</p><p>obtidas inicialmente.</p><p>Veja a seguir as etapas de um processamento de dados:</p><p>Etapas do processamento de dados.</p><p>Linguagem de programação</p><p>Sistemas, dados e informação</p><p>Um algoritmo pode ser formalizado em comandos de uma linguagem</p><p>de programação, entendida pelo sistema de computação. Por exemplo,</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 7/65</p><p>um algoritmo para soma de 100 números (1 a 100) está exemplificado,</p><p>a seguir - exemplo adaptado de Monteiro (2007, p. 9):</p><p> 1</p><p>Escrever e guardar N = 0 e SOMA = 0</p><p> 2</p><p>Ler número da entrada</p><p> 3</p><p>Somar valor do número ao de SOMA e guardar</p><p>resultado como SOMA</p><p> 4</p><p>Somar 1 ao valor de N e guardar resultado como</p><p>novo N</p><p> 5</p><p>Se valor de N for menor que 100 então passar</p><p>para item 2</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 8/65</p><p>Tipos de linguagens</p><p>Um programa pode ser escrito em diferentes tipos de linguagens, por</p><p>exemplo, Assembly, Pascal, C, Cobol, Basic etc.</p><p>Uma linguagem de máquina (código de máquina) é formada por</p><p>sequências de bits que representam as operações. Dessa forma, temos</p><p>a seguinte comparação:</p><p> 6</p><p>Se não for, imprimir valor de SOMA</p><p> 7</p><p>Parar</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 9/65</p><p>Linguagem de</p><p>baixo nível de</p><p>abstração</p><p>Usa os chamados</p><p>mnemônicos ao</p><p>invés de bits. Está</p><p>relacionada</p><p>diretamente à</p><p>arquitetura do</p><p>processador.</p><p>Pode ser</p><p>conhecida como</p><p>linguagem de</p><p>montagem e</p><p>Assembly.</p><p>Linguagem de alto</p><p>nível de abstração</p><p>Possui um nível</p><p>de abstração</p><p>relativamente</p><p>elevado, mais</p><p>afastado da</p><p>linguagem de</p><p>montagem e mais</p><p>próximo à</p><p>linguagem</p><p>humana.</p><p>Exemplos: Pascal,</p><p>Fortran, C++,</p><p>Delphi.</p><p>Mnemônicos</p><p>Mnemônicos são sintaxes que designam as instruções de operações.</p><p>Organização de um sistema</p><p>de computação</p><p>Organização básica de um</p><p>sistema de computação</p><p></p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 10/65</p><p>A organização funcional de um sistema de computação (S.C.) possui</p><p>os seguintes componentes:</p><p>Dispositivo de entrada</p><p>Exemplos dispositivo de entrada.</p><p>Dispositivo de saída</p><p>Exemplos dispositivo de saída.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 11/65</p><p>Veja a seguir qual é a relação de funcionamento entre estes</p><p>componentes:</p><p>Processador</p><p>Exemplos processador.</p><p>Memória principal</p><p>(primária)</p><p>Exemplos Memória principal.</p><p>Memória secundária</p><p>Exemplos Memória secundária.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 12/65</p><p>Componentes de um sistema de computação.</p><p>A Arquitetura de John von Neumann (pronuncia-se fon Noiman) foi</p><p>concebida a partir de 1946, precursora da arquitetura que conhecemos</p><p>hoje. Ela possibilita a uma máquina digital armazenar seus programas</p><p>no mesmo espaço de memória que os dados, permitindo, assim, a</p><p>manipulação de tais programas.</p><p>John von Neumann (1903-1957) foi um matemático</p><p>húngaro, considerado um dos grandes gênios da</p><p>humanidade.</p><p>Possui contribuições em diversas áreas do</p><p>conhecimento, desde a Economia, Teoria dos Jogos,</p><p>Computação até a Física Nuclear.</p><p>John von Neumann.</p><p>A arquitetura a seguir é um projeto modelo de um computador digital</p><p>de programa armazenado que utiliza uma unidade de processamento</p><p>(CPU) e uma de armazenamento (memória) para comportar,</p><p>respectivamente, instruções e dados, conforme ilustrado.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 13/65</p><p>Projeto modelo de um computador digital.</p><p>Barramento</p><p>Fundamentalmente, todo sistema de computação (computador) é</p><p>organizado (funcionalmente) em três grandes módulos ou</p><p>subsistemas:</p><p>1</p><p>Processador</p><p>2</p><p>Memória</p><p>3</p><p>Entrada/saída (E/S)</p><p>Como se trata de componentes eletrônicos, a comunicação e o</p><p>controle entre eles realiza-se por sinais elétricos que percorrem fios.</p><p>Estes fios são chamados, em conjunto, de barramento.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 14/65</p><p>Organização funcional de um S.C.</p><p>A partir do que foi apresentado e com base em seus conhecimentos,</p><p>você sabe definir qual é a função do barramento?</p><p>Resposta</p><p>Barramento é um conjunto de fios que têm por função</p><p>transportar sinais de informação e sinais de controle e</p><p>comunicação entre os componentes interligados.</p><p>Sinais de informação</p><p>São bits, transportados entre o processador e demais componentes</p><p>(memória ou periféricos), vice-versa.</p><p>Sinais de controle e comunicação</p><p>Pulsos, que surgem em duração e intervalo de tempo distintos conforme</p><p>sua função. Cada um deles serve a um propósito diferente.</p><p>Veja a seguir os tipos de barramento:</p><p>Barramentos de dados (BD)</p><p>São bidirecionais, transportam bits de dados entre o</p><p>processador e outro componente, vice-versa.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 15/65</p><p>Barramentos de endereços (BE)</p><p>São unidirecionais, transportam bits de um endereço de</p><p>acesso de memória ou de um dispositivo de E/S, do</p><p>processador para o controlador do barramento.</p><p>Barramentos de controle (BC)</p><p>Possuem fios que enviam sinais específicos de controle e</p><p>comunicação durante uma determinada operação.</p><p>A soma dos fios do BC, do BD e do BE é igual ao total de pinos do</p><p>processador ou total de furos do soquete, ou seja: Totalpinos = BD + BE</p><p>+ BC.</p><p>Em uma operação de transferência ou acesso (seja para leitura ou para</p><p>escrita, exemplificado na (figura A), o barramento é único, embora</p><p>dividido em grupos de fios que realizam funções diferentes (figura B):</p><p>Figura A</p><p>Uma operação de acesso do processador à memória principal.</p><p>Figura B</p><p>Divisão do barramento em grupos de fios com funções diferentes.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 16/65</p><p>Operação de transferência.</p><p>Se o processador precisar de um dado específico ao longo da execução</p><p>de uma instrução, ele saberá o endereço dele, que, por exemplo, é o</p><p>endereço 37 em decimal, 0000100101 em binário [com o barramento</p><p>de endereços (BE) possuindo 10 fios]. Ao acessar o endereço</p><p>especificado através do barramento de endereços, o processador,</p><p>então, realizará uma operação de leitura, transferindo o dado, por</p><p>exemplo, 7510, que se encontra no interior da célula de memória, pelo</p><p>barramento de dados (BD). O barramento de controle (BC) será</p><p>responsável pelos sinais de controle (exemplificados a seguir).</p><p>Após o dado chegar ao processador e ser processado, um dado</p><p>resultante desse processamento poderá agora seguir pelo BD, para ser</p><p>armazenado em um endereço de memória, em uma operação</p><p>denominada operação de escrita. O exemplo aqui descrito encontra-se</p><p>ilustrado na figura a seguir:</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 17/65</p><p>Funcionamento dos BE, BD e BC.</p><p>Com a finalidade de complementar os estudos a respeito de</p><p>barramentos, vejamos o vídeo a seguir.</p><p>Tipos de barramentos</p><p>Assista a uma breve explanação das características de cada um dos</p><p>tipos de barramentos.</p><p>Processadores</p><p></p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 18/65</p><p>Funções básicas de um</p><p>processador</p><p>Os processadores são projetados com a capacidade de realizarem</p><p>diretamente (pelo hardware) pequenas e simples (primitivas)</p><p>operações, tais como:</p><p> Executar operações aritméticas com 2</p><p>números (somar, subtrair, multiplicar,</p><p>dividir)</p><p> Mover um número (dado) de um local</p><p>para outro</p><p> Mover um número (dado) de dispositivo</p><p>de entrada ou de saída</p><p> Desviar a sequência de controle</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 19/65</p><p>A execução de um comando em linguagem de alto nível (por exemplo,</p><p>Pascal), como X = A + B requer, primeiro, sua conversão para instruções</p><p>de máquina e, em seguida, sua execução propriamente dita (figura), ou</p><p>seja, somar o valor indicado por A com o valor indicado por B e</p><p>armazenar o resultado no local indicado por A.</p><p>Uma mesma instrução em linguagens diferentes.</p><p>Os processadores, então:</p><p>Interpretam</p><p>O que fazer (qual a operação – no exemplo anterior, a</p><p>operação era SOMAR).</p><p>Executam</p><p>A operação (como fazer– algoritmo para completar a</p><p>operação propriamente dita).</p><p>Uma instrução de máquina consiste no conjunto de bits que identifica</p><p>uma determinada operação primitiva a ser realizada diretamente pelo</p><p>hardware, por exemplo, 1001 00111 00001.</p><p>Podemos citar como exemplos de operações primitivas:</p><p>Operações aritméticas– Somar, subtrair, multiplicar e</p><p>dividir;</p><p>Operações lógicas– AND, OR, XOR;</p><p>Operações de entrada e saída de dados;</p><p>Operações de desvio de controle;</p><p>Operações de movimentação de dados.</p><p>Instrução de máquina</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 20/65</p><p>Ações que podem ser realizadas por meio de instruções de máquina de</p><p>acordo com Monteiro (2007, p.181):</p><p>Transferir uma palavra de acordo de uma célula para outra;</p><p>Efetuar a soma entre dois operandos, guardando o resultado em um deles</p><p>ou em um terceiro operando;</p><p>Desviar incondicionalmente para outro endereço fora da sequência;</p><p>Testar uma condição. Se o teste for verdadeiro, então desviar para outro</p><p>endereço fora da sequência;</p><p>Realizar uma operação lógica AND entre dois valores;</p><p>Parar a execução de um programa;</p><p>Adicionar 1 ao valor de um operando;</p><p>Transferir um byte de dados de uma porta de E/S para a MP;</p><p>Transferir um byte de dados da MP para uma porta de E/S;</p><p>Substituir o operando por seu valor absoluto.</p><p>Ciclo de instruções</p><p>Você sabe a diferença entre conjunto de instrução e ciclo de instrução?</p><p>Conjunto de instruções são todas as possíveis instruções que podem</p><p>ser interpretadas e executadas por um processador. Por exemplo, o</p><p>Intel 8080 tinha 78 instruções de máquina, o Pentium 4 tinha 247;</p><p>Ciclo de instruções é um conjunto de instruções de máquina</p><p>sequencialmente organizadas para a execução de um programa.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 21/65</p><p>Ciclo de instrução.</p><p>O formato básico de uma instrução de máquina é constituído de duas</p><p>partes. Vamos conferir!</p><p>Código de operação (C.Op.): Identificação da operação a ser realizada.</p><p>Operando(s) (Op.): Pode ter 1, 2 ou 3.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 22/65</p><p>Instruções de máquina com um, dois e três operandos.</p><p>Tendências</p><p>Desde a sua criação, o progresso tecnológico da computação foi um</p><p>dos fatos mais extraordinários da humanidade. Hoje, por menos de</p><p>R$1.000,00 é possível comprar um telefone celular com um</p><p>desempenho equivalente ao computador mais rápido do mundo</p><p>comprado em 1993 por US$50 milhões. Esse rápido progresso veio dos</p><p>avanços na tecnologia usada para construir computadores e das</p><p>inovações no design de computadores.</p><p>Reflita sobre o que virá no futuro, e sobre que tipos de conhecimentos</p><p>devem ser adquiridos para almejar a vanguarda da atuação na área de</p><p>computação.</p><p>Evolução no design de computadores.</p><p>Falta pouco para atingir seus objetivos.</p><p>Vamos praticar alguns conceitos?</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 23/65</p><p>Questão 1</p><p>A sequência básica de execução de operações</p><p>primitivas é a definição de:</p><p>Parabéns! A alternativa C está correta.</p><p>As etapas básicas de um ciclo de instrução podem</p><p>ser simplificadas para o acrônimo BDE: Buscar</p><p>instrução na memória. Decodificar a operação a ser</p><p>realizada e buscar operando, se houver. Executar a</p><p>operação.</p><p>Questão 2</p><p>Um sistema de computação (S.C.) possui um</p><p>processador que endereça 4 Mega (M) de endereços</p><p>de memória principal no máximo. Qual é a largura de</p><p>seu barramento de endereços (BE) em bits?</p><p>A Instrução de máquina.</p><p>B Conjunto de instruções.</p><p>C Ciclo de instrução.</p><p>D Mnemônico.</p><p>E Software básico.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 24/65</p><p>Parabéns! A alternativa D está correta.</p><p>A quantidade de endereços de memória a serem</p><p>endereçados pelo barramento de endereços é obtida</p><p>da seguinte forma: N = 2L</p><p>Sendo:</p><p>N = Quantidade de endereços.</p><p>L = Largura (quantidade) de bits do BE ou de cada</p><p>endereço.</p><p>Temos:</p><p>N = 4 Mega endereços (não estamos considerando o</p><p>conteúdo de cada célula, apenas a quantidade de</p><p>células existentes).</p><p>Cálculo de L:</p><p>A tabela a seguir expressa alguns prefixos usados</p><p>para abreviar valores em computação, nos valores</p><p>em potência de 2 e em potência de 10.</p><p>A 4096 bits.</p><p>B 512 bits.</p><p>C 32.768 bits.</p><p>D 22 bits.</p><p>E 32 bits.</p><p>Unidade</p><p>Valor em</p><p>potência de 2</p><p>Valo</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 25/65</p><p>1k (quilo) 210 1024</p><p>1M (mega) 220 1.04</p><p>1G (giga) 230 1.07</p><p>1T (tera) 240 1.09</p><p>Tabela: Prefixos usados para abreviar valores em computação.</p><p>Fabio Henrique Silva</p><p>Desmembrando o valor 4 do prefixo M, podemos</p><p>escrever o valor 4 da seguinte maneira: 22 = 4</p><p>Podemos escrever o prefixo Mega (M) da seguinte</p><p>maneira: 220 = Mega</p><p>Juntando: 4 Mega endereços = 22 × 220</p><p>Repetindo a base e somando os expoentes: 222</p><p>Assim: 4 M = 222 = 22 bits</p><p>2 - Subsistemas de processamento, memória e</p><p>entrada e saída</p><p>Ao �nal deste módulo, você será capaz de examinar os princípios básicos</p><p>dos subsistemas de processamento, memória e entrada e saída.</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 26/65</p><p>Subsistemas de</p><p>processamento</p><p>Um processador ou Unidade Central de Processamento – UCP (Central</p><p>Process Unit – CPU) possui basicamente duas funções principais:</p><p>Responsável pelo processamento dos dados.</p><p>É a parte funcional que realiza as atividades de</p><p>buscar a instrução; interpretar as ações; gerar os</p><p>sinais de controle para ativar as atividades</p><p>requeridas (dentro ou fora do processador).</p><p>Processador</p><p>Veja a seguir um vídeo que fala mais detalhadamente sobre os</p><p>componentes dessas funções de processamento.</p><p>Função processamento </p><p>Função controle </p><p></p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 27/65</p><p>Memória</p><p>Tipos de memória</p><p>A memória é um sistema constituído de vários componentes, cada um</p><p>com velocidades, custos e capacidades diferentes. Todos, no entanto,</p><p>com mesma função – armazenar e recuperar valores, quando</p><p>desejado.</p><p>Existem diferentes tipos de memória, para diferentes finalidades, no</p><p>que é conhecido como hierarquia de memórias:</p><p>Registradores;</p><p>Memória cache;</p><p>Memória principal– MP (ex.: RAM);</p><p>Memória secundária (ex.: HDs, Pendrive);</p><p>Memória virtual.</p><p>Hierarquia de memórias</p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 28/65</p><p>Hierarquia de Memória</p><p>Registradores</p><p>Os registradores são memórias com as características do topo da</p><p>pirâmide, localizadas dentro do processador.</p><p>Existem:</p><p>Armazenam os dados que serão processados</p><p>pelas unidades de cálculo, separados em</p><p>unidades para números inteiros e números de</p><p>ponto flutuante.</p><p>Para transferências externas de dados.</p><p></p><p>Registradores de dados </p><p>Registrador de dados de memória - RDM</p><p>(Memory Buffer Register - MBR) </p><p>Registrador de endereço - REM (Memory</p><p>Address Register - MAR) </p><p>22/11/2023, 14:44 Componentes de hardware</p><p>https://stecine.azureedge.net/repositorio/00212ti/00248/index.html# 29/65</p><p>Para transferências</p>

Mais conteúdos dessa disciplina