Logo Passei Direto
Buscar
Material
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

Prévia do material em texto

<p>G</p><p>RU</p><p>PO</p><p>SER ED</p><p>U</p><p>CACIO</p><p>N</p><p>AL</p><p>LÓ</p><p>G</p><p>ICA M</p><p>ATEM</p><p>ÁTICA E O</p><p>RG</p><p>AN</p><p>IZAÇÃO</p><p>E ARQ</p><p>U</p><p>ITETU</p><p>RA D</p><p>E CO</p><p>M</p><p>PU</p><p>TAD</p><p>O</p><p>R</p><p>ES</p><p>LÓGICA MATEMÁTICA</p><p>E ORGANIZAÇÃO</p><p>E ARQUITETURA</p><p>DE COMPUTADORES</p><p>Altair Oliveira Pereira Passos;</p><p>Ubiratan Roberte Cardoso Passos;</p><p>Meire Higinio.</p><p>Organizador: Gustavo Henrique dos Santos</p><p>Altair Oliveira Pereira Passos;</p><p>Ubiratan Roberte Cardoso Passos;</p><p>Meire Higinio.</p><p>Organizador: Gustavo Henrique dos Santos</p><p>LÓGICA MATEMÁTICA E</p><p>ORGANIZAÇÃO E</p><p>ARQUITETURA DE</p><p>COMPUTADORES</p><p>Lógica Matemática</p><p>e Organização e</p><p>Arquitetura de</p><p>Computadores</p><p>© by Ser Educacional</p><p>Todos os direitos reservados. Nenhuma parte desta publicação poderá ser</p><p>reproduzida ou transmitida de qualquer modo ou por qualquer outro meio,</p><p>eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer outro</p><p>tipo de sistema de armazenamento e transmissão de informação, sem prévia</p><p>autorização, por escrito, do Grupo Ser Educacional.</p><p>Imagens e Ícones: ©Shutterstock, ©Freepik, ©Unsplash.</p><p>Diretor de EAD: Enzo Moreira.</p><p>Gerente de design instrucional: Paulo Kazuo Kato.</p><p>Coordenadora de projetos EAD: Jennifer dos Santos Sousa.</p><p>Equipe de Designers Instrucionais: Gabriela Falcão; José Carlos Mello; Lara</p><p>Salviano; Leide Rúbia; Márcia Gouveia; Mariana Fernandes; Mônica Oliveira</p><p>e Talita Bruto.</p><p>Equipe de Revisores: Camila Taís da Silva; Isis de Paula Oliveira; José Felipe</p><p>Soares; Nomager Fabiolo Nunes.</p><p>Equipe de Designers gráficos: Bruna Helena Ferreira; Danielle Almeida;</p><p>Jonas Fragoso; Lucas Amaral, Sabrina Guimarães, Sérgio Ramos e Rafael</p><p>Carvalho.</p><p>Ilustrador: João Henrique Martins.</p><p>PASSOS, Altair Oliveira Pereira; PASSOS, Ubiratan Roberte Cardos;</p><p>HIGINIO, Meire.</p><p>Organizador(a): Gustavo Santos</p><p>Lógica Matemática e Organização de Computadores:</p><p>Recife: Grupo Ser Educacional - 2022.</p><p>212 p.: pdf</p><p>ISBN: ---</p><p>1. lógica 2. matemática 3. computadores.</p><p>Grupo Ser Educacional</p><p>Rua Treze de Maio, 254 - Santo Amaro</p><p>CEP: 50100-160, Recife - PE</p><p>PABX: (81) 3413-4611</p><p>E-mail: sereducacional@sereducacional.com</p><p>Iconografia</p><p>Estes ícones irão aparecer ao longo de sua leitura:</p><p>ACESSE</p><p>Links que</p><p>complementam o</p><p>contéudo.</p><p>OBJETIVO</p><p>Descrição do conteúdo</p><p>abordado.</p><p>IMPORTANTE</p><p>Informações importantes</p><p>que merecem atenção.</p><p>OBSERVAÇÃO</p><p>Nota sobre uma</p><p>informação.</p><p>PALAVRAS DO</p><p>PROFESSOR/AUTOR</p><p>Nota pessoal e particular</p><p>do autor.</p><p>PODCAST</p><p>Recomendação de</p><p>podcasts.</p><p>REFLITA</p><p>Convite a reflexão sobre</p><p>um determinado texto.</p><p>RESUMINDO</p><p>Um resumo sobre o que</p><p>foi visto no conteúdo.</p><p>SAIBA MAIS</p><p>Informações extras sobre</p><p>o conteúdo.</p><p>SINTETIZANDO</p><p>Uma síntese sobre o</p><p>conteúdo estudado.</p><p>VOCÊ SABIA?</p><p>Informações</p><p>complementares.</p><p>ASSISTA</p><p>Recomendação de vídeos</p><p>e videoaulas.</p><p>ATENÇÃO</p><p>Informações importantes</p><p>que merecem maior</p><p>atenção.</p><p>CURIOSIDADES</p><p>Informações</p><p>interessantes e</p><p>relevantes.</p><p>CONTEXTUALIZANDO</p><p>Contextualização sobre o</p><p>tema abordado.</p><p>DEFINIÇÃO</p><p>Definição sobre o tema</p><p>abordado.</p><p>DICA</p><p>Dicas interessantes sobre</p><p>o tema abordado.</p><p>EXEMPLIFICANDO</p><p>Exemplos e explicações</p><p>para melhor absorção do</p><p>tema.</p><p>EXEMPLO</p><p>Exemplos sobre o tema</p><p>abordado.</p><p>FIQUE DE OLHO</p><p>Informações que</p><p>merecem relevância.</p><p>SUMÁRIO</p><p>UNIDADE 1</p><p>Introdução à lógica � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 17</p><p>Período Grego � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �18</p><p>Período Booleano � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �18</p><p>Período contemporâneo� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �19</p><p>Conceitos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 20</p><p>Lógica e suas aplicações � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 23</p><p>Noção de argumentos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 25</p><p>Argumento dedutivo � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 25</p><p>Argumentos vinculados à matemática � � � � � � � � � � � � � � � 27</p><p>Argumentos relativos a definições � � � � � � � � � � � � � � � � � � � 27</p><p>Argumentos relativos a silogismos � � � � � � � � � � � � � � � � � � 28</p><p>Argumentos indutivos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 28</p><p>Argumentos indutivos forte e fraco � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 29</p><p>Argumentos indutivos com conclusão falsa � � � � � � � � � � 30</p><p>Premissas � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 31</p><p>Premissa maior e menor � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 31</p><p>Tipos de formas lógicas � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 32</p><p>Introdução à organização e arquitetura de computadores � � � � � � �34</p><p>Histórico da arquitetura de computadores � � � � � � � � � � � � � � � � � � � � � � � � 35</p><p>Geração zero: computadores mecânicos (1642-1945) 35</p><p>Primeira geração: válvulas (1945-1955) � � � � � � � � � � � � � 36</p><p>Segunda geração: transistores (1954-1965) � � � � � � � � � 39</p><p>Terceira geração: circuitos integrados (1965-1980) � � 40</p><p>Gerações posteriores: VLSI (1980-atual) � � � � � � � � � � � � � 40</p><p>Organização de sistemas de computadores � � � � � � � � � � � � � � � � � � � � � 41</p><p>Unidade Central de Processamento (CPU) � � � � � � � � � � � � � � � � � � � � � � � � � �41</p><p>Unidade de Controle (UC) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 42</p><p>Unidade Lógica e Aritmética (ULA) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 43</p><p>Registradores � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 43</p><p>Registradores de controle e estado � � � � � � � � � � � � � � � � � � 44</p><p>Memória primária, memória secundária, entrada e saída � � � � � � � � � � 44</p><p>Memória primária � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 44</p><p>Memória secundária � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 47</p><p>Entrada e saída (E/S) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 49</p><p>Placa-mãe (Motherboard) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 50</p><p>Controlador � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �51</p><p>Barramento � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �51</p><p>Padrões de barramento � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 52</p><p>Arquiteturas RISC e CISC, pipeline � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 53</p><p>A Arquiteturas RISC e CISC � � � � � � � � � � � � � � � � � � � � � � � � � � � 53</p><p>Pipeline � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 54</p><p>Multiprocessadores � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 56</p><p>Multicomputadores � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 56</p><p>UNIDADE 2</p><p>Lógica proposicional � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 61</p><p>Proposição � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �61</p><p>Princípios básicos da lógica � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 63</p><p>Proposição simples � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 64</p><p>Proposição composta � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 65</p><p>Proposição lógica � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 65</p><p>Tratamento intuitivo � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �</p><p>corretamente com os</p><p>módulos do computador através do barramento, eles são instalados</p><p>em controladores, que por sua vez são instalados em uma grande</p><p>placa eletrônica, chamada placa-mãe.</p><p>Placa-mãe (Motherboard)</p><p>A placa-mãe é uma grande placa de circuito impresso que agrega</p><p>todos os itens necessários para o computador funcionar. Nela ficam</p><p>instalados transistores, diodos, capacitores, o chip da CPU, barra-</p><p>mentos, slots para memórias e diversos conectores para periféri-</p><p>cos externos. Ao ligar o computador, a energia elétrica é distribuída</p><p>para toda a sua estrutura.</p><p>A placa-mãe fica instalada numa caixa de metal chamada ga-</p><p>binete.</p><p>Figura 14. Placa-mãe.</p><p>Fonte: Shutterstock</p><p>51</p><p>Controlador</p><p>O controlador é o dispositivo responsável por fazer a comunicação</p><p>entre E/S e a placa-mãe. Ele liga a placa e o conector de entrada</p><p>através de cabos, assim os dispositivos são instalados e fixados de</p><p>forma segura e duradoura.</p><p>Figura 15. E/S e seus controladores.</p><p>Fonte: Editorial Digital Pages, 2020.</p><p>Barramento</p><p>A comunicação entre os módulos dos computadores é feita através</p><p>de linhas de transmissão, e esses grupos de linhas são chamados de</p><p>barramento. São classificados em três grupos:</p><p>1. Barramento de dados: cada linha pode transportar 1 bit por</p><p>vez, dessa forma, a quantidade de bits que podem ser transfe-</p><p>ridos de uma única vez depende da quantidade de linhas (lar-</p><p>gura do barramento);</p><p>2. Barramento de endereços: designa o acesso à determinada</p><p>palavra na memória. Sem essas linhas informando o local, o</p><p>endereço correto da origem ou o destino, os dados seriam ar-</p><p>mazenados de forma aleatória e seria quase impossível loca-</p><p>lizá-los;</p><p>3. Barramento de controle: responsável por controlar o uso das</p><p>linhas de dados e endereços, já que elas são utilizadas por to-</p><p>52</p><p>dos os componentes. Os sinais de controle transmitem in-</p><p>formações de comando e sincronização entre os módulos do</p><p>sistema. Os sinais de sincronização indicam a validade da in-</p><p>formação de dados e endereço. Os sinais de comando especi-</p><p>ficam operações a serem realizadas (STALLINGS, 2010, p. 69).</p><p>Bit é a menor parcela de informação processada por um computa-</p><p>dor.</p><p>Padrões de barramento</p><p>Como estudamos no item anterior, barramentos são conjuntos de</p><p>linhas que permitem a comunicação entre os dispositivos. Além dos</p><p>tipos que vimos, existem os barramentos padrão, que possuem uma</p><p>largura específica compatível com itens similares. Vamos ver alguns</p><p>exemplos:</p><p>Barramento PCI (Peripheral Component Interconnect)</p><p>Lançado pela Intel na década de 1990, o barramento PCI ficou</p><p>muito conhecido por permitir conectar diversos dispositivos à pla-</p><p>ca-mãe do computador. Esse padrão tem a capacidade de transferir</p><p>dados a 32 bits e clock de 33 MHz.</p><p>Barramento AGP (Accelerated Graphics Port)</p><p>O padrão AGP surgiu em 1996 para a utilização exclusiva de</p><p>placas de vídeo. Pelo fato de seus recursos não serem compartilha-</p><p>dos com outros dispositivos, permitia a utilização total da sua ca-</p><p>pacidade, ou seja, sua taxa de transferência de dados era extrema-</p><p>mente alta.</p><p>Barramento PCI-Express</p><p>A Intel lançou esse padrão em 2004 e substituiu os modelos</p><p>VOCÊ SABIA?</p><p>53</p><p>anteriores PCI e AGP. Um de seus modelos permite trabalhar com</p><p>uma taxa de transferência de até 4 GB por segundo.</p><p>Arquiteturas RISC e CISC, pipeline</p><p>A Arquiteturas RISC e CISC</p><p>A necessidade de processar instruções cada vez mais complexas fez</p><p>aumentar o estudo sobre arquiteturas que permitissem realizar es-</p><p>ses processos de forma mais rápida. Vamos falar agora sobre duas</p><p>arquiteturas muito importantes: RISC (Reduced Instruction Set</p><p>Computer) e CISC (Complex Instruction Set Computer).</p><p>• Arquitetura RISC</p><p>O processador RISC (computador com conjunto de instruções</p><p>reduzidas) surgiu na década de 1980 com o intuito de utilizar ins-</p><p>truções mais simples e em menor quantidade, mas que pudessem</p><p>ser executadas de forma mais rápida. Ele era incompatível com os</p><p>modelos existentes na época.</p><p>Por ter um baixo nível de instruções e complexidade, o pro-</p><p>cesso é executado diretamente pelo hardware, não sendo necessária</p><p>à utilização de microcódigo. Essa arquitetura utiliza a técnica de pi-</p><p>peline de instruções para otimizar seus processos.</p><p>• Arquitetura CISC</p><p>O processador CISC (computador com conjunto de instruções</p><p>complexas) tem uma capacidade de processar grandes conjuntos</p><p>de instruções, desde as mais simples até as mais complexas. Mui-</p><p>tas vezes esse processo precisa ser dividido e executado em diversas</p><p>partes, o que o torna mais lento em relação aos processadores RISC.</p><p>54</p><p>Existem também os processadores híbridos que utilizam a tecnolo-</p><p>gia RISC para conjuntos de instruções menores e SISC para instru-</p><p>ções mais complexas.</p><p>Pipeline</p><p>O conceito pipeline (ou paralelismo) surgiu com os processadores</p><p>MIPS, capazes de emitir milhões de instruções por segundo. Com</p><p>essa quantidade de processos, foi necessário paralelizar as ativi-</p><p>dades do computador. As instruções passaram a ser executadas de</p><p>acordo com a disponibilidade de determinado recurso da CPU, em</p><p>vez de seguir uma ordem obrigatória.</p><p>Vamos usar um exemplo simples para melhor compreensão:</p><p>três pessoas precisam tomar banho, vestir-se e ir para o trabalho.</p><p>Cada uma leva cerca de 40 minutos para realizar esse processo e o</p><p>tempo total para que todas terminem é de duas horas. O conceito</p><p>de paralelismo sugere que quando a primeira pessoa terminar o ba-</p><p>nho a segunda já deve iniciar o seu banho. Em resumo, conforme</p><p>cada parte do processo vai sendo liberada já vai sendo preenchida</p><p>por outro.</p><p>O paralelismo pode ocorrer de duas maneiras: a nível de ins-</p><p>trução e a nível de processador. Vamos conhecer mais sobre esses</p><p>níveis?</p><p>1. Paralelismo em nível de instrução</p><p>Explora cada instrução individualmente, otimizando as ope-</p><p>rações por segundo. Esta execução também pode ser dividida em</p><p>várias partes, passando por diversos estágios até ser concluída.</p><p>SAIBA MAIS</p><p>55</p><p>Figura 16. Visão geral de paralelismo em cinco estágios.</p><p>Fonte: Editorial Digital Pages, 2020.</p><p>Podemos ver na figura 16 um modelo de pipeline com cinco</p><p>estágios:</p><p>• estágio 1: obtém a instrução e a coloca no buffer;</p><p>• estágio 2: decodifica a instrução e determina os especificado-</p><p>res do comando;</p><p>• estágio 3: calcula o endereço dos operandos e os busca;</p><p>• estágio 4: executa a instrução;</p><p>• estágio 5: armazena o resultado na memória.</p><p>Ainda de acordo com a figura 16, podemos ver que essa divi-</p><p>são em partes permite que, conforme as instruções forem processa-</p><p>das, as demais venham preenchendo o espaço.</p><p>56</p><p>Buffer é uma pequena área da memória ultrarrápida, utilizada para</p><p>armazenar informações importantes temporariamente.</p><p>Quando se trata de processamento em larga escala, o melhor</p><p>conceito de paralelismo a ser utilizado em nível de processador, ou</p><p>seja, processadores com maior capacidade de executar corretamen-</p><p>te essa função. Para uma grande demanda utilizam-se computa-</p><p>dores paralelos ou computadores construídos com diversas CPUs</p><p>(multiprocessadores).</p><p>Multiprocessadores</p><p>Computadores projetados com mais de uma CPU são chamados de</p><p>multiprocessadores. Essas CPUs podem utilizar um barramento</p><p>único e dividir a mesma memória ou podem ter um pouco de me-</p><p>mória dedicada (vide imagem).</p><p>Figura 17. Multiprocessadores com memória compartilhada e com memórias locais.</p><p>Multicomputadores</p><p>Diferente do sistema de multiprocessadores, o uso de multicompu-</p><p>tadores funciona com diversos computadores utilizando sua me-</p><p>mória dedicada, processadores e armazenamento, interligados via</p><p>rede executando tarefas.</p><p>ACESSE</p><p>57</p><p>Esse modelo ocupa mais espaço físico e tem um consumo de</p><p>energia muito maior do que o uso de multiprocessadores.</p><p>Nesta unidade, você teve a oportunidade de conhecer o conceito de</p><p>lógica e detalhes históricos de seu desenvolvimento, de entender os</p><p>argumentos e alguns de seus tipos, compreender o significado bá-</p><p>sico de premissas e sua aplicação; aprender as formas de argumen-</p><p>tação e o que é conclusão e de entender os conceitos sobre</p><p>validação</p><p>de proposições.</p><p>Também aprendemos sobre o conceito de Organização e Arquitetu-</p><p>ra de Computadores e sua evolução, assim como compreendemos a</p><p>importância da organização dos módulos do computador e da CPU</p><p>e como eles se comunicam, buscando, executando e mostrando as</p><p>instruções. Aprendemos sobre os tipos de memória e suas funções e</p><p>estudamos outras arquiteturas, como RISC e CISC, e como o concei-</p><p>to pipeline (ou paralelismo) é importante para melhor uso dos mó-</p><p>dulos do processador.</p><p>Espero que você tenha gostado da leitura! Até a próxima!</p><p>ACESSE</p><p>58</p><p>UN</p><p>ID</p><p>AD</p><p>E</p><p>2</p><p>Conceitos</p><p>do cálculo</p><p>proposicional e</p><p>números binários</p><p>Objetivos</p><p>◼ Aprender os conceitos de lógica proposicional;</p><p>◼ Aprender as operações lógicas e tabelas da verdade;</p><p>◼ Conhecer a representação de números binários com sinal;</p><p>◼ Aprender aritmética binária; e</p><p>◼ Estudar os circuitos lógicos básicos.</p><p>60</p><p>Introdução</p><p>Olá, estudante! Bem-vindo(a) de volta!</p><p>Neste material abordaremos alguns temas importantes para a sua</p><p>formação e para os estudos da lógica e da organização e arquitetu-</p><p>ra de computadores. Aqui nós veremos a lógica proposicional e os</p><p>princípios básicos de Lógica, veremos também o que é a proposição</p><p>lógica e o tratamento intuitivo e conheceremos as operações lógicas</p><p>e tabelas da verdade.</p><p>Mais adiante, conheceremos a representação de números bi-</p><p>nários com sinal, a aritmética binária com operandos representados</p><p>em complemento para dois e a detecção de overflow em operações de</p><p>adição e subtração em binário.</p><p>Para concluir, veremos o que configura o nível lógico-digital,</p><p>os circuitos lógico-digitais básicos e o simulador de circuitos lógi-</p><p>co-digitais (software).</p><p>Está preparado(a) para adquirir esses conhecimentos? Vamos</p><p>à leitura!</p><p>61</p><p>Lógica proposicional</p><p>Vamos conhecer agora o surgimento e desenvolvimento da lógica</p><p>proposicional e o seu cálculo com operações básicas de lógicas e ta-</p><p>bela da verdade. Vamos entender sobre noção de tratamento intui-</p><p>tivo, sintaxe, semântica, proposições e conectivos. O assunto aqui</p><p>abordado é muito importante para entender a conexão da lógica</p><p>com a tecnologia da informação, do surgimento das primeiras pla-</p><p>taformas de computadores até os dias atuais.</p><p>A lógica proposicional ou cálculo proposicional estuda, den-</p><p>tro da Lógica Matemática, a validade dos argumentos apresentados</p><p>referenciada por uma linguagem própria. Ela se identifica e se dife-</p><p>rencia através de dois aspectos importantes: a sintaxe e a semântica</p><p>da linguagem proposicional.</p><p>Proposição</p><p>A proposição, proposta ou mesmo um enunciado, é uma declaração</p><p>na forma de sentença em que dois valores, verdadeiro (V) ou falso</p><p>(F), também chamados de valor-verdade, são tidos como proprie-</p><p>dades da proposição e conduzem a argumentação à uma conclusão.</p><p>Vejamos um exemplo de uma proposição:</p><p>a) cos (0º) = tg (45º) = sen (90º) = 1</p><p>É uma proposição verdadeira (V).</p><p>b) Rio de Janeiro é a capital do Brasil.</p><p>É uma proposição falsa (F), a atual capital do Brasil é Brasí-</p><p>lia, mas vale lembrar que a cidade do Rio de Janeiro foi capital do</p><p>Brasil na época em que o Brasil era colônia portuguesa em 1763,</p><p>passando para a atual República dos Estados Unidos do Brasil as-</p><p>sim ficando e permanecendo capital até 1960.</p><p>c) A pólvora foi descoberta pelos chineses.</p><p>É uma proposição verdadeira (V).</p><p>d) H2O é a fórmula molecular da água.</p><p>62</p><p>É uma proposição verdadeira (V).</p><p>e) O átomo é a menor partícula.</p><p>É uma proposição falsa (F), é importante lembrar que o áto-</p><p>mo é considerado a menor partícula de composição de uma mo-</p><p>lécula ou elemento químico, porém ele pode ser dividido, ou seja,</p><p>existem partículas subatômicas que formam o átomo. São elas:</p><p>elétrons, prótons, nêutrons, além disso com o avanço das pesqui-</p><p>sas e da tecnologia, estudam os fótons, glúons e por fim os quarks.</p><p>Esses foram exemplos de sentenças que podemos chamar de</p><p>sentenças declarativas. Existem sentenças que não são considera-</p><p>das proposições, que são as sentenças não declarativas, pois elas</p><p>não estabelecem valor-verdade. Essas sentenças são divididas em</p><p>imperativas, exclamativas e interrogativas. Para entendermos e sa-</p><p>bermos diferenciá-las, vamos observar alguns exemplos para cada</p><p>caso:</p><p>a) Saia daqui! (imperativa)</p><p>b) Mas tenha santa paciência! (exclamativa)</p><p>c) Por quanto tempo tenho que suportar isso? (interroga-</p><p>tiva)</p><p>Voltando um pouco nos conceitos, vamos definir o que são</p><p>sentenças? Sentenças são frases formadas por sujeito (que é o termo</p><p>do qual se declara algo) e predicado (o termo que se declara sobre o</p><p>sujeito). Essas sentenças podem ser abertas ou fechadas.</p><p>As abertas não possuem determinação, ou seja, são indeter-</p><p>minadas, embora sejam proposições. Ao atribuirmos um valor-ver-</p><p>dade, não há como concluir se são verdadeiras ou falsas.</p><p>Um exemplo de sentença aberta são as expressões matemáticas com</p><p>incógnita, pois o resultado pode ser verdadeiro ou falso, indepen-</p><p>dentemente do valor atribuído para esta incógnita. Seja a expressão</p><p>EXEMPLO</p><p>63</p><p>y + 5 > 9, se definirmos um valor para y igual a 3, a proposição é</p><p>falsa, mas se atribuirmos o valor igual a 6, será verdadeira.</p><p>Vejamos um outro exemplo, para fixarmos melhor o enten-</p><p>dimento sobre sentenças abertas. Analise a sentença: ela é uma fa-</p><p>mosa jornalista.</p><p>Considerando que a incógnita na sentença acima é o prono-</p><p>me “ela”, pois pode ser qualquer pessoa, ao substituirmos por Ana</p><p>Paula Padrão, o resultado será verdadeiro, mas se definirmos que é</p><p>a Gal Costa, a sentença torna-se falsa, então, temos aqui outra sen-</p><p>tença aberta.</p><p>Já as sentenças fechadas possuem determinação, ou seja, são</p><p>determinadas e, ao atribuirmos um valor-verdade, o sujeito está</p><p>determinado e possibilita definir exatamente se a argumentação é</p><p>verdadeira ou falsa. Exemplos:</p><p>1) Milton Nascimento é um grande cantor.</p><p>2) 12 + 7 < 25 (exatamente, pois 12 + 7 = 19 que é menor que</p><p>25)</p><p>3) Zezé Di Camargo e Luciano são irmãos e são cantores fa-</p><p>mosos.</p><p>Antes de retomarmos ao assunto proposição, que é dividido</p><p>em proposição simples e composta, vejamos os princípios básicos</p><p>da lógica, que são identidade, não contradição e terceiro excluído.</p><p>Princípios básicos da lógica</p><p>Na Lógica Matemática existem regras consideradas fundamentais,</p><p>que validam três princípios básicos:</p><p>Princípio da identidade</p><p>Ele define que todas as coisas são iguais a si mesma, ou me-</p><p>lhor dizendo, toda proposição é idêntica a si mesma. Ou seja, uma</p><p>proposição verdadeira só pode ser verdadeira, assim como uma fal-</p><p>sa só pode ser falsa.</p><p>64</p><p>S é S</p><p>Exemplo: “Todos os felinos são felinos.”</p><p>Princípio da não contradição</p><p>Neste temos que uma proposição não pode ser falsa e verda-</p><p>deira ao mesmo tempo, bem como verdadeira e falsa, ou seja, ou ela</p><p>é falsa ou é verdadeira.</p><p>S é S, não pode ao mesmo tempo ser “não S”</p><p>Exemplo: “Uma gaivota não é uma não gaivota e uma não</p><p>gaivota não é uma gaivota”.</p><p>Princípio do terceiro excluído</p><p>Necessariamente regra que uma coisa é ou não é, impedindo</p><p>uma terceira possibilidade, ou seja, existem apenas “Verdadeiro”</p><p>ou “Falso”, não há uma terceira hipótese.</p><p>S ou não S</p><p>Exemplo: Pegando do exemplo anterior, em que “um</p><p>pássaro que é uma gaivota e um pássaro que não é uma gaivota,</p><p>não há uma terceira possibilidade, ou seja, não existe um pássaro</p><p>“pinguimgaivota” ou “patogaivota”.</p><p>Proposição simples</p><p>Retomando o assunto proposição, vamos conhecer a proposição</p><p>simples? Proposições simples são todas as sentenças declarativas</p><p>fechadas que representam um pensamento verdadeiro ou falso,</p><p>desta forma, apresentam apenas uma afirmação. As letras minús-</p><p>culas, p, q, r, entre outras são utilizadas para designar estas senten-</p><p>ças, que serão chamadas de letras proposicionais. Observe:</p><p>cos (0º) = tg (45º) = sen (90º) = 1</p><p>Rio de Janeiro é a capital do Brasil.</p><p>Milton Nascimento é um grande cantor.</p><p>João e Maria são irmãos.</p><p>65</p><p>Christiane é casada.</p><p>Proposição composta</p><p>Já as proposições compostas são sentenças declarativas fechadas</p><p>com duas ou mais proposições e são representadas</p><p>também por le-</p><p>tras proposicionais, mas, no caso maiúsculas, P, Q, R, entre outras.</p><p>• Zezé di Camargo e Luciano são irmãos e são cantores famosos.</p><p>• Ada é mulher, Gilberto, homem.</p><p>• O calor chegará logo, no máximo até o fim deste mês.</p><p>• Christiane é casada, é advogada, mas dá apenas aulas na gra-</p><p>duação.</p><p>• O assassino está por ser descoberto entre o Sr. Macarrão, ou</p><p>Capitão Bocaina, ou Prof. Matuto.</p><p>Proposição lógica</p><p>Quando essas proposições são aplicadas às operações lógicas, es-</p><p>tamos entrando dentro do cálculo proposicional. As mais utilizadas</p><p>são as de Negação (não), Conjunção Lógica (e) e Disjunção Inclusiva</p><p>(ou).</p><p>Negação (não)</p><p>Possibilita um sentido contrário de uma afirmação inicial.</p><p>1. José não é carpinteiro.</p><p>2. Marcelo não é padre.</p><p>3. Christiane não recebeu o seu pagamento no dia do vale.</p><p>Conjunção (e)</p><p>Possibilita combinar duas proposições verdadeiras, uma</p><p>combinando com a outra.</p><p>66</p><p>1. No final de semana fará sol e domingo irei ao parque.</p><p>2. Eduardo foi ao cinema e Mônica, ao show.</p><p>3. Carlos foi ao baile de carnaval, mas Ana ficou em casa.</p><p>Disjunção (ou)</p><p>Possibilita combinar duas proposições, uma necessariamen-</p><p>te verdadeira, assim a proposição passa a ser verdadeira.</p><p>1. Hoje está calor ou hoje está frio. Amanhã irá chover ou ama-</p><p>nhã fará sol. Eduardo foi ao cinema ou ao show.</p><p>Tratamento intuitivo</p><p>Dentro do cálculo proposicional, o tratamento intuitivo traduz uma</p><p>forma prática de aplicação dos princípios lógicos, com a introdu-</p><p>ção e interpretação das operações lógicas e a modelagem apropriada</p><p>para uma análise argumentativa e inferências lógicas adequadas.</p><p>Tautologia</p><p>Tautologia é a forma de proposição composta em que, independente</p><p>de seus valores lógicos, dão como resultado sempre uma verdade</p><p>(V). No livro Introdução à Lógica Matemática, de Bispo, Castanheira</p><p>e Souza Filho (2011), são abordadas as tautologias úteis, ou proprie-</p><p>dades. Vejamos algumas implicações e equivalências tautológicas</p><p>que serão utilizadas para provar a validade de um argumento.</p><p>Considere que p, q, r e s sejam proposições simples quaisquer.</p><p>1. Equivalências tautológicas:</p><p>• Impotência (IND)</p><p>(p ˄ p) ↔ p</p><p>(p ˅ p) ↔ p</p><p>• Comutação (COM)</p><p>67</p><p>(p ˄ q) ↔ (q ˄ p)</p><p>(p ˅ q) ↔ (q ˅ p)</p><p>• Equivalência Material (EM)</p><p>(p ↔ q) ↔ ((p → q) ˄ (q → p))</p><p>(p ↔ q) ↔ ((p ˄ q) ˅ (¬p ˄ ¬q))</p><p>• Distribuição (DIS)</p><p>(p ˄ (q ˅ r)) ↔ ((p ˄ q) ˅ (p ˄ r))</p><p>(p ˅ (q ˄ r)) ↔ ((p ˅ q) ˄ (p ˅ r))</p><p>(p ↔ (q ˄ r)) ↔ ((p → q) ˄ (p → r))</p><p>(p ↔ (q ˅ r)) ↔ ((p → q) ˅ (p → r))</p><p>• Associação (ASS)</p><p>((p ˄ q) ˄ r) ↔ (p ˄ (q ˄ r))</p><p>((p ˅ q) ˅ r) ↔ (p ˅ (q ˅ r))</p><p>• Leis de Morgan (MOR)</p><p>¬(p ˅ q) ↔ (¬p ˄ ¬q)</p><p>¬(p ˄ q) ↔ (¬p ˅ ¬q)</p><p>• Dupla Negação (DN)</p><p>¬(¬p) ↔ p</p><p>68</p><p>• Implicação Material (IM)</p><p>(p ↔ q) ↔ (¬p ˅ q)</p><p>• Negação da Implicação Material (NIM)</p><p>¬(p ↔ q) ↔ (p ˄ ¬q)</p><p>• Transposição (TRA)</p><p>(p →q) ↔ (¬q → ¬p)</p><p>• Importação/Exportação (IE)</p><p>((p ˄ q) → r) ↔ (p → (q → r))</p><p>• Absurdo (ABD)</p><p>(p → (q ˄ ¬r)) ↔ ¬p</p><p>2. Indicações tautológicas:</p><p>• Adição (ADI)</p><p>ou p → (p ˅ q)</p><p>• Simplificação (SIM)</p><p>ou (p ˄ q) → p</p><p>ou (p ˄ q) → q</p><p>69</p><p>• Conjunção (CON)</p><p>ou (p ˄ q) → (p ˄ q)</p><p>ou (p ˄ q) → (q ˄ p)</p><p>• Absorção (ABS)</p><p>ou (p → q) → (p → (p ˄ q))</p><p>• Modus Pones (MP)</p><p>ou ((p → q) ˄ p) → q</p><p>• Modus Tolles (MT)</p><p>ou ((p → q) ˄ ¬q)→ ¬p</p><p>• Dilema Construtivo (DC)</p><p>ou ((p → q) ˄ (r → s) ˄ (p ˅ r)) → (q ˅ s)</p><p>70</p><p>• Dilema Destrutivo (DD)</p><p>ou ((p →q) ˄ (r→ s) ˄ (¬q ˅ ¬s)) → (¬p ˅ ¬r)</p><p>• Silogismo Disjuntivo (SD)</p><p>ou ((p ˅ q) ˄ ¬p) → q</p><p>ou ((p ˅ q) ˄ ¬q)→ p</p><p>• Silogismo Hipotético (SH)</p><p>ou ((p → q) ˄ (q → r)) → (p →r)</p><p>• Exportação (EXP)</p><p>ou ((p ˄ q) →r) → (p → (q → r))</p><p>71</p><p>• Importação (IMP)</p><p>ou (p → (q → r)) → ((p ˄ q) → r)</p><p>3. Outras tautologias:</p><p>• Princípio da Identidade</p><p>p ↔ p</p><p>• Princípio da Não Contradição</p><p>¬(p ˄ ¬p)</p><p>• Princípio do Terceiro Excluído</p><p>p ˅ ¬p”</p><p>Sintaxe</p><p>Sintaxe, ou construção, é a parte da gramática que analisa as fun-</p><p>ções das palavras na frase e de suas relações, seus arranjos, combi-</p><p>nações ou a disposição em uma frase. A sintaxe trabalha dentro da</p><p>lógica, na formalização de uma linguagem lógica para desenvolvi-</p><p>mento da lógica matemática, através da construção, estruturação e</p><p>especificação precisa das proposições.</p><p>Trata da definição de regras e símbolos básicos, bem como</p><p>suas combinações corretas para obter expressões bem estruturadas</p><p>desta linguagem. Estes símbolos, na linguagem do Cálculo Propo-</p><p>sicional, são:</p><p>1. Variáveis proposicionais:</p><p>p, q, r, s, ...</p><p>P, Q, R, S, ...</p><p>2. Símbolos auxiliares:</p><p>( , )</p><p>72</p><p>3. Operadores lógicos, como mostra a tabela a seguir:</p><p>Tabela 1 - Operações lógicas</p><p>Fonte: Elaborado pelo autor, 2020.</p><p>Semântica</p><p>Já a semântica trata da forma que as proposições foram escritas e</p><p>principalmente seu significado. A Semântica, ou semiologia, na área</p><p>dos estudos linguísticos, estuda o significado das palavras, da in-</p><p>terpretação de frases e textos de uma determinada língua. Na ciên-</p><p>cia filosófica, ela avalia a evolução de símbolos e palavras e seus</p><p>sentidos na comunicação, ou seja, a etimologia das palavras.</p><p>Enquanto a sintaxe se envolve com a parte construtiva de</p><p>uma proposição, a semântica vai mais além e busca analisar esta</p><p>construção e apresentar conclusões.</p><p>O importante desta análise é a avaliação das verdades e das</p><p>falsidades no contexto. Um exemplo de uma falácia semântica é o</p><p>uso de termos sem sentido, sem precisão ou que trazem uma du-</p><p>biedade no sentido da proposição, levando a uma conclusão errônea</p><p>na análise e que podem acarretar erros em outros resultados num</p><p>conjunto de dados. Em “Um prelúdio à lógica” de Feitosa, H. A. e</p><p>Paulovich, L., o autor traz o conceito muito bem tratado sobre a se-</p><p>mântica na lógica e um exemplo de falácia semântica.</p><p>A falácia semântica é caracterizada por termos</p><p>vagos, não precisos ou dúbios presentes nas</p><p>73</p><p>sentenças e que interferem no entendimento</p><p>do argumento.</p><p>Exemplos:</p><p>É besteira se preocupar com meras palavras.</p><p>“Apartheid” é apenas uma palavra. Portanto,</p><p>você não tem que se preocupar com “apar-</p><p>theid”.</p><p>O governo se mobiliza. Haverá mais dinheiro</p><p>para as pequenas empresas. Os recursos ad-</p><p>vindos das novas taxas serão disponibiliza-</p><p>dos para empréstimos a pequenos e médios</p><p>empresários (FEITOSA, H. A.; PAULOVICH, L.,</p><p>2005, p. 62).</p><p>Analisando o primeiro exemplo acima, temos a palavra</p><p>“Apartheid”, que é o ato de segregar, principalmente no que se re-</p><p>fere ao contexto racial. Então, dizer que é uma grande besteira se</p><p>preocupar com meras e simples palavras é um erro maior ainda. Pois</p><p>esta palavra do exemplo, como outras, pode traduzir circunstâncias</p><p>relacionadas a atos históricos tristes e de humilhação, quando não</p><p>aterrorizantes.</p><p>Proposições e conectivos</p><p>Veremos agora, de forma mais detalhada, as proposições e suas</p><p>classificações em relação os conceitos já apresentados, além de co-</p><p>nhecermos mais a fundo os conectivos que as unem e suas aplica-</p><p>ções.</p><p>Como já vimos, proposição é uma declaração na forma de</p><p>sentença em que dois valores, verdadeiro (V) ou falso (F), chamados</p><p>de valor-verdade, e conduzem a argumentação à uma conclusão.</p><p>Podemos indicar um valor numérico, então, para verdadeiro</p><p>(1) e para falso (0), e com isso podemos analisá-la de forma mais</p><p>prática dentro de uma tabela, no caso, a Tabela da Verdade, que co-</p><p>nheceremos mais adiante.</p><p>74</p><p>Um pouco antes de chegarmos até aqui, vimos o conceito de</p><p>proposição, sua classificação em simples e composta e os princípios</p><p>básicos aplicados (identidade, não contradição e terceiro excluído).</p><p>Além de tratar da proposição lógica, que já apresenta a forma estru-</p><p>turada com seus conectivos, em que dentro do C.P. (Cálculo Propo-</p><p>sicional) as proposições lógicas de negação, conjunção e disjunção</p><p>inclusivas são as mais comuns.</p><p>Vamos ver agora exemplos de proposições e conectivos que</p><p>farão parte das operações lógicas apresentadas na Tabela da Ver-</p><p>dade?</p><p>Antes de trabalhar com as proposições, montá-las e analisá-</p><p>-las, vamos conhecer detalhes dos conectivos e seus símbolos numa</p><p>verificação pura,</p><p>que também dará melhor entendimento dentro do</p><p>estudo das operações lógicas, como mostra a tabela abaixo.</p><p>Tabela 2 - Conectivos e seus símbolos</p><p>Fonte: Elaborado pelo autor, 2020.</p><p>Vejamos um exemplo simples de proposição para modelar</p><p>com uma variável e ver as possíveis conexões que uma variável pode</p><p>assumir e sua representação:</p><p>Exemplo:</p><p>52 = 25</p><p>Temos que a proposição acima é uma verdade, ou seja, seu valor-</p><p>-verdade é (V) ou como já vimos é (1).</p><p>Se nomearmos a proposição pela letra A, temos:</p><p>A ≡ 52 = 25, portanto temos que A = 25</p><p>A proposição acima é simples, e desta podemos formar pro-</p><p>75</p><p>posições compostas, mas antes de vermos alguns exemplos, ob-</p><p>serve a tabela com notações utilizando os “conectivos e variáveis</p><p>possíveis”.</p><p>Tabela 3 - Conectivos e variáveis possíveis</p><p>Fonte: Elaborado pelo autor, 2020.</p><p>Agora veja os exemplos com frases e sua conversão para va-</p><p>riáveis e conectivos de forma estruturada:</p><p>1. Rio de Janeiro é a capital do Brasil.</p><p>PROVA: CB_ Rio de Janeiro não é a capital do Brasil (Falso),</p><p>portando temos que Rio de Janeiro=CB ou para simplificar CB</p><p>pode ser A.</p><p>A representação é: RJ = A</p><p>2. Christiane não recebeu o seu pagamento no dia do vale.</p><p>PROVA: RPV_ Christiane recebeu o seu pagamento do vale.</p><p>(Falso)</p><p>portando temos que Christiane=nãoRPV ou para simplificar</p><p>RPV pode ser A.</p><p>A representação é: C = ¬A</p><p>3. Zezé Di Camargo e Luciano são irmão e são cantores famosos.</p><p>PROVA: IeCF_ Zezé Di Camargo e Luciano não são irmão e</p><p>não são cantores famosos. (Falso)</p><p>76</p><p>portando temos que Zezé Di Camargo e Luciano= IeCF ou</p><p>para simplificar I pode ser A e CF</p><p>pode ser B.</p><p>A representação é: Eles = A ˄ B</p><p>4. Eduardo foi ao cinema ou ao show.</p><p>PROVA: CouS_ Eduardo não foi ao cinema ou nem ao show.</p><p>(Falso)</p><p>portando temos que Eduardo= CouS ou para simplificar C</p><p>pode ser A e S pode ser B.</p><p>A representação é: E = A ˅ B</p><p>5. Manuella é uma menina inteligente e, portanto, irá tirar boas</p><p>notas.</p><p>PROVA: IcomBN_ Se Manuella é uma menina inteligente,</p><p>então irá tirar boas notas. (Verdadeiro)</p><p>portanto temos que Manuella = IcomBN ou para simplificar I</p><p>pode ser A e BN pode ser B.</p><p>A representação é: M = A → B</p><p>6. Ganharás o torneio se, e somente se, ganhar as duas próximas</p><p>partidas.</p><p>PROVA: faremos de modo mais simples e direto que poderá</p><p>utilizar nos exemplos anteriores com treino para ao conteúdo apre-</p><p>sentado, então vamos lá:</p><p>Claramente temos uma proposição bicondicional envolvida</p><p>no exemplo em questão, logo podemos partir do formato de signi-</p><p>ficado, ou formulação, para o conectivo bicondicional que é: se, e</p><p>somente se.</p><p>Formulação: A se, e somente se, B.</p><p>Portanto temos que a representação é: Alguém, ele, ela = A</p><p>⟷ B</p><p>77</p><p>Operações lógicas e tabelas da verdade</p><p>Em meados do século XIX, George Boole (1815-1864), que foi mate-</p><p>mático e filósofo, desenvolveu em seus estudos, um sistema algé-</p><p>brico específico que utilizava da linguagem lógica e da matemática</p><p>para simplificar e analisar problemas na época, dando início ao que</p><p>conhecemos sobre Lógica Matemática e, posteriormente a sua épo-</p><p>ca, veio a contribuir em grande escala no desenvolvimento da com-</p><p>putação moderna a partir de 1945.</p><p>Dito isso, partimos para o estudo das operações lógicas, onde</p><p>apresentaremos uma sequência destas operações, que serão ana-</p><p>lisadas e demonstradas por exemplos para melhor assimilação do</p><p>contexto, e cada uma delas terá a sua Tabela da Verdade. Para isso,</p><p>utilizaremos a legenda abaixo:</p><p>• NOT (não) ou ¬ ou ~,</p><p>• AND (e) ou ˄,</p><p>• OR (ou) ou ˅,</p><p>• Condicional (se , então) ou ⟷,</p><p>• Bicondicional (se, e somente se,) ou ⟷,</p><p>• NAND (ne) ou ¬˄,</p><p>• NOR (nou) ou ¬˅,</p><p>• XOR (ou exclusivo) ou ˅ .</p><p>Negação: NOT (não) ou ¬ ou ~</p><p>Uma proposição que recebe uma negação é tida como falsa quando a</p><p>proposição é verdadeira ou verdadeira quando a proposição é falsa.</p><p>Imagine uma proposição A, ela será “não A”, que através do símbolo</p><p>é escrita em ¬A.</p><p>Algumas sentenças ou expressões podem ser dadas de exem-</p><p>plo para um melhor entendimento, vejamos:</p><p>78</p><p>Quando A ≡ 11 ≠ 7, temos ¬A ≡ 11 = 7</p><p>Para E ≡ 25 < 5, temos ¬E ≡ 25 > 5</p><p>A tabela da verdade para operações de negação ficaria da se-</p><p>guinte forma:</p><p>Tabela 4 - Tabela da Verdade</p><p>Fonte: Elaborada pelo autor, 2020.</p><p>Conjunção: AND (e) ou ^</p><p>Quando tratamos de duas proposições, por exemplo A com B,</p><p>a proposição composta para a operação de conjunção é “A e B”, que</p><p>pode ser escrita por símbolos em A ˄ B, em que o valor lógico é ver-</p><p>dadeiro se, e somente se, “A” e “B” forem verdadeiros.</p><p>Algumas sentenças ou expressões podem ser dadas de exem-</p><p>plo para um melhor entendimento, vejamos:</p><p>Se A ≡ 1 < 7 (1) e B ≡ 3 ≠ 1 (1), temos A ˄ B ≡ 1 < 7 e 3 ≠ 1 → (1)</p><p>Se A ≡ 2 | 6 (1) e B ≡ (32 + 22) = (3 + 2)2 (0), temos A ˄ B ≡ 2 |</p><p>6 e B ≡ (32 + 22) = (3 + 2)2 → (0)</p><p>Se A ≡ 3 . 7 = 20 (0) e B ≡ 53 = 125 (1), temos A ˄ B ≡ 3 . 7 = 20</p><p>e B ≡ 53 = 125 → (0)</p><p>Se A ≡ 1 7 (0) e B ≡ 72 = 14 (0), temos A ˄ B ≡ 1 7 e B ≡ 72 =</p><p>14 → (0)</p><p>Observe que há notações matemáticas que talvez sejam dife-</p><p>rentes para você nesse momento, então vale apresentar o conceito.</p><p>Para elucidar, Milies e Coelho (2013, p. 45) definem algoritmo da di-</p><p>visão como sendo:</p><p>“Sejam a e b números inteiros. Diz-se que b</p><p>divide a (ou que b é divisor de a ou, ainda, que</p><p>79</p><p>a é um múltiplo de b) se existe um inteiro c tal</p><p>que bc = a”.</p><p>Usaremos a notação b|a para indicar que b divide a. A negação</p><p>dessa afirmação será indicada por b ┼ a.</p><p>Convém observar que, se b ≠ 0, o inteiro c nas condições da</p><p>definição é único. De fato, se existisse outro c’ tal que bc’ = a, te-</p><p>ríamos bc=bc’ e, cancelando, vem que c=c’. O inteiro assim definido</p><p>chama-se quociente de a por b e é indicado por c = a/b.</p><p>A tabela da verdade, nesse caso, ficaria:</p><p>Tabela 5 - Operações de conjunção</p><p>Fonte: Elaborado pelo autor, 2020.</p><p>Na última linha da tabela temos, conforme declarado, que a</p><p>conjunção será verdadeira (1) somente quando as duas proposições</p><p>forem verdadeiras, (1) e (1) simultaneamente.</p><p>Disjunção: OR (ou) ou ˅</p><p>Na disjunção também tratamos de duas proposições, A com B, e na</p><p>proposição composta para a operação de disjunção é “A ou B”, po-</p><p>dendo ser escrita por símbolos como: A ˅ B. Para a disjunção temos</p><p>o oposto ao resultado da conjunção, em que o valor lógico é falso</p><p>somente quando “A” e “B” forem proposições falsas.</p><p>Algumas sentenças ou expressões podem ser dadas de exem-</p><p>plo para um melhor entendimento, vejamos:</p><p>Se A ≡ log2 (64) = 6 (1) e B ≡ √9 = 3 (1), temos A ˅ B ≡ log2 (64)</p><p>= 6 e B ≡√9 = 3 → (1) Se A ≡ 3 | 6 (1) e B ≡√8 = 2 (0), temos A ˅ B ≡ 3 | 6</p><p>80</p><p>e B ≡ √8 = 2 → (1)</p><p>Se A ≡ 3 . 7 = 20 (0) e B ≡ 53 = 125 (1), temos A ˅ B ≡ 3 . 7 = 20 e</p><p>B ≡ 53 = 125 → (1)</p><p>Se A ≡ 2 | 7 (0) e B ≡ 92 = 18 (0), temos A ˅ B ≡ 2 | 7 e B ≡ 92 =</p><p>18 →(0)</p><p>Observe a seguir, na primeira linha da tabela, que temos con-</p><p>forme declarado que a disjunção será falsa (0) somente quando as</p><p>duas proposições forem falsas, (0) e (0) simultaneamente. Note</p><p>ainda que basta apenas um valor-verdade (1) para que o resultado</p><p>válido venha ser (1), verdadeiro.</p><p>A tabela da verdade ficaria:</p><p>Tabela 6 - Operações de disjunção</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Condicional: (se, então) ou →</p><p>Agora veremos as proposições sob o efeito do conectivo condicio-</p><p>nal, também trataremos de duas proposições, A com B e, no mesmo</p><p>formato, a proposição composta para a operação de condicional é</p><p>“se A, então B” ou ainda “A implica em B”, podendo ser escrita por</p><p>símbolos como: A → B, em que o valor lógico é falso se, e somente se,</p><p>“A” é verdadeiro e “B” for falso.</p><p>Algumas sentenças ou expressões podem ser dadas de exem-</p><p>plo para um melhor entendimento, vejamos:</p><p>Sendo A ≡ 42 = 16 (1) e B ≡ 3 ∉ N (0), temos A → B ≡ se 42 = 16,</p><p>então B ≡ 3 ∉ N (0)</p><p>81</p><p>Se A ≡ 3 | 13 (0) e B ≡ = 52 (0), temos A → B ≡ 3 | 13 → = 52 (1)</p><p>A tabela da verdade ficaria como mostra a tabela abaixo:</p><p>Tabela 7 - Operações de condicional</p><p>Fonte: Elaborada pelo autor, 2020.</p><p>Bicondicional: (se, e somente se,) ou ↔</p><p>Na bicondicional com proposições</p><p>A e B, a lógica é da proposição</p><p>composta, em que a leitura é: “A se, e somente se, B”, apresenta-</p><p>da pela simbologia A ↔ B, cujo o valor lógico é verdadeiro somente</p><p>para A e B com o mesmo valor-verdade, ou valor lógico, ou seja, “A”</p><p>(1) e “B” (1) ou “A” (0) e “B”(0), simultaneamente.</p><p>Algumas sentenças ou expressões podem ser dadas de exem-</p><p>plo para um melhor entendimento, então, vejamos:</p><p>Sendo A ≡ 7 + 9 = 16 (1) e B ≡ 7 e 9 ∊ N (1), temos A ↔ B ≡ 7 +</p><p>9 = 16 se, e somente se, B ≡</p><p>7 e 9 ∊ N (1)</p><p>Se A ≡ 3 | 13 (0) e B ≡ = 52 (0), temos A ↔ B ≡ 3 | 13 se e = 52 (1)</p><p>Se A ≡ 3 | 9 (1) e B ≡ = 2 (0), temos A ↔ B ≡ 3 | 9 se e = 52 (0)</p><p>Note que a notação “se e” é uma forma abreviada de escrever</p><p>“se, e somente se”, muito aplicado para tratamento em textos lógi-</p><p>cos e ou matemáticos.</p><p>82</p><p>NAND: (ne) ou ¬˄</p><p>Esta operação é mais específica e é muito útil para o desenvolvi-</p><p>mento dentro da álgebra de Boole.</p><p>A tabela da verdade ficaria como mostra a tabela a seguir:</p><p>Tabela 6: Operações de NAND</p><p>Fonte: Elaborada pelo autor, 2020.</p><p>NOR: (nou) ou ¬˅</p><p>Esta operação é mais específica, assim como a NAND, também sen-</p><p>do muito útil para o desenvolvimento dentro da álgebra de Boole.</p><p>A tabela da verdade ficaria:</p><p>Tabela 7 - Operações de NOR</p><p>Fonte: Elaborada pelo autor, 2020.</p><p>83</p><p>XOR: (ou exclusivo) ou ˅</p><p>Esta operação é uma variante da operação de disjunção com um tra-</p><p>tamento diferenciado, como você poderá observar adiante.</p><p>A tabela da verdade ficaria:</p><p>Tabela 8 - Operações ou exclusivo</p><p>Fonte: Elaborada pelo autor, 2020.</p><p>Observe que para as proposições A com B, em que temos a no-</p><p>tação A ˅ B, o valor lógico será falso quando A e B tiverem valores</p><p>idênticos, mas se forem diferentes teremos um resultado verdadei-</p><p>ro. Essa operação pode ser escrita em função dos conectivos, na qual</p><p>temos:</p><p>A ˅ B ≡ (A ˅ B) ˄ ¬ (A ˄ B)</p><p>Podemos traduzir que A “ou exclusivo” B corresponde a ope-</p><p>ração (A “disjunção” B), “conjunção” com “negação” de (A “con-</p><p>junção” B).</p><p>Tabela da Verdade</p><p>Você observou nos tópicos anteriores algumas tabelas da verdade.</p><p>Ela é uma forma prática de organizar os valores lógicos de proposi-</p><p>ções em análise e os resultados de operações lógicas relacionadas a</p><p>conectivos, o que facilitará o estudo de funções booleanas, podendo</p><p>auxiliar a redução de expressões com mais de duas variáveis.</p><p>Tivemos a oportunidade de ver tabelas com duas variáveis, A</p><p>e B, que são simples de organizar e analisar o resultado, mas uma</p><p>84</p><p>função com três ou mais variáveis aumenta a complexidade e pela</p><p>tabela podemos analisar o resultado de forma mais prática. Além da</p><p>tabela da verdade, que é um avanço dentro da lógica, e entrando nos</p><p>elementos de eletrônica digital, veremos adiante exemplos simples</p><p>e, como curiosidade, algumas expressões booleanas geradas por</p><p>circuitos lógicos e a análise delas através das tabelas.</p><p>Vamos entender a tabela da verdade resgatando a análise pe-</p><p>los sinais dos conectivos já vistos anteriormente e os valores verda-</p><p>deiros (V) e falsos (F) para as proposições, que chamaremos de p, q,</p><p>r ou s. Estas passarão mais adiante a serem chamadas de variáveis</p><p>de entrada para blocos lógicos ou circuitos lógicos.</p><p>Utilizamos a tabela da verdade na classificação de proposi-</p><p>ções quaisquer, como pode ser visto na Tabela 9 “Entradas e ope-</p><p>rações”, em que dada uma proposição: ¬ (p → (¬p → (q ˅¬q))), le-</p><p>mos negação de (“p” condicional de (negação de “p” condicional</p><p>de (“q” disjunção com negação de “q”). Iniciamos a composição da</p><p>tabela com as entradas (duas variáveis) e com as operações separa-</p><p>damente, em que no final apresentamos a solução (S).</p><p>S = ¬ (p → (¬p → (q ˅ ¬q)))</p><p>Tabela 9 – Entradas e Operações</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Neste exemplo, observamos que temos por resultado uma</p><p>proposição de contradição, pois todos os valores-verdade são falsos</p><p>(F), independente dos valores das proposições simples que a com-</p><p>põem.</p><p>Agora, vejamos outro exemplo: analisaremos a proposição</p><p>em que sua solução é dada por p↔ p ˄ (p ˅ q), em que podemos ler,</p><p>“p” bicondicional “p” com conjunção de (“p” disjunção “q”), como</p><p>85</p><p>mostra a tabela 10 “Solução”.</p><p>Aqui já temos uma tautologia como resultado, pois todos os</p><p>resultados deram o valor-verdade como verdadeiro. É possível no-</p><p>tar que a primeira análise é para a operação dentro dos parênteses,</p><p>ou seja, a disjunção entre “p” e “q”, na sequência tratamos da con-</p><p>junção entre p e o resultado do valor-verdade nos parênteses e, por</p><p>último, a análise da bicondicional entre p e a penúltima coluna.</p><p>Tabela 10 – Solução</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Representação de números binários com</p><p>sinal</p><p>Os computadores trabalham com um sistema binário. Isso signifi-</p><p>ca que, enquanto digitamos ou realizamos cálculos, as informações</p><p>que vemos são diferentes da forma como o computador interpreta:</p><p>ele faz a conversão dos números e letras para este sistema.</p><p>O sistema de numeração que utiliza base dois é igual a um nú-</p><p>mero binário, sendo estes números zero e um (0, 1).</p><p>O sistema binário surgiu séculos antes da criação dos computadores.</p><p>Estudos mostram que a civilização de Mangareva já utilizava este</p><p>sistema, usando elementos da natureza, como animais e frutas,</p><p>para representar seus valores (1, 2, 4, 8).</p><p>VOCÊ SABIA?</p><p>86</p><p>Para termos uma visão inicial da diferença entre números de-</p><p>cimais e binários, observe a tabela abaixo.</p><p>Tabela 11: Conversão de números binários</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Como vemos na Tabela 11, após a conversão para binários, só</p><p>existem números zero e um. A conversão para números binários é</p><p>feita pelo computador de forma automática e, a partir de agora, va-</p><p>mos estudar como funciona esta conversão.</p><p>Conversão: decimal para binário</p><p>Para converter determinado número para binário, devemos seguir</p><p>um passo a passo. Vamos usar como exemplo o número 30. Observe</p><p>87</p><p>a imagem:</p><p>Figura 1. Conversão decimal para binário.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>A conversão consiste em dividir o número decimal por dois</p><p>até não haver mais possibilidade de divisão. Os números que sobram</p><p>devem ser contados de baixo para cima e este é o resultado em biná-</p><p>rio. Vamos analisar a Figura 1:</p><p>• Iniciamos com o número que será convertido (30, em azul).</p><p>Devemos dividi-lo por dois (em amarelo), em seguida dividir</p><p>seu resultado (15) e assim sucessivamente até o fim;</p><p>• Os valores que sobram (em ciano) devem ser lidos de baixo</p><p>para cima (b).</p><p>Este é o resultado da conversão: 11110.</p><p>Conversão: binário para decimal</p><p>Agora que você aprendeu a converter números decimais em biná-</p><p>rios, vamos fazer o inverso: utilizar a mesma numeração da conver-</p><p>são anterior, na qual o número binário é 11110. Observe a Figura 2.</p><p>88</p><p>Figura 2. Conversão binário para decimal.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Vamos analisá-la:</p><p>• Um modo simples de converter o número binário 11110 é co-</p><p>locá-lo de trás para frente em uma coluna (b) e multiplicá-lo</p><p>por dois elevados à potência (iniciar sempre do zero [em cia-</p><p>no]);</p><p>• Os resultados somados (c) chegam ao número decimal: 30 (d).</p><p>Com os exemplos anteriores, conseguimos concluir que 30 e</p><p>11110 resultam no mesmo número, porém em sistemas numéricos</p><p>diferentes.</p><p>Bit de sinal</p><p>Utilizamos o sinal + para números positivos e - para negativos,</p><p>quando realizamos cálculos no papel, calculadora, computador etc.</p><p>No sistema binário, também existe uma forma de identificar se os</p><p>números são positivos ou negativos, através do bit de sinal.</p><p>No número binário, o último bit à esquerda é chamado de</p><p>MSB (Most Significant Bit) e é utilizado como sinal para identificar se</p><p>é positivo ou negativo:</p><p>89</p><p>Figura 3. Representação do bit de sinal.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Para exemplificar, imagine que o registrador possui em de-</p><p>terminada posição X os bits 0100101 e na posição Y os bits 1100101.</p><p>O primeiro bit, à esquerda, é o que define se o número é positivo ou</p><p>negativo.</p><p>Observe a Figura 4.</p><p>Figura 4. Binários positivos e negativos.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Por se tratar de números binários, os valores posicionais são</p><p>elevados à potência dois (a). O primeiro bit à esquerda informa se o</p><p>valor é positivo ou negativo (b). O último bit, à direita, é chamado</p><p>de LSD (Least Significant Bit). Na Figura 4, em (d), podemos ver a</p><p>diferença na conversão para decimal: número positivo ou negativo.</p><p>Aritmética binária com operandos</p><p>representados em complemento para dois</p><p>Antes de falarmos sobre complemento de dois, vamos entender</p><p>como funciona o complemento de um? Neste complemento, os nú-</p><p>meros são trocados, mantendo a mesma posição.</p><p>No complemento de um, onde é zero se torna um e onde é um</p><p>se torna zero. Observe a imagem a seguir:</p><p>90</p><p>Figura 5. Aritmética binária.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>O complemento de dois tem uma pequena diferença:</p><p>Figura 6. Complemento de dois.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>No complemento de dois, o primeiro passo é fazer a substi-</p><p>tuição dos números, mantendo na mesma posição, como no com-</p><p>plemento um (Figura 6, a). A seguir, é acrescentado o número um</p><p>ao LSB (b) e, por fim, chega-se ao número binário representado em</p><p>complemento para 2.</p><p>Soma</p><p>Como já sabemos, o sistema decimal utiliza os números de 0 a 9. No</p><p>sistema binário, as possibilidades de soma são somente 0 e 1, por</p><p>isso a forma de executar as operações é diferente. Veja um exemplo</p><p>de soma em decimal e binário:</p><p>91</p><p>Tabela 12. Soma decimal e binária.</p><p>Fonte: elaborada pelo autor, 2020.</p><p>Para iniciarmos os cálculos, é importante aprender como os</p><p>números binários podem ser somados. Observe a Figura 7.</p><p>Figura 7. Complemento de dois.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Assim como na soma de números decimais, nos números bi-</p><p>nários também colocamos um número embaixo do outro e, assim,</p><p>começamos o cálculo da direita para esquerda. Os números que so-</p><p>bram devem ser somados com o da posição seguinte:</p><p>92</p><p>Figura 8. A soma em números binários.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>O cálculo deve iniciar sempre da direita para a esquerda (a).</p><p>Quando no resultado sobra 1, o número deve ser somado com a pró-</p><p>xima posição (b). No nosso cálculo, somamos os números 5 e 4 em</p><p>binário e o resultado foi 9, ou seja, 1001.</p><p>Subtração</p><p>Para a subtração vamos utilizar a Figura 9:</p><p>Figura 9. Subtraindo número binários.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Vamos realizar uma subtração utilizando o cálculo 5 - 4 = 1</p><p>em binário.</p><p>93</p><p>Observe a Figura 10.</p><p>Figura 10. Subtração em números binários.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Assim como na soma, na subtração devemos iniciar da direita</p><p>para esquerda. Se houver a necessidade de subtrair 0 - 1, devemos</p><p>tomar emprestado da próxima posição à esquerda, assim como em</p><p>números decimais:</p><p>Figura 11. Subtração em números binários</p><p>2. Fonte: elaborado pelo autor, 2020.</p><p>Detecção de overflow em operações de</p><p>adição e subtração em números binários</p><p>Você deve ter notado que, em alguns casos, o resultado obtido está</p><p>com o sinal errado. No sistema binário, quando o resultado é incor-</p><p>reto, ou a palavra possui um tamanho maior do que já está sendo</p><p>utilizado, acrescenta-se um bit à esquerda. Esta ação é chamada de</p><p>overflow, que em português significa “transbordar”, “estourar”.</p><p>94</p><p>Essa condição de overflow acontece apenas quando somamos dois</p><p>números positivos ou dois números negativos, o que sempre produz</p><p>um resultado errado (CORRÊA, 2017, p. 55).</p><p>Para compreender melhor o overflow, vamos analisar a Figura</p><p>12: a soma dos números gera um resultado negativo (a). Para cor-</p><p>rigir, o sistema acrescenta um bit à esquerda com o sinal correto,</p><p>nesse caso, sinal positivo (b). Por fim, temos a palavra correta (c):</p><p>Figura 12. Overflow em operações de adição e subtração binárias.</p><p>Fonte: elaborado pelo autor, 2020.</p><p>Nível lógico-digital</p><p>O nível lógico-digital, ou o nível 0, é onde operam as memórias. Es-</p><p>tas memórias podem ser combinadas em grupos e são armazenadas</p><p>pelos registradores. É o nível mais baixo. Nesse nível, um transistor</p><p>pode funcionar como um computador binário muito rápido.</p><p>Álgebra booleana</p><p>A álgebra booleana trabalha em sistema binário, dessa forma, por</p><p>utilizar apenas zero e um, pode ser considerada mais simples que a</p><p>álgebra convencional. É utilizada com o intuito de facilitar a relação</p><p>entre entrada e saída (E/S) através de diversas portas, além de po-</p><p>95</p><p>der ser utilizada para representar o nível de tensão de uma conexão</p><p>(nível-lógico).</p><p>Tabela 13. Álgebra booleana.</p><p>Fonte: MOSS; TOCCI; WIDMER, 2011, p.50.</p><p>Tabela verdade na álgebra booleana</p><p>As tabelas verdade descrevem uma função lógica listando todas as</p><p>combinações possíveis de valores de entrada e indicando, para cada</p><p>combinação, um valor de saída (STALLINGS, 2010, p. 610). Observe</p><p>abaixo as tabelas da Figura 13.</p><p>Figura 13. Tabelas-verdade.</p><p>96</p><p>Fonte: MOSS; TOCCI; WIDMER, 2011, p.50.</p><p>Vamos analisar as tabelas da Figura 13. Podemos ver que</p><p>existem duas entradas (a e b) e uma saída (x) que são representa-</p><p>das nas colunas. As linhas são os níveis que cada tabela poderá ter.</p><p>Para sabermos quantos níveis a tabela deve ter, devemos considerar</p><p>a quantidade de entradas e elevá-las à potência dois (binário). Nes-</p><p>te caso, temos duas entradas, então consideramos 22 = 4 (quatro</p><p>linhas).</p><p>A primeira coluna da direita para a esquerda vai ter sempre a</p><p>sequência de 1 em 1 binário. Na coluna B, temos 0-1-0-1. Na coluna</p><p>A, temos a sequência de 2 em 2 binário: 0-0-1-1.</p><p>A coluna x mostra a combinação correta para cada nível. Por</p><p>exemplo, na primeira linha, para as entradas A = 0 e B = 0, a saída é X</p><p>= 1; e na segunda linha, para as entradas A = 0 e B = 1, a saída é X = 0.</p><p>Podemos observar claramente nas tabelas (b) e (c) que, não</p><p>importa a quantidade de entradas (colunas), elas sempre seguirão a</p><p>sequência utilizada no primeiro exemplo (a):</p><p>• Primeira coluna: sequência de 1 em 1;</p><p>• Segunda coluna: sequência de 2 em 2;</p><p>• Terceira coluna: sequência de 4 em 4;</p><p>• Quarta coluna: sequência de 8 em 8.</p><p>• E assim por diante.</p><p>97</p><p>Circuitos lógico-digitais básicos</p><p>Um circuito lógico-digital é um circuito com diversos mecanismos</p><p>chamados portas. Cada porta possui uma operação diferente e, con-</p><p>forme cada mecanismo é acionado, uma saída é gerada, até que por</p><p>fim todo o processo seja completo. Os computadores têm a capaci-</p><p>dade de executar essas ações milhões de vezes e numa velocidade</p><p>muito alta.</p><p>A partir de agora, veremos os diferentes tipos de porta, como</p><p>funcionam suas entradas e saídas e a forma que elas são represen-</p><p>tadas na tabela-verdade.</p><p>OR (ou)</p><p>A porta OR (ou) é um circuito que possui duas ou mais entradas e</p><p>uma saída (Figura 14). Ela opera com a expressão booleana: x = A</p><p>+ B.</p><p>Figura 14. Porta OR.</p><p>Fonte: MOSS; TOCCI; WIDMER, 2011, p.51.</p><p>Como podemos ver na imagem, a tabela-verdade (a) mostra</p><p>todas as possibilidades de acordo com a quantidade de entradas da</p><p>porta. Por exemplo, vamos considerar que 0 é negativo e 1 positivo.</p><p>Na linha 1, a entrada A e B são 0, dessa forma, a saída X também é 0.</p><p>98</p><p>Na quarta linha, a entrada A possui 1 e a entrada B possui 0, dessa</p><p>forma, a saída é positiva: 1.</p><p>AND (e)</p><p>A porta AND (e) possui duas ou mais entradas e uma saída (Figura</p><p>15). Diferentemente da porta OR, ela opera com a expressão boolea-</p><p>na x = AB.</p><p>Observe a Figura 15.</p><p>Figura 15. AND.</p><p>Fonte: MOSS; TOCCI; WIDMER, 2011, p.54.</p><p>A operação AND consiste no fato de que, se uma das entradas</p><p>for zero, a saída será sempre zero. Veja que, na Figura 15, em todas</p><p>as linhas em que existe uma entrada zero o resultado é zero.</p><p>NOT (não) ou inversão</p><p>A porta NOT (não) também é conhecida pela inversão, além de pos-</p><p>suir uma entrada. Ela opera com a expressão booleana: x = A.</p><p>99</p><p>Figura 16. NOT ou inversão.</p><p>Fonte: MOSS; TOCCI; WIDMER, 2011, p.57.</p><p>Observando a Figura 16, podemos ver um círculo que re-</p><p>presenta a inversão, dessa forma, na tabela-verdade notamos que</p><p>quando A = 0, x = 1; e quando A = 1, x = 0.</p><p>NAND</p><p>A porta NAND é representada pelo mesmo símbolo da porta AND,</p><p>porém acrescentado de</p><p>um círculo que significa inversão. Nesta</p><p>operação, é utilizada a expressão booleana: x = AB.</p><p>Figura 17. NAND.</p><p>Fonte: MOSS; TUCCI; WIDMER, 2011, p.66.</p><p>100</p><p>Vamos analisar a tabela-verdade na Figura 17: na primeira li-</p><p>nha, temos as entradas A = 0 e B = 0. Na operação AND, o resultado</p><p>é x = 0, porém com a inversão o resultado NAND é x = 1. Também</p><p>podemos ver que na quarta linha as entradas são A = 1 e B = 1. Na</p><p>operação AND, o resultado é x = 1, porém com a inversão, na tabela</p><p>NAND, vemos x = 0.</p><p>NOR</p><p>Basicamente, o símbolo utilizado para porta NOR é o mesmo da por-</p><p>ta OR acrescentado de um círculo que representa a inversão.</p><p>Ela opera com a expressão booleana X= A + B. Isso significa</p><p>que, primeiramente, é feita a operação OR e em seguida a operação</p><p>de inversão.</p><p>Figura 18. NOR.</p><p>Fonte: MOSS; TUCCI; WIDMER, 2011, p.64.</p><p>101</p><p>Vamos analisar a tabela-verdade: na primeira linha, temos</p><p>as entradas A = 0 e B = 0. Na operação OR, o resultado é x = 0, e após</p><p>a inversão a tabela NOR é x = 1.</p><p>Na quarta linha, temos as entradas A = 1 e B = 1. Na operação</p><p>OR, o re- sultado é x = 1, mas após a inversão a tabela NOR mostra</p><p>que x = 0.</p><p>XOR</p><p>Na porta XOR, a saída vai a nível alto sempre que uma entrada</p><p>for diferente da outra. Esta operação usa a expressão booleana:</p><p>x = A B, x = A B ou x = A B.</p><p>Observe a Figura 19:</p><p>Figura 19. XOR.</p><p>Fonte: MOSS; TUCCI; WIDMER, 2011, p.122.</p><p>102</p><p>Podemos ver na tabela-verdade da Figura 19, que sempre que</p><p>os valores das entradas forem diferentes, a saída vai a nível alto. Na</p><p>primeira linha, vemos as entradas A = 0 e B = 0 e na quarta linha as</p><p>entradas A = 1 e B= 1, dessa forma, a saída em cada uma delas é x = 0.</p><p>Na segunda e terceira linhas, os valores são diferentes. Na segunda</p><p>linha, vemos as entradas A = 0 e B = 1 e na terceira linha as entradas</p><p>A = 1 e B = 0, dessa forma, a saída em ambas é x = 1.</p><p>Somador</p><p>Você já aprendeu até aqui como é feita a soma nos computadores</p><p>usando números binários. A partir de agora, você vai ver o compor-</p><p>tamento do computador durante esta operação utilizando o soma-</p><p>dor ou somadores.</p><p>Precisamos compreender que as operações realizadas pelos</p><p>computadores ocupam espaço na memória. Se consideramos que</p><p>determinada palavra possui 6 bits e ocorre um overflow, a memória</p><p>precisa disponibilizar mais espaço para o bit a mais que será uti-</p><p>lizado, ou quando na soma existe um número que “sobra” e deve</p><p>ser somado com os números da posição seguinte, este número que</p><p>sobra precisa de um espaço na memória.</p><p>Figura 20. O computador durante o processo de soma.</p><p>Fonte: MOSS; TUCCI; WIDMER, 2011, p.270.</p><p>103</p><p>Como vimos anteriormente, a soma é feita sempre da direita</p><p>para a esquerda, começando pelo LSB. Analisando a imagem acima,</p><p>vemos que os dois números a serem somados estão posicionados</p><p>um em cima do outro: primeira parcela e segunda parcela. Veja que</p><p>a soma de 1 + 1 = 0, e sobra 1. Esta sobra é chamada de carry.</p><p>Para esta operação são utilizados 5 bits:</p><p>• 3 bits para a soma: carry, primeira parcela e segunda parcela;</p><p>• 2 bits para o resultado: resultado da soma e o carry.</p><p>Os circuitos lógicos possibilitam que este processo seja mul-</p><p>tiplicado, tornando-o mais rápido e eficaz. Este circuito é chamado</p><p>de somador completo.</p><p>Figura 21. Carry.</p><p>Fonte: MOSS; TUCCI; WIDMER, 2011, p.270.</p><p>104</p><p>Figura 22. Carry - 2.</p><p>Fonte: MOSS; TUCCI; WIDMER, 2011, p.271.</p><p>Esta operação usa a expressão: S = A B Cin + A B Cin + A B C in +</p><p>ABCin .</p><p>Analisando a tabela-verdade de um circuito somador com-</p><p>pleto (Figura 22), temos as seguintes colunas:</p><p>A: refere-se aos bits da primeira parcela;</p><p>B: refere-se aos bits da segunda parcela;</p><p>Cin: refere-se ao carry;</p><p>S: refere-se à saída;</p><p>Cout: refere-se à saída do carry (aquela que será somada com a</p><p>posição seguinte).</p><p>105</p><p>Figura 23. Tabela-verdade de um circuito somador.</p><p>Fonte: MOSS; TUCCI; WIDMER, 2011, p.272.</p><p>Observe a Figura 23: o circuito lógico mostra os mecanismos</p><p>de entrada e saída referentes à tabela-verdade da Figura 22. Pode-</p><p>mos ver que, além das entradas A e B, existe também a entrada Cin</p><p>referente ao carry da posição anterior. Vemos também que, além da</p><p>saída S, temos a Cout referente ao valor que será somado juntamen-</p><p>te com a próxima posição.</p><p>Simulador de circuitos lógico-digitais</p><p>(software)</p><p>Existem dezenas de simuladores de circuitos digitais no mercado.</p><p>Vamos utilizar aqui uma versão gratuita e on-line, a The Logic Lab,</p><p>pois consideramos ser muito útil para sua prática.</p><p>O site possui dispositivos de entrada e saída, portas lógicas e</p><p>outros itens para que você possa montar diversos circuitos.</p><p>106</p><p>Figura 24. Portas lógicas.</p><p>Fonte: Neuroproductions, s/d.</p><p>Vamos fazer uma simulação: você lembra que a porta AND só</p><p>tem uma saída em nível alto quando as duas entradas são iguais a 1?</p><p>Vamos testar! Colocamos dois interruptores na entrada e um ven-</p><p>tilador na saída. Imagine que, quando o interruptor está ligado, a</p><p>entrada tem valor 1 e, quando está desligado, a entrada tem valor 0:</p><p>Figura 25. Simulação.</p><p>Fonte: Neuroproductions, s/d.</p><p>107</p><p>Podemos ver agora que mesmo se um dos interruptores for</p><p>ligado, não ocorre o acionamento do ventilador.</p><p>Figura 26. Simulação - 2.</p><p>Fonte: Neuroproductions, s/d.</p><p>Figura 27. Simulação - 3.</p><p>Fonte: Neuroproductions, s/d.</p><p>108</p><p>Por fim, ao acionar os dois interruptores, o ventilador foi</p><p>acionado. Conseguimos testar aqui o uso da porta AND:</p><p>Figura 28. Simulação - 4.</p><p>Fonte: Neuroproductions, s/d.</p><p>A partir de agora, você pode utilizar o simulador da sua pre-</p><p>ferência para exercitar as operações e portas vistas nesta Unidade.</p><p>Aproveite também para criar tabelas-verdade enquanto simula di-</p><p>versos circuitos lógico-digitais.</p><p>Vamos relembrar o que aprendemos até aqui?</p><p>Conhecemos os conceitos do Cálculo Proposicional, vimos o que é</p><p>sintaxe e semântica e suas diferenças, aprendemos os conectivos,</p><p>suas simbologias e aplicação com alguns exemplos, e vimos como</p><p>trabalhar com proposições em conjunto com os conectivos e suas</p><p>operações.</p><p>Além disso, conhecemos o conceito inicial sobre a tabela da verdade</p><p>SINTETIZANDO</p><p>109</p><p>e suas aplicações e vimos como os computadores utilizam o sistema</p><p>binário. Vimos também que a álgebra booleana é mais simples do</p><p>que a álgebra convencional por trabalhar apenas com binários e o</p><p>que são as tabelas-verdade.</p><p>Conhecemos os diferentes circuitos lógicos e como eles são repre-</p><p>sentados nas tabelas-verdade e aprendemos a utilizar um simu-</p><p>lador de circuito lógico-digital on-line e gratuito, plataforma esta</p><p>que permitirá que você realize diversas experiências e pratique os</p><p>conhecimentos aprendidos.</p><p>Espero que você tenha aprendido bastante! Até a próxima!</p><p>110</p><p>UN</p><p>ID</p><p>AD</p><p>E</p><p>3</p><p>Sistemas</p><p>formais, cálculos</p><p>proposicionais,</p><p>proposição</p><p>e silogismo</p><p>Objetivos</p><p>◼ Conhecer a teoria de modelos, decidibilidade e completude.</p><p>◼ Estudar linguagens formais e lógica proposicional.</p><p>◼ Aprender sobre semântica, proposições e silogismos categó-</p><p>ricos.</p><p>◼ Estudar a lógica de primeira ordem.</p><p>112</p><p>Introdução</p><p>Olá, aluno(a)! Bem-vindo(a) de volta!</p><p>Iremos agora aprender sobre os Sistemas Formais, Cálculos Propo-</p><p>sicionais, Proposição e Silogismo. Conheceremos aqui os principais</p><p>conceitos relacionados à definição de sistemas formais, ao alfabeto</p><p>formal da lógica proposicional e aprenderemos a realizar os cálculos</p><p>proposicionais. Aprenderemos também o importante teorema da</p><p>completude, consistência, modelos e decidibilidade, além de efeti-</p><p>vidade e independência. Todo o nosso aprendizado será guiado pela</p><p>apresentação de conceitos teóricos seguidos de alguns exemplos, o</p><p>que facilitará o entendimento de tais conceitos, que são de funda-</p><p>mental importância para a lógica matemática.</p><p>Também abordaremos a negação de proposições e a relação</p><p>entre proposições simples e tabela da verdade. Aprenderemos sobre</p><p>os principais quantificadores lógicos utilizados nas proposições e</p><p>como são feitas as devidas negações. Por fim, veremos alguns con-</p><p>ceitos de lógica clássica, lógica não clássica</p><p>e lógica aplicada a sis-</p><p>temas de informação.</p><p>Vamos à leitura?</p><p>113</p><p>Modelos e decidibilidade</p><p>A partir do momento em que Bolyai e Lobachevsky desenvolveram</p><p>a geometria não Euclidiana, e Riemann apresentou um modelo no</p><p>qual o postulado das paralelas era falso, mas todos os outros axio-</p><p>mas eram verdadeiros, a matemática foi obrigada a observar o fato</p><p>de que uma teoria poderia ser composta por mais do que um único</p><p>modelo.</p><p>Esses fatos, somados à formalização do desenvolvimento da</p><p>lógica de predicados apresentada por Frege, e à teoria ingênua dos</p><p>conjuntos apresentada por Cantor levaram à criação da Teoria de</p><p>Modelos.</p><p>Teoria de Modelos</p><p>A lógica matemática, como o próprio nome já sugere, é uma subárea</p><p>da matemática convencional, e dentre os vários estudos relaciona-</p><p>dos a esta ramificação da matemática estão os estudos relacionados</p><p>à Teoria de Modelos.</p><p>A Teoria de Modelos é a área da lógica matemática (ou da</p><p>própria matemática em si) responsável por lidar com as relações</p><p>existentes entre a linguagem formal e suas interpretações, ou seja,</p><p>os modelos. De forma geral, podemos dizer que a Teoria de Modelos</p><p>clássica, é a Teoria de Modelos de Predicados de primeira ordem.</p><p>Na matemática, um modelo pode ser entendido como uma</p><p>estrutura cujo tipo consiste de outros conjuntos que são formados</p><p>por estruturas comuns da matemática. Talvez isso pareça um pou-</p><p>co confuso, mas, para simplificar, podemos dizer que um modelo é</p><p>uma estrutura que apresenta as seguintes características:</p><p>• abrange o campo dos números reais;</p><p>• apresentam grupos cíclicos de ordem cinco;</p><p>• possui uma estrutura parcialmente ordenada que consiste em</p><p>todos os conjuntos numéricos inteiros, todos ordenados por</p><p>ordem de inclusão.</p><p>114</p><p>Para chegarmos até a criação e, consequentemente, à defini-</p><p>ção da Teoria de Modelos, precisamos antes passar pelos conceitos e</p><p>pressupostos da construção e definição das linguagens formais que,</p><p>neste caso, será proveniente da lógica de primeira ordem com iden-</p><p>tidade.</p><p>Esta abordagem permite, com suas características, a especi-</p><p>ficação de uma lista de símbolos e regras, a definição de um conjun-</p><p>to de sentenças que posteriormente poderão ser construídas a partir</p><p>dos símbolos.</p><p>A construção da linguagem formal não deve ser entendida</p><p>como um capricho matemático, pois a definição desta linguagem</p><p>faz-se necessária uma vez que sem ela não seria possível a cons-</p><p>trução e utilização de sentenças capazes de “exprimir alguma in-</p><p>formação” sobre os modelos, e tais informações podem ser obtidas</p><p>de forma muito simples. Para isso, é utilizada uma definição muito</p><p>básica de verdade.</p><p>Um valor verdade, também conhecido por valor lógico, per-</p><p>mite especificar para cada uma das sentenças que compõem o mo-</p><p>delo um dos seguintes valores verdade/lógico: verdadeiro ou falso. É</p><p>importante entender que cada modelo pode possuir apenas um dos</p><p>dois valores, verdadeiro ou falso, para o valor verdade.</p><p>É justamente essa possibilidade de definição de valor verda-</p><p>de/lógico que permite a criação de uma ponte capaz de fazer a liga-</p><p>ção entre a linguagem formal e suas diversas interpretações, inter-</p><p>pretações essas que somente são possíveis graças aos modelos.</p><p>Linguagens e Modelos</p><p>Podemos dizer que uma linguagem é composta por uma coleção de</p><p>símbolos que podem ser divididos em três grupos (DAGHLIAN,1995):</p><p>• símbolos de relações: P0, P1,..., Pn</p><p>• símbolos de funções: F0, F1,...,Fn</p><p>• símbolos de constantes (individuais): C0, C1,..., Cn</p><p>115</p><p>Sendo então L um conjunto finito, todos os símbolos de L po-</p><p>dem ser apresentados de forma extensional, assim teremos:</p><p>L = {P0,..., Pn, F0,...,Fm, C0,..., Cq }</p><p>Dessa forma, temos que cada símbolo P da linguagem denota</p><p>uma relação n-ária para algum inteiro n ≥ 1 dependente de P.</p><p>De forma similar, cada símbolo F que esteja em L denota uma</p><p>função n-ária para algum inteiro m ≥ 1 dependente de F . É preciso</p><p>observar que não são permitidas relações 0-árias. Caso exista mais</p><p>de uma linguagem, podemos referenciar cada uma delas da seguinte</p><p>forma: L´, L ´´, L´´´, etc. E, caso a linguagem possua símbolos bem</p><p>padronizados, tais como o sinal de “+” para a adição, “≥” para or-</p><p>dem, etc., podemos, para esta linguagem, escrever:</p><p>E assim por diante.</p><p>Enfim, a relação entre as linguagens e os modelos é exten-</p><p>sa, sendo suficiente para a composição de um livro inteiro dedicado</p><p>somente a este assunto.</p><p>Decibilidade</p><p>Existe na lógica um termo utilizado para referenciar problemas de</p><p>decisão, ou seja, problemas cuja questão principal é a existência ou</p><p>não de um método efetivo para que se possa determinar a pertinên-</p><p>cia de um conjunto de fórmulas, este termo é denominado decidível.</p><p>Assim como nos sistemas lógicos, na lógica proposicional o</p><p>conjunto de fórmulas é considerável decidível se a pertinência de</p><p>seu conjunto de fórmulas logicamente válidas puder ser efetiva-</p><p>mente determinada. Da mesma forma, uma teoria em um sistema</p><p>lógico fixo somente pode ser considerada decidível se existir um</p><p>algoritmo eficiente capaz de determinar se as fórmulas arbitrárias</p><p>116</p><p>pertencem ou não a ela.</p><p>Completude</p><p>Os cálculos proposicionais, assim como a própria lógica matemáti-</p><p>ca, são fundamentados em uma série de teoremas que representam</p><p>as verdades matemáticas, as quais explicam o conjunto de premis-</p><p>sas e conclusões que podemos obter neste sistema.</p><p>Há dois importantes teoremas estudados na lógica matemá-</p><p>tica: são os teoremas de completude e o teorema de completude</p><p>generalizada. Para a lógica das proposições, ou mais especifica-</p><p>mente o cálculo proposicional, esses teoremas são de extrema im-</p><p>portância.</p><p>Teoria de completude e completude generalizada</p><p>No ano de 1981, Kurt Gödel, em sua tese de doutorado, demonstrou</p><p>um fato que torna verdadeira a seguinte afirmação: dada uma lin-</p><p>guagem Lp da lógica elementar de primeira ordem, então, as noções</p><p>de consequência lógica e dedução são equivalentes (GÖDEL,1981).</p><p>Esta conclusão é denominada de teorema da completude</p><p>da lógica elementar, podendo este conceito ser aplicado no cálcu-</p><p>lo proposicional clássico e em diversos outros sistemas dedutivos,</p><p>clássicos ou não clássicos.</p><p>Em sua obra, Gödel propõe que se pode chegar a uma conclu-</p><p>são Lp a partir das premissas se, e somente se, esta conclusão é con-</p><p>sequência lógica dessas mesmas premissas. Em outros termos, sen-</p><p>do T o conjunto de fórmulas e α uma fórmula de Lp , então, segundo</p><p>Gödel, T ├ α se e somente se T ╞ α . Todavia, é preciso compreender</p><p>que α é logicamente válida (╞α) se, e somente se, for um elemento</p><p>formal da lógica elementar (├ α).</p><p>117</p><p>O que temos então é que, sendo uma teoria T (ou conjunto de fór-</p><p>mulas da linguagem LP), entende-se que uma interpretação (dado</p><p>geralmente por uma estrutura conjuntista, ou seja, estrutura elabo-</p><p>rada a partir de uma teoria de conjuntos, tal como ZF) relativamente</p><p>à qual os axiomas não lógicos de T (fórmulas de T) são verdadeiros.</p><p>Uma vez que os axiomas de LP são logicamente válidos, então em</p><p>toda e qualquer uma de suas interpretações, eles serão verdadeiros.</p><p>Sendo assim, para que seja um modelo para a teoria T, basta somen-</p><p>te que sua interpretação seja tal que os axiomas desta teoria sejam</p><p>específicos de T e sejam verdadeiros, isso devido ao fato de, por hi-</p><p>pótese T, se fundamentar em LP.</p><p>Observemos então que, se T é uma teoria elementar cuja</p><p>identidade é consistente, então T possui um modelo finito/enume-</p><p>rável, também chamado de contável. Com isso, é possível provar</p><p>os seguintes teoremas de completude (lembrando que a lógica ele-</p><p>mentar é uma teoria elementar isenta de símbolos não lógicos, logo,</p><p>não possui postulados específicos) (MORTARI, 2001):</p><p>sendo F um conjunto de fórmulas de uma teoria elementar T</p><p>e a uma fórmula de T”, então ?</p><p>|- T se e somente se P |= α</p><p>|- α se e somente se α.</p><p>Em termos mais simples, uma teoria (formulada em lógica L,</p><p>de primeira ordem) pode ser considerada completa, desde que para</p><p>toda L-sentença tenhamos “ou ou” como um Teorema.</p><p>O que estamos dizendo é que, não</p><p>podem existir L-sentenças</p><p>que sejam independentes.</p><p>Vejamos a Aritmética de Robinson:</p><p>EXEMPLO</p><p>118</p><p>Esta é a teoria de primeira ordem que não é completa. É muito</p><p>importante, porém que isto não seja confundido com decidibilidade.</p><p>Linguagens formais</p><p>Toda e qualquer linguagem é constituída de um conjunto de ele-</p><p>mentos básicos que formam o seu alfabeto. Este alfabeto é que de-</p><p>fine o conjunto contável de símbolos que podem ser utilizados na</p><p>linguagem, além de uma gramática que caracteriza sua sintaxe, ou</p><p>seja, especifica as formas como os símbolos podem ser agrupados</p><p>para que se formem expressões admissíveis da linguagem.</p><p>Definições</p><p>O que diferencia a linguagem formal da linguagem natural é o fato</p><p>de a linguagem formal ser precisamente específica, já na linguagem</p><p>natural isso nem sempre é possível.</p><p>Vejamos:</p><p>Seja ∑ um conjunto finito (contável) de símbolos, podemos</p><p>dizer então que ∑* é o conjunto de todas as cadeias finitas existen-</p><p>tes em ∑ , incluindo a cadeia vazia, que aqui será denotada por um</p><p>espaço em branco. Dessa forma, se ∑ = {a,b} , então</p><p>119</p><p>Para continuarmos, vamos definir uma linguagem L, sobre ∑,</p><p>qualquer subconjunto de ∑*. Assim, temos:</p><p>Uma linguagem formal (linguagem) é composta por um par</p><p>(∑,G), no qual ∑ refere-se ao conjunto contável de símbolos, de-</p><p>nominado de alfabeto, e G o conjunto finito das regras de derivação</p><p>denominado gramática.</p><p>Sendo assim, temos que, para toda linguagem</p><p>, deve ser fornecido um par L =(∑, G ) que a especifica. Acerca de L, é</p><p>importante frisar que esta é obtida algoritmicamente.</p><p>Quanto às regras de derivação de G , estas podem ser descri-</p><p>tas da seguinte por:</p><p>Podemos entender que os objetos do denominador são dados</p><p>a partir dos objetos do numerador. Dessa forma, caso n = 0 , então o</p><p>elemento da linguagem L que estará sendo gerado é proveniente do</p><p>conjunto vazio, sendo este denotado por:</p><p>Sendo α neste caso, uma constante ou um axioma de L.</p><p>Para entendermos um pouco melhor, consideremos uma lin-</p><p>guagem L =(∑, G), tal que a gramática G utilize as seguintes regras</p><p>de derivação:</p><p>Então, é correto afirmarmos que es-</p><p>pecifica a linguagem</p><p>* azul, verde(azul), azul rosa azul, verde(azul)rosa(azul) etc.</p><p>120</p><p>Sistema formal</p><p>Tendo em vista as definições de linguagem formal, podemos então</p><p>dizer que todo sistema formal que tem S em sua composição consti-</p><p>tui as seguintes categorias de entidades:</p><p>• uma coleção de objetos, a qual é denominada fórmulas de S ;</p><p>• uma subcoleção de fórmulas (eventualmente vazia), cujos</p><p>elementos são denominamos de axiomas de S; e</p><p>• um conjunto de regras de inferência. Entende-se como regra</p><p>de inferência a relação entre o conjunto de fórmulas e as fór-</p><p>mulas que fornecem os processos para se obter uma fórmula</p><p>(a consequência imediata da regra) a partir de outras fórmu-</p><p>las. Estas são as premissas da regra.</p><p>Sendo assim, se F é o conjunto das fórmulas de S , e se A é o</p><p>conjunto dos axiomas, e R o conjunto das regras, então, o sistema</p><p>formal pode ser visto como uma tripla ordenada da forma.</p><p>Temos:</p><p>O que é realmente importante aqui é caracterizar a relação de</p><p>dedutibilidade, que é simbolizada por ├ , ou por ├ S (quando a ne-</p><p>cessidade de mencionar o sistema existir), que permita exprimir o</p><p>conceito de dedução: dessa forma, a partir de certas fórmulas que</p><p>são dadas como premissas, podemos obter uma fórmula, a conclu-</p><p>são.</p><p>Tudo isso pode ser feito sem o significado ou sem que a in-</p><p>terpretação dos símbolos envolvidos sejam levados em conta, sendo</p><p>dependente unicamente das características puramente sintáticas do</p><p>sistema considerado, sendo esta a característica que valida o nome</p><p>“formal” dado a este tipo de sistema.</p><p>121</p><p>Via de regra, a obtenção das fórmulas de um sistema formal S</p><p>ocorre a partir de um conjunto inicial de símbolos, também conhe-</p><p>cidos como alfabeto ou vocabulário básico de S .</p><p>Lógica proposicional</p><p>A finalidade da lógica é estudar raciocínios que permitam deduzir</p><p>de determinadas hipóteses algumas conclusões. Para que tudo isso</p><p>seja possível, as noções de proposições, verdade e prova são funda-</p><p>mentais.</p><p>A lógica proposicional clássica constitui o mais simples</p><p>exemplo de lógica formal. Devemos considerar que esta lógica leva</p><p>em conta somente os valores verdade (ou valores lógicos) e a forma</p><p>das proposições.</p><p>Na lógica das proposições, quando algo é argumentado, ou</p><p>seja, quando se faz prova de alguma coisa, isto deve ser feito em</p><p>alguma linguagem. Estando esta linguagem formalizada, os argu-</p><p>mentos também podem ser formalizados, e é exatamente isto que</p><p>resulta em uma lógica formal; em contrapartida, resulta também</p><p>em uma lógica especulativa ou informal.</p><p>A linguagem da lógica proposicional</p><p>O alfabeto da linguagem da lógica proposicional ∑ é composto de</p><p>três conjuntos distintos, são eles:</p><p>VOCÊ SABIA?</p><p>122</p><p>• O conjunto V, enumerável das variáveis e constantes proposi-</p><p>cionais:V = {p1,...,pn} U {true, false}</p><p>• O conjunto C dos conceitos C = {┐, ˄,˅,→,↔} ;</p><p>• O conjunto P dos símbolos. P = {, , ), ( }.</p><p>• Sendo assim, ∑ = V U C U P.</p><p>Dessa forma, podemos dizer que a Linguagem Proposicional</p><p>Lp é uma linguagem associada a ∑, gerada pelas seguintes regras:</p><p>Sistema formal de lógica proposicional</p><p>A lógica proposicional é formada por um conjunto de símbolos que</p><p>formam o seu alfabeto. Assim como qualquer outra linguagem for-</p><p>mal, a lógica proposicional possui um alfabeto próprio composto</p><p>por símbolos e operadores lógicos.</p><p>Assim como outros sistemas, o sistema formal de cálculo</p><p>proposicional possui regras gramaticais que devem ser observadas</p><p>para a construção das sentenças da linguagem, sentenças essas que</p><p>são conhecidas como proposições compostas.</p><p>Os principais elementos do Sistema Formal do Cálculo Pro-</p><p>posicional são os símbolos proposicionais atômicos, os conectivos/</p><p>operadores lógicos, os símbolos de pontuação e os símbolos de ver-</p><p>123</p><p>dade. A descrição de cada um deles pode ser observada a seguir:</p><p>1. Símbolos proposicionais atômicos: representados pelas le-</p><p>tras p, q, r, s, t, u, v, w, x, y, z, todas em minúsculo. Para os</p><p>casos em que o quantitativo de símbolos disponíveis não seja o</p><p>suficiente, podemos repetir os símbolos, a partir do símbolo q,</p><p>adicionando ao mesmo uma numeração do sistema decimal,</p><p>indicando sua ordem, tal como é apresentado no exemplo:</p><p>2. Conectivos/Operadores lógicos: os conectivos lógicos que</p><p>podem ser utilizados nos Cálculos Proposicionais são a nega-</p><p>ção, representada pelo símbolo (~) ou (¬); o e, representado</p><p>pelo símbolo (→); o ou, representado pelo símbolo (↔); o se</p><p>ou condicional, representado pelo símbolo (→); e o se, e so-</p><p>mente se ou bi condicional, representado pelo símbolo (↔).</p><p>3. Símbolos de pontuação: os símbolos de pontuação são repre-</p><p>sentados por ( e ) e/ou [ e ].</p><p>4. Símbolos de Verdade: os símbolos de verdade são representa-</p><p>dos por (V) verdadeiro ou (F) falso.</p><p>Semântica da lógica proposicional</p><p>Em relação à lógica, precisamos entender, em sua fundamentação,</p><p>que o conceito de objetos é diferente do seu significado. Quando</p><p>tratamos do significado, ou semântica dos elementos sintáticos da</p><p>linguagem da lógica proposicional clássica, temos que entender que</p><p>este significado é dado em função de I, que é denominado interpre-</p><p>tação.</p><p>124</p><p>Interpretação semântica da lógica proposicional</p><p>O objetivo desta função é associar a cada uma das fórmulas da Ló-</p><p>gica das Proposições um determinado valor verdade, ou valor lógico</p><p>(como já discutido), podendo este valor ser “verdadeiro” ou “fal-</p><p>so”, sendo tais valores representados por t e por f, respectivamente.</p><p>Isso significa que cada uma das fórmulas em Lp pode possuir apenas</p><p>dois tipos de significado, t ou f.</p><p>Definição 1: sendo y uma fórmula e I uma interpretação, então</p><p>o significado de y indicado por I[y] é determinado pelas seguintes</p><p>regras ou operações:</p><p>Já as interpretações de</p><p>,</p><p>podem ser vistas na tabela “Interpretações das operações lógicas”.</p><p>125</p><p>126</p><p>Propriedades semânticas da lógica proposicional</p><p>E também através do teorema da dedução, que diz: sejam α e β</p><p>proposições no sistema de linguagens</p><p>Prova: basta somente observar a tabela verdade gerada por</p><p>α →β.</p><p>127</p><p>Forma do cálculo proposicional</p><p>De acordo com Alencar Filho (2002), proposições são conjuntos de</p><p>palavras ou símbolos do alfabeto proposicional que representam</p><p>pensamentos com sentido completo. Em outros termos, podemos</p><p>dizer que proposições afirmam fatos ou exprimem juízos a partir</p><p>dos quais são formadas determinadas entidades.</p><p>Alguns exemplos de proposições:</p><p>Toda proposição possui um valor lógico. Caso não seja possí-</p><p>vel determinar o valor lógico de uma sentença, então ela não é uma</p><p>sentença válida, consequentemente, não pode ser uma proposição.</p><p>Uma determinada proposição possui valor lógico verdade (V)</p><p>se ela for verdadeira; analogicamente, uma proposição tem valor</p><p>lógico falso (F) se ela for falsa. Para melhor entendermos, vejamos</p><p>as proposições a seguir:</p><p>p: A Holanda fica situada no continente Africano</p><p>q: O Brasil encontra-se situado no hemisfério sul.</p><p>No caso das proposições apresentadas acima, a primeira pos-</p><p>sui valor lógico falso, enquanto a segunda apresenta valor lógico</p><p>verdade, ou seja, V(p) = F e V(q) = V. Como citado, proposições po-</p><p>dem ser simples ou compostas.</p><p>Nem toda sentença é uma proposição. Na lógica matemática, para</p><p>que seja uma proposição, uma sentença deve, antes de qualquer ou-</p><p>tra coisa ser válida, e para ser válida, deve ser possível determinar</p><p>seu valor lógico. Uma sentença que represente uma exclamação ou</p><p>um questionamento nunca serão sentenças válidas.</p><p>DICA</p><p>128</p><p>É chamada proposição simples ou atômica, aquela que não</p><p>possui nenhuma outra proposição como parte de si mesma. As pro-</p><p>posições simples geralmente são representadas por letras minús-</p><p>culas, sempre respeitando os símbolos do alfabeto formal da lógica</p><p>proposicional. Alguns exemplos de proposições simples são:</p><p>p: João Pedro é ótimo em matemática.</p><p>q: Jéssica adora viajar.</p><p>r: O número 11 é um número primo.</p><p>Observemos que o valor lógico da proposição não importa, o</p><p>importante é que as proposições são válidas.</p><p>Uma proposição é considerada composta quando em sua</p><p>composição estão duas ou mais proposições simples. As proposições</p><p>compostas são representadas por letras maiúsculas, mas todas per-</p><p>tencentes ao alfabeto formal da lógica proposicional. Alguns exem-</p><p>plos de proposições compostas são:</p><p>P: João Pedro é ótimo em matemática e Ana Carolina adora</p><p>português.</p><p>Q: Jéssica adora viajar ou Cláudio adora ler um bom livro.</p><p>R: O número 11 é um número primo e 7 é um número par.</p><p>Novamente, é importante lembrarmos de que o valor lógico</p><p>não importa (momentaneamente), mas sim o fato de ser uma sen-</p><p>tença válida e ser composta por duas ou mais proposições simples.</p><p>É a partir do cálculo proposicional que podemos definir a se-</p><p>mântica de uma fórmula com base em sua interpretação. Assim, a</p><p>cada fórmula é associada uma aplicação do tipo:</p><p>Sendo N o número de símbolos proposicionais e verdade da</p><p>fórmula.</p><p>A definição dos símbolos do alfabeto proposicional é repre-</p><p>sentado da seguinte forma:</p><p>Símbolos verdade: sua interpretação é fixa e é dada da se-</p><p>guinte forma:</p><p>I[True] = T e I[False] = F</p><p>129</p><p>Símbolos proposicionais: seja um símbolo proposicional p, a</p><p>ele pode estar associado qualquer valor do contradomínio I, sendo</p><p>assim:</p><p>I[p] {T,F}.</p><p>Conectivos proposicionais: isolados eles não possuem qual-</p><p>quer significado. Contudo, através dos métodos de interpretação</p><p>e simplificação de uma fórmula, é possível denotar significado ao</p><p>conectivo. A descrição da interpretação dos conectivos é dada da se-</p><p>guinte forma:</p><p>Dadas duas fórmulas proposicionais H e G:</p><p>Negação:</p><p>Se E = ¬H, então:</p><p>I[E] = F, para I[H] = T.</p><p>I[E] = T, para I[H] = F.</p><p>Conjunção:</p><p>Se E = (H G), então:</p><p>I[E] = F, para I[H] = F e/ou I[G] = F. I[E] = T, para I[H] = T e</p><p>I[G] = T.</p><p>Disjunção:</p><p>Se E = (H G), então:</p><p>I[E] = F, para I[H] = F e I[G] = F. I[E] = T, para I[H] = T e/ou</p><p>I[G] = T.</p><p>Implicação:</p><p>Se E = (H G), então:</p><p>I[E] = F, para I[H] = T e I[G] = F. I[E] = T, para I[H] = F e/ou</p><p>130</p><p>I[G] = T.</p><p>Equivalência:</p><p>Se E =(H G), então:</p><p>I[E] = F, para I[H] I[G].</p><p>I[E] = T, para I[H] = I[G].</p><p>Relacionado ao conectivo , precisamos compreender que este</p><p>denota o conceito de “necessidade”, ou seja, a existência do conse-</p><p>quente G indica ser estritamente necessária a existência do ante-</p><p>cedente H. Isso significa dizer que a condição é “necessária”, é um</p><p>pré-requisito para que o fato ocorra. Entretanto, sua existência não</p><p>é suficiente para garantir que o fato (proposição) seja verdade.</p><p>Já em relação ao conectivo, este denota a ideia de “suficiên-</p><p>cia”, ou seja, o consequente G é suficiente para que o antecedente H</p><p>ocorra. Para que seja considerada “suficiente”, o conjunto de todos</p><p>os pré-requisitos necessários para que um fato ocorra devem estar</p><p>presentes. Assim, basta que o conjunto seja verídico para que o fato</p><p>também o seja.</p><p>Exemplos de proposições simples e</p><p>compostas</p><p>Vamos demonstrar alguns exemplos de sentenças válidas, não váli-</p><p>das, proposições simples e proposições compostas. Serão apresen-</p><p>tadas também algumas atividades com suas respectivas resoluções.</p><p>Sentenças válidas e sentenças inválidas</p><p>Sentenças válidas são aquelas que são capazes de exprimir juízo, ou</p><p>seja, é possível determinar um valor lógico para a sentença. Obser-</p><p>vemos o conjunto de sentenças que é apresentado a seguir:</p><p>131</p><p>(a) Socorro!</p><p>A sentença apresentada na letra a não é uma sentença válida,</p><p>uma vez que podemos ver que se trata de uma exclamação e sabe-</p><p>mos que não é possível determinar o valor lógico de uma frase ex-</p><p>clamativa, sendo assim, a sentença a é inválida.</p><p>(b) Leandro é um jovem muito empenhado nos estudos.</p><p>A sentença apresentada na letra b é sim uma sentença váli-</p><p>da. Observemos que da forma como foi construída, podemos atri-</p><p>buir um valor verdade ou valor lógico para a sentença. Esta sentença</p><p>pode ser verdadeira ou pode ser falsa. Seu valor lógico não interfere</p><p>na validade ou não da sentença.</p><p>(c) Em qual horário será transmitido o jogo de hoje?</p><p>A sentença apresentada na letra c não é uma sentença válida,</p><p>observemos que se trata de um questionamento, sabemos que não é</p><p>possível determinar o valor lógico de uma frase interrogativa, sendo</p><p>assim, a sentença a é inválida.</p><p>(d) O carnaval brasileiro é uma das festas mais elegantes do</p><p>mundo.</p><p>A sentença apresentada na letra d é sim uma sentença válida.</p><p>Vejamos que da forma como foi construída, podemos atribuir um</p><p>valor verdade ou valor lógico para a sentença. Esta sentença pode</p><p>ser verdadeira ou pode ser falsa. Seu valor lógico não interfere na</p><p>validade ou não da sentença.</p><p>(e) Antonieta acorda cedo todos os dias para ir a biblioteca.</p><p>A sentença apresentada na letra e é sim uma sentença váli-</p><p>da. Observe que da forma como foi construída, pode-se atribuir um</p><p>valor verdade ou valor lógico para a sentença. Esta sentença pode</p><p>ser verdadeira ou pode ser falsa. Seu valor lógico não interfere na</p><p>validade ou não da sentença.</p><p>(f) Carlos Alberto preparou-se adequadamente para as pro-</p><p>vas que virão.</p><p>A sentença apresentada na letra f é sim uma sentença váli-</p><p>da. Observemos que da forma como foi construída, podemos atri-</p><p>132</p><p>buir um valor verdade ou valor lógico para a sentença. Esta sentença</p><p>pode ser verdadeira ou pode ser falsa. Seu valor lógico não interfere</p><p>na validade ou não da sentença.</p><p>(g) Ana Clara tem estudado para a prova?</p><p>A sentença apresentada na letra g não é uma sentença váli-</p><p>da, vejamos que se trata de um questionamento, sabemos que não é</p><p>possível determinar o valor lógico de uma frase interrogativa, sendo</p><p>assim, a sentença a é inválida.</p><p>(h) Todos que estudaram tiveram boas notas.</p><p>A sentença apresentada na letra h é sim uma sentença váli-</p><p>da. Observemos que da forma como foi construída, podemos atri-</p><p>buir um valor verdade ou valor</p><p>� � � � � � � � � 66</p><p>Tautologia � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 66</p><p>Sintaxe � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �71</p><p>Semântica � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 72</p><p>Proposições e conectivos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 73</p><p>Operações lógicas e tabelas da verdade � � � � � � � � � � � � � � � � � � � � � � � � � 77</p><p>Negação: NOT (não) ou ¬ ou ~ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 77</p><p>Conjunção: AND (e) ou ^ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 78</p><p>Disjunção: OR (ou) ou ˅ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 79</p><p>Bicondicional: (se, e somente se,) ou ↔ � � � � � � � � � � � � � � � � � � � � � � � � � � �81</p><p>NAND: (ne) ou ¬˄ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 82</p><p>NOR: (nou) ou ¬˅ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 82</p><p>XOR: (ou exclusivo) ou ˅ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 83</p><p>Tabela da Verdade � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 83</p><p>Representação de números binários com sinal � � � � � � � � � � � � � � � � � �85</p><p>Conversão: decimal para binário � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 86</p><p>Conversão: binário para decimal � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 87</p><p>Bit de sinal � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 88</p><p>Aritmética binária com operandos representados em complemento</p><p>para dois � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 89</p><p>Soma � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 90</p><p>Subtração � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 92</p><p>Detecção de overflow em operações de adição e subtração em</p><p>números binários � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 93</p><p>Nível lógico-digital � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 94</p><p>Álgebra booleana � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 94</p><p>Tabela verdade na álgebra booleana � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 95</p><p>Circuitos lógico-digitais básicos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �97</p><p>OR (ou) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 97</p><p>AND (e) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 98</p><p>NOT (não) ou inversão � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 98</p><p>NAND � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 99</p><p>NOR � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 100</p><p>XOR � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �101</p><p>Somador � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 102</p><p>Simulador de circuitos lógico-digitais (software) � � � � � � � � � � � � � �105</p><p>UNIDADE 3</p><p>Modelos e decidibilidade � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 113</p><p>Teoria de Modelos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 113</p><p>Linguagens e Modelos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �114</p><p>Decibilidade � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 115</p><p>Completude � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 116</p><p>Teoria de completude e completude generalizada � � � � � � � � � � � � � � � � �116</p><p>Linguagens formais � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��� � � � � � 118</p><p>Definições � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �118</p><p>Sistema formal � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 120</p><p>Lógica proposicional � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 121</p><p>A linguagem da lógica proposicional � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 121</p><p>Sistema formal de lógica proposicional � � � � � � � � � � � � � � � � � � � � � � � � � � � 122</p><p>Semântica da lógica proposicional � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 123</p><p>Interpretação semântica da lógica proposicional � � � � � � � � � � � � � � � � � 124</p><p>Propriedades semânticas da lógica proposicional � � � � � � � � � � � � � � � � � 126</p><p>Forma do cálculo proposicional � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 127</p><p>Exemplos de proposições simples e compostas � � � � � � � � � � � � � � � � � 130</p><p>Sentenças válidas e sentenças inválidas � � � � � � � � � � � � � � � � � � � � � � � � � � 130</p><p>Sentenças simples (atômicas) e compostas (moleculares) � � � � � � � � 132</p><p>Linguagem natural, linguagem proposicional e valores lógicos � � � � �135</p><p>Proposição e silogismo categóricos � � � � � � � � � � � � � � � � � � � � � � � � � � � 140</p><p>Proposição lógica � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 140</p><p>Proposições lógicas compostas � � � � � � � � � � � � � � � � � � � � � �141</p><p>Tabela verdade � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 143</p><p>Silogismos categóricos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �146</p><p>Utilização das proposições lógicas � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 146</p><p>Falso silogismo ou falácia � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 148</p><p>Lógica de primeira ordem � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �148</p><p>Quantificador lógico “Todo” � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 149</p><p>Negação do quantificador lógico “Todo” � � � � � � � � � � � � � � � � � � � � � � � � � � 151</p><p>Quantificador lógico “Algum” � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 152</p><p>Negação do quantificador lógico “Algum” � � � � � � � � � � � � � � � � � � � � � � � � 152</p><p>Quantificador lógico “Nenhum” � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 152</p><p>Negação do quantificador lógico “Nenhum” � � � � � � � � � � � � � � � � � � � � � �153</p><p>UNIDADE 4</p><p>Linguagem de máquina e linguagem de montagem (assembly</p><p>language) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 157</p><p>Linguagem de máquina � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 158</p><p>Linguagem de montagem (assembly language) � � � � � � � � � � � � � � � � � 159</p><p>Estrutura da linguagem de montagem � � � � � � � � � � � � � � � � � � � � � � � � � � � 159</p><p>Rótulo � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 160</p><p>Mnemônico � � � � � � � � � � � � �</p><p>lógico para a sentença. Esta sentença</p><p>pode ser verdadeira ou pode ser falsa. Seu valor lógico não interfere</p><p>na validade ou não da sentença.</p><p>(i) Em caso de incêndio, quebre o vidro.</p><p>A sentença apresentada na letra i é sim uma sentença válida.</p><p>Vejamos que da forma como foi construída, podemos atribuir um</p><p>valor verdade ou valor lógico para a sentença. Esta sentença pode</p><p>ser verdadeira ou pode ser falsa. Seu valor lógico não interfere na</p><p>validade ou não da sentença.</p><p>(j) Trata-se de vento.</p><p>A sentença apresentada na letra j é inválida. Observemos que</p><p>mesmo não se tratando de uma exclamação ou um questionamento,</p><p>a sentença não permite especificar um valor lógico.</p><p>Sentenças simples (atômicas) e compostas</p><p>(moleculares)</p><p>Para determinar se uma sentença é simples ou composta, devemos</p><p>primeiramente identificar quantas proposições podem ser encon-</p><p>tradas na sentença. Caso seja possível encontrar mais do que uma</p><p>única proposição, então a sentença é considerada composta.</p><p>133</p><p>(a) Todos os seres humanos são mortais.</p><p>Resolução: a proposição é simples, em sua composição não</p><p>podem ser identificadas outras proposições, ou seja, a frase “todos</p><p>os seres humanos são mortais” exprime somente um único juízo,</p><p>realiza somente uma única afirmação.</p><p>(b) Algumas pessoas são mais altas do que as outras.</p><p>Resolução: a proposição é simples, em sua composição não</p><p>podem ser identificadas outras proposições, ou seja, a frase “algu-</p><p>mas pessoas são mais altas do que as outras” exprime somente um</p><p>único juízo, realiza somente uma única afirmação.</p><p>(c) O que se sabe é que estando o tempo chuvoso, as pessoas</p><p>irão utilizar guarda-chuvas.</p><p>Resolução: a proposição é composta, em sua composição</p><p>podem ser identificadas outras proposições, observemos abaixo a</p><p>decomposição da proposição composta em duas outras proposições</p><p>simples:</p><p>p: o tempo está chuvoso.</p><p>q: pessoas irão utilizar guarda-chuvas.</p><p>(d) Carlos Alberto não está estudando e Ana Clara tem obti-</p><p>do ótimos resultados.</p><p>Resolução: a proposição é composta, em sua composição po-</p><p>dem ser identificadas outras proposições, vejamos abaixo a decom-</p><p>posição da proposição composta em duas outras proposições sim-</p><p>ples:</p><p>p: Carlos Aberto não está estudando.</p><p>q: Ana Clara tem obtido ótimos resultados.</p><p>(e) Fábio mandou avisar, nasceu um menino.</p><p>Resolução: a proposição é simples, em sua composição não</p><p>podem ser identificadas outras proposições, apesar de existir a im-</p><p>pressão de que se tratam de duas proposições, vejamos que neste</p><p>caso não existe nenhum conectivo, nem explícito e nem mesmo</p><p>implícito. A única proposição que podemos observar na sentença é</p><p>134</p><p>“Fábio mandou avisar, nasceu um menino”.</p><p>(f) Aquelas aves voam para o sul, mas os patos decidiram</p><p>não voar este ano.</p><p>Resolução: a proposição é composta, em sua composição po-</p><p>dem ser identificadas outras proposições, vejamos abaixo a decom-</p><p>posição da proposição composta em duas outras proposições sim-</p><p>ples:</p><p>p: aves voam para o sul.</p><p>q: os patos decidiram não voar este ano.</p><p>(g) Jovens esforçados geralmente alcançam o sucesso.</p><p>Resolução: a proposição é simples, em sua composição não</p><p>podem ser identificadas outras proposições, ou seja, a frase “Jovens</p><p>esforçados geralmente alcançam o sucesso” exprime somente um</p><p>único juízo, realiza somente uma única afirmação.</p><p>(h) Algumas lutas são necessárias, outras não.</p><p>Resolução: a proposição é composta, em sua composição po-</p><p>dem ser identificadas outras proposições, vejamos abaixo a decom-</p><p>posição da proposição composta em duas outras proposições sim-</p><p>ples:</p><p>p: algumas lutas são necessárias.</p><p>q: outras lutas não são necessárias.</p><p>(i) O mundo pode ser compartilhado entre os seres huma-</p><p>nos e os demais animais.</p><p>Resolução: a proposição é simples, em sua composição não</p><p>podem ser identificadas outras proposições, ou seja, a frase “O</p><p>mundo pode ser compartilhado entre os seres humanos e os ani-</p><p>mais” exprime somente um único juízo, realiza somente uma única</p><p>afirmação.</p><p>(j) A noite está chegando, uns devem se recolher aos seus</p><p>leitos e outros deverão aproveitar para terem momentos de lazer.</p><p>Resolução: a proposição é composta. Em sua composição po-</p><p>dem ser identificadas outras proposições, vejamos abaixo a decom-</p><p>135</p><p>posição da proposição composta em duas outras proposições sim-</p><p>ples:</p><p>p: uns devem se recolher aos seus leitos.</p><p>q: outros deverão aproveitar para terem momentos de lazer.</p><p>Linguagem natural, linguagem proposicional e</p><p>valores lógicos</p><p>Além de entendermos o que são sentenças válidas e inválidas, sim-</p><p>ples e compostas, é preciso sabermos também como verificar o va-</p><p>lor lógico de uma sentença. Este conhecimento nos permite definir</p><p>se a sentença é válida ou não em termos de observação das regras da</p><p>lógica das proposições.</p><p>Isso significa dizer que, mesmo que uma sentença seja válida,</p><p>ou seja, exprima juízo ou faça alguma afirmação e, portanto, seja</p><p>possível determinar seu valor lógico, esta proposição pode ainda ser</p><p>considerada inválida se pelas regras da lógica, o valor lógico obtido</p><p>a partir dos cálculos proposicionais indicarem um “absurdo”.</p><p>Sabemos que toda a proposição simples (p) pode assumir um</p><p>valor lógico V ou F Sendo assim, podemos dizer que o valor lógico de</p><p>uma proposição é dado por V(p) = { v, f }</p><p>Vamos utilizar as mesmas frases da seção anterior. Para cada</p><p>frase vamos observar as possibilidades lógicas para cada tipo de</p><p>proposição (simples ou composta) e os conectores aplicados quando</p><p>são proposições compostas. Iniciando pela frase:</p><p>Todos os seres humanos são mortais.</p><p>Resolução: como aprendemos, esta proposição pode possuir</p><p>valor verdade “verdadeiro” ou valor verdade “falso”. Sabemos que</p><p>para a referida frase o valor verdade é “verdadeiro”, sendo assim,</p><p>V(p) = v .</p><p>Entretanto, pela lógica das proposições, toda proposição</p><p>simples pode possuir dois valores lógicos. Dessa forma, poderíamos</p><p>também considerar a possibilidade de que V(p)=f.</p><p>136</p><p>Reescrevendo a frase, tomando como verdadeira a premissa</p><p>de que V(p)=f , teremos que “todos os seres humanos são imortais”.</p><p>A próxima frase da sequência é:</p><p>Algumas pessoas são mais altas do que as outras.</p><p>Resolução: assim como no exemplo anterior, trata-se tam-</p><p>bém de uma proposição simples, dessa forma sua resolução tam-</p><p>bém se torna mais simples. Neste caso, o valor lógico da proposição</p><p>também é facilmente conhecido, ou seja, . Mas, como no exemplo</p><p>anterior, a lógica matemática permite (garante) que toda propo-</p><p>sição possui dois valores lógicos possíveis, sendo assim, devemos</p><p>considerar a possibilidade em que V(p)=f.</p><p>Vejamos agora a terceira frase da sequência:</p><p>O que se sabe é que estando o tempo chuvoso então as pes-</p><p>soas irão utilizar guarda-chuvas.</p><p>Resolução: esta é a primeira sentença formada por uma pro-</p><p>posição composta. O que temos é uma sentença formada por duas</p><p>proposições simples, ou seja, trata-se de uma proposição composta</p><p>unida por um conectivo de condicional.</p><p>A respeito do conectivo condicional sabemos que nem todas</p><p>as possibilidades de valores lógicos para as proposições simples são</p><p>capazes de gerar uma proposição composta logicamente aceita, ou</p><p>seja, situações em que obtemos a seguinte configuração de valores</p><p>lógicos v→ f = f, ou seja, a sentença torna-se inválida.</p><p>Ao decompormos esta preposição, extraindo dela suas pro-</p><p>posições simples, temos:</p><p>p: o tempo está chuvoso.</p><p>q: pessoas irão utilizar guarda-chuvas.</p><p>Reescrevendo a sentença com base nas possibilidades lógi-</p><p>cas, podemos obter as seguintes novas proposições válidas:</p><p>O que se sabe é que o tempo está não chuvoso, então as pes-</p><p>soas não usarão o guarda-chuvas;</p><p>(V (p) = f e V (q) = f)</p><p>137</p><p>O que se sabe é que o tempo não está chuvoso, mas as pes-</p><p>soas irão usar o guarda-chuvas;</p><p>(V (p) = f e V (q) = f)</p><p>Agora outra proposição composta, mas utilizando outro co-</p><p>nectivo.</p><p>Carlos Alberto não está estudando e Ana Clara tem obtido</p><p>ótimos resultados.</p><p>Resolução: nesta frase, o conectivo utilizado para unir as duas</p><p>proposições simples é o conectivo de conjunção ou “e”. Pelas</p><p>regras</p><p>da lógica das proposições, uma sentença somente é considerada vá-</p><p>lida ou tem seu valor verdade “verdadeiro”, somente quando todas</p><p>as proposições simples que compõem a proposição composta for-</p><p>mada por elas possuem valor verdade “verdadeiro”. Isso significa</p><p>dizer que, caso alguma das proposições que compõem a sentença</p><p>seja “falso”, então toda sentença é logicamente falsa.</p><p>Para este caso, a única forma aceitável é a que é apresentada</p><p>no próprio exercício, para a qual (V(p) = v e V (q) = v).</p><p>Observemos a frase:</p><p>Fábio mandou avisar, nasceu um menino.</p><p>Resolução: apesar de aparentemente sugerir uma proposição</p><p>composta levando-nos a procurar qual seria o conectivo da frase, se</p><p>“e”, “ou” ou então um “se, então”, a proposição é simples. Assim</p><p>como em qualquer proposição simples, dois valores lógicos sempre</p><p>serão aceitos sem que qualquer regra da lógica seja violada.</p><p>Em casos como este, é comum que o valor lógico da frase seja</p><p>indicada pelo interlocutor, ou seja, vamos considerar que o valor</p><p>lógico da proposição seja “falsidade”, V(p) = f, isso significa dizer</p><p>que “não é verdade que Fábio mandou avisar que nasceu um me-</p><p>nino”</p><p>Para que isso seja verdade, então a frase que é apresentada na</p><p>opção e (apresentada anteriormente), representa V(p) = v, ou seja,</p><p>possibilidade em que o valor lógico da sentença é uma verdade.</p><p>Outra sentença composta por uma proposição composta:</p><p>138</p><p>Aquelas aves voam para o sul, mas os patos decidiram não</p><p>voar este ano.</p><p>Resolução: nesta frase, o conectivo utilizado para unir as duas</p><p>proposições simples é o conectivo de conjunção ou “e”. Pelas regras</p><p>da lógica das proposições, uma sentença somente é considerada vá-</p><p>lida ou tem seu valor verdade “verdadeiro”, somente quando todas</p><p>as proposições simples que compõem a proposição composta for-</p><p>mada por elas possuem valor verdade “verdadeiro”. Isso significa</p><p>dizer que, caso alguma das proposições que compõem a sentença</p><p>seja “falso”, então toda sentença é logicamente falsa.</p><p>Para este caso, a única forma aceitável é a que é apresentada</p><p>no próprio exercício, para a qual V(p) = v e V(q) = v , que pode, neste</p><p>caso, ser reescrito da seguinte forma: Aquelas aves voam para o sul</p><p>e os patos decidiram não voar este ano.</p><p>Observemos agora esta proposição simples:</p><p>Jovens esforçados geralmente alcançam o sucesso.</p><p>Resolução: por se tratar de uma proposição simples, a propo-</p><p>sição pode assumir um de dois valores lógicos,V(p) = {v,f}. Supondo</p><p>que para a proposição apresentada tenha-se V(p) = v, então, por re-</p><p>gra, devemos também considerar a possibilidade de V(p) = f .</p><p>Reescrevendo a frase considerando seu valor verdade como</p><p>“falsidade”, nos leva a seguinte sentença em linguagem natural:</p><p>não é verdade que jovens esforçados geralmente alcançam o suces-</p><p>so.</p><p>Ao reescrever uma frase considerando a alteração de seu va-</p><p>lor lógico, devemos tomar cuidado para não alterarmos também o</p><p>seu sentido. Caso a frase fosse escrita da seguinte forma: “Jovens</p><p>esforçados nem sempre alcançam o sucesso”, seria o mesmo que</p><p>mantermos a frase inalterada e seu valor verdade “verdadeiro”.</p><p>A próxima frase do exemplo também é muito simples:</p><p>Algumas lutas são necessárias, outras não.</p><p>Resolução: nesta frase, o conectivo utilizado para unir as duas</p><p>proposições simples é o conectivo de conjunção ou “e”. Pelas regras</p><p>da lógica das proposições, uma sentença somente é considerada vá-</p><p>139</p><p>lida ou tem seu valor verdade “verdadeiro”, somente quando todas</p><p>as proposições simples que compõem a proposição composta for-</p><p>mada por elas possuem valor verdade “verdadeiro”. Isso significa</p><p>dizer que, caso alguma das proposições que compõem a sentença</p><p>seja “falso”, então toda sentença é logicamente falsa.</p><p>Para este caso, a única forma aceitável é a que é apresentada</p><p>no próprio exercício, para a qual (V(p) = v e V(q) = v) que pode, neste</p><p>caso, ser reescrito da seguinte forma: “Algumas lutas são necessá-</p><p>rias e outras não”.</p><p>Na proposição a seguir, também encontramos uma sentença</p><p>simples.</p><p>O mundo pode ser compartilhado entre os seres humanos e</p><p>os demais animais.</p><p>Resolução: por se tratar de uma proposição simples, a propo-</p><p>sição pode assumir um de dois valores lógicos, V(p) = {v,f} . Supondo</p><p>que para a proposição apresentada tenha-se V(p) = v , então por re-</p><p>gra, devemos também considerar a possibilidade de V(p) = f.</p><p>Reescrevendo a frase considerando seu valor verdade como</p><p>“falsidade”, nos leva a seguinte sentença em linguagem natural:</p><p>“não é possível que o mundo seja compartilhado entre os seres hu-</p><p>manos e os demais animais.”</p><p>Por fim, observemos a seguinte frase:</p><p>A noite está chegando, uns devem se recolher aos seus leitos</p><p>e outros deverão aproveitar para terem momentos de lazer.</p><p>Resolução: nesta frase o conectivo utilizado para unir as duas</p><p>proposições simples é o conectivo de conjunção ou “e”. Pelas regras</p><p>da lógica das proposições, uma sentença somente é considerada vá-</p><p>lida ou tem seu valor verdade “verdadeiro”, somente quando todas</p><p>as proposições simples que compõem a proposição composta for-</p><p>mada por elas possuem valor verdade “verdadeiro”. Isso significa</p><p>dizermos que, caso alguma das proposições que compõem a sen-</p><p>tença seja “falso”, então toda sentença é logicamente falsa.</p><p>Para este caso, a única forma aceitável é a que é apresentada</p><p>no próprio exercício, para a qual V(p) = v e V(q) = v que pode, neste</p><p>140</p><p>caso, ser reescrito da seguinte forma: “a noite está chegando, uns</p><p>devem se recolher aos seus leitos enquanto outros deverão aprovei-</p><p>tar o momento para o lazer”.</p><p>Para muitas das sentenças apresentadas, se considerado o</p><p>alfabeto natural e desconsideradas as regras do sistema de cálculo</p><p>da lógica proposicional, não haveria problema algum em conside-</p><p>rarmos como válidas diversas outras possibilidades de combinações</p><p>para as proposições simples (quando construíam uma proposição</p><p>composta), ou seja, dada a sentença “à noite todos os gatos são par-</p><p>dos e as pessoas mais astutas usam lanternas”, pela lógica das pro-</p><p>posições, esta sentença somente pode ser verdadeira se V(p) = v e</p><p>V(q) = v que é exatamente o que é apresentado na sentença.</p><p>Entretanto, em nosso pensamento, outras combinações tam-</p><p>bém seriam possíveis, como por exemplo: “à noite todos os gatos</p><p>são pardos e não é verdade que as pessoas mais astutas usam lan-</p><p>ternas”, o que seria a reescrita das proposições p e q, considerando</p><p>V(p) = v e V(q) = f. Isso, de acordo com as regras da lógica propo-</p><p>sicional não é válido, pois como foi visto no decorrer da unidade, a</p><p>conclusão que se obtém é absurda.</p><p>Proposição e silogismo categóricos</p><p>Antes de entendermos o que é um silogismo categórico, é importan-</p><p>te definirmos o conceito de proposição lógica.</p><p>Proposição lógica</p><p>Uma proposição lógica é uma frase declarativa que assume um va-</p><p>lor lógico verdadeiro ou falso. Vamos citar alguns exemplos a seguir</p><p>para facilitar o aprendizado.</p><p>Exemplo 1: a proposição “a Terra é plana” possui o valor ló-</p><p>gico negativo, visto que a ciência já refutou várias vezes (com evi-</p><p>dências) tal afirmação.</p><p>Exemplo 2: a proposição “o Brasil é um país pertencente ao</p><p>continente americano” é uma proposição que assume o valor lógico</p><p>141</p><p>verdadeiro.</p><p>No entanto, nem sempre uma frase apresenta uma alega-</p><p>ção com valor lógico verdadeiro ou falso. Vejamos a seguir alguns</p><p>exemplos que não são considerados proposições lógicas.</p><p>Exemplo 3: Sentenças exclamativas: “Bom dia!”.</p><p>Exemplo 4: Sentenças interrogativas: “Onde você mora?”.</p><p>Exemplo 5: Sentenças imperativas: “Vá para a escola”.</p><p>Observemos que os exemplos elencados para os três tipos de</p><p>sentenças listados acima (exclamativas, interrogativas e imperati-</p><p>vas) não carregam nenhum valor lógico, ou seja, em nenhum dos</p><p>casos é possível afirmar que existe um valor lógico verdadeiro ou</p><p>falso.</p><p>As proposições são representadas por letras minúsculas do</p><p>nosso alfabeto. As mais utilizadas são “p, q, r, s”.</p><p>Exemplo 6: p: Eduarda é dentista</p><p>Exemplo 7: q: 1 > 2</p><p>No exemplo 6, ao afirmarmos que “p” possui um valor lógico</p><p>verdadeiro, fazemos a seguinte representação VL (p) = V.</p><p>O exemplo 7 apresenta uma proposição, representada por</p><p>“q”, que possui um valor lógico falso.</p><p>A negação de uma proposição se dá através da utilização do</p><p>símbolo “~”. Ou seja, ~p é a negação da proposição p, mostrada no</p><p>Exemplo 6. Ou seja, ~p: Eduarda não é dentista.</p><p>Proposições lógicas compostas</p><p>É possível relacionarmos duas ou mais proposições pelo uso</p><p>de conectivos, que estão elencados e definidos a seguir:</p><p>¬: representado por “Não”. (Negação)</p><p>˄: representado por “E”. (Conjunção)</p><p>˅ representado por “Ou”. (Disjunção Inclusiva).</p><p>142</p><p>: representado por “Ou p ou q”. (Disjunção Exclusiva).</p><p>→: representado por “Se p então q”. (Condicional).</p><p>↔: representado por “P se e somente se Q”. (Bicondicional).</p><p>Vamos considerar duas proposições para explicar o uso dos</p><p>referidos conectivos.</p><p>p: Bianca é legal.</p><p>q: Bianca tem vários amigos.</p><p>¬p: Bianca não é legal.</p><p>¬q: Bianca não tem muitos amigos.</p><p>p ˄ q: Bianca é legal e Bianca tem muitos amigos.</p><p>p˄¬q: Bianca é legal e Bianca não tem muitos amigos.</p><p>¬p ˄ ¬q: Bianca não é legal e Bianca não tem muitos amigos.</p><p>¬p ˄ q: Bianca não é legal e Bianca tem muitos amigos.</p><p>p˅ q: Bianca é legal ou Bianca tem muitos amigos.</p><p>p ˅ ¬q: Bianca é legal ou Bianca não tem muitos amigos.</p><p>¬p ˅ ¬q: Bianca não é legal ou Bianca não tem muitos amigos.</p><p>¬p˅ q: Bianca não é legal ou Bianca tem muitos amigos.</p><p>pq: Ou Bianca é legal ou Bianca tem muitos amigos.</p><p>p¬q: Ou Bianca é legal ou Bianca não tem muitos amigos.</p><p>¬p¬q: Ou Bianca não é legal ou Bianca não tem muitos amigos.</p><p>¬p q: Ou Bianca não é legal ou Bianca tem muitos amigos.</p><p>p → q: Se Bianca é legal então Bianca tem muitos amigos.</p><p>p → ¬q: Se Bianca é legal então Bianca não tem muitos amigos.</p><p>¬p → ¬q: Se Bianca não é legal então Bianca não tem muitos ami-</p><p>gos.</p><p>¬p → q: Se Bianca não é legal então Bianca tem muitos amigos.</p><p>p ↔ q: Bianca é legal se e somente se Bianca tem muitos amigos.</p><p>p ↔ ¬q: Bianca é legal se e somente se Bianca não tem muitos</p><p>amigos.</p><p>143</p><p>¬p ↔ ¬q: Bianca não é legal se e somente se Bianca não tem mui-</p><p>tos amigos.</p><p>¬p ↔ q: Bianca não é legal se e somente se Bianca tem muitos</p><p>amigos.</p><p>Após estabelecidas as relações entre proposições com a uti-</p><p>lização dos respectivos conectivos, faz-se necessário apresentar a</p><p>tabela verdade.</p><p>Tabela verdade</p><p>A tabela verdade é utilizada para descobrir qual é o valor lógico de</p><p>uma proposição composta e a proposição composta é formada pela</p><p>utilização de proposições simples.</p><p>Para construir a tabela verdade, é necessário dividirmos por</p><p>passos, como feito a seguir:</p><p>Primeiro passo</p><p>Cálculo do valor lógico de uma proposição e de sua negação.</p><p>Segundo passo</p><p>Cálculo do valor lógico do conectivo de conjunção “e” ou “˄ “.</p><p>144</p><p>Terceiro passo</p><p>Cálculo do valor lógico do conectivo de disjunção inclusiva</p><p>“ou” ou “˅“.</p><p>Quarto passo</p><p>Cálculo do valor lógico do conectivo condicional “Se ... então</p><p>...” ou “→ “.</p><p>Quinto passo</p><p>Cálculo do valor lógico do conectivo bicondicional “...se e so-</p><p>mente se ...” ou “↔”.</p><p>Nos demais casos, em que os valores lógicos das proposições</p><p>simples são diferentes, o valor lógico resultante da proposição com-</p><p>posta é falso.</p><p>Diante de todas as tabelas que foram elencadas e explicitadas</p><p>anteriormente, pode-se construir um modelo reduzido para a “Ta-</p><p>bela Verdade”, que pode ser mostrada a seguir:</p><p>145</p><p>Algumas tabelas verdade apresentam negações de proposições nas</p><p>colunas. Nesse caso, basta inverter o valor lógico da proposição em</p><p>questão para saber qual é o valor lógico da proposição resultante.</p><p>Como exemplo, imaginemos que “p” seja verdadeiro, logo, “~p” é</p><p>falso, e “q” seja falso. Logo, o resultado da proposição ~p ˄ q é falso.</p><p>Essa tabela verdade pode ser ampliada ao adicionarmos no-</p><p>vas colunas conteúdo às negações das proposições. O raciocínio para</p><p>o cálculo dos novos valores lógicos das proposições compostas re-</p><p>sultantes dessas negações é feito da mesma maneira que foi exposta</p><p>nesse tópico.</p><p>Dando continuidade aos nossos exemplos:</p><p>Exemplo 8: considere as seguintes proposições:</p><p>p: Paula é bióloga.</p><p>q: Paula gosta de natação.</p><p>Considerando que o valor lógico de “p” é verdadeiro e o valor</p><p>lógico de “q” é falso, qual é o valor lógico da proposição “p ˄ q”?</p><p>Ao olhar pela tabela verdade, podemos dizer que o valor lógi-</p><p>co de “p ˄ q” é falso. Ou seja, Paula é bióloga e Paula gosta de nata-</p><p>ção possui um valor lógico falso.</p><p>Considerando que o valor lógico de “p” é verdadeiro e o valor</p><p>lógico de “q” é falso, qual é o valor lógico da proposição “p ˅ q”?</p><p>SAIBA MAIS</p><p>146</p><p>Ao olhar pela tabela verdade, podemos dizer que o valor lógi-</p><p>co de “p ˅ q” é verdadeiro. Ou seja, Paula é bióloga ou Paula gosta de</p><p>natação possui um valor lógico verdadeiro.</p><p>Considerando que o valor lógico de “p” é verdadeiro e o valor</p><p>lógico de “q” é falso, qual é o valor lógico da proposição “p → q”?</p><p>Ao olhar pela tabela verdade mostrada no Quarto passo, po-</p><p>demos dizer que o valor lógico de “p → q” é falso. Ou seja, se Paula</p><p>é bióloga então Paula gosta de natação possui um valor lógico falso.</p><p>Considerando que o valor lógico de “p” é verdadeiro e o valor</p><p>lógico de “q” é falso, qual é o valor lógico da proposição “p ↔ q”?</p><p>Ao olhar pela tabela verdade mostrada no quarto passo (apre-</p><p>sentado anteriomente), podemos dizer que o valor lógico de “p ↔</p><p>q” é falso. Ou seja, Paula é bióloga se e somente se Paula gosta de</p><p>natação possui um valor lógico falso.</p><p>A seguir apresentamos o conceito de silogismo categórico,</p><p>que possui como pressuposto o entendimento de proposições, ex-</p><p>plicadas nesse tópico.</p><p>Silogismos categóricos</p><p>A partir de três proposições categóricas, podemos chegar a um ra-</p><p>ciocínio dedutivo. Tal tipo de raciocínio recebe o nome de silogismo</p><p>categórico.</p><p>Utilização das proposições lógicas</p><p>A primeira e a segunda proposições são chamadas de premissas e</p><p>a terceira recebe o nome de conclusão. Veja o exemplo abaixo para</p><p>ilustrar o aprendizado:</p><p>As duas primeiras frases a seguir são premissas necessárias</p><p>para se chegar a uma conclusão.</p><p>Todo os humanos são inteligentes.</p><p>Todos os filósofos são humanos.</p><p>147</p><p>Logo, todos os filósofos são inteligentes.</p><p>De maneira didática, podemos dividir o silogismo categórico</p><p>em três partes, que são: premissa maior, premissa menor e con-</p><p>clusão.</p><p>Premissa maior: possui o termo maior.</p><p>Premissa menor: possui o termo menor.</p><p>S: termo maior (sujeito da conclusão).</p><p>P: termo menor (predicado da conclusão).</p><p>M: termo médio (não está presente na conclusão, mas está</p><p>presente em ambas premissas).</p><p>A primeira premissa do exemplo, que é “Todos os humanos</p><p>são inteligentes”, temos que a proposição recebe o nome de pre-</p><p>missa maior e o termo maior é “inteligentes”.</p><p>A segunda premissa do exemplo, que é “Todos os filósofos</p><p>são humanos”, temos que a proposição recebe o nome de premissa</p><p>menor e o termo menor é “filósofos”.</p><p>Na conclusão, temos que “filósofos” é o termo menor e sujei-</p><p>to da oração e “inteligentes” é o termo menor e predicado da oração.</p><p>Veja uma representação esquemática que sintetiza o conteú-</p><p>do passado, como mostra a figura abaixo.</p><p>Ele pode se deslocar, conforme mostra a figura a seguir.</p><p>148</p><p>No entanto, o raciocínio que se deve utilizar para chegar a</p><p>uma conclusão é o mesmo e ele continua utilizando as duas premis-</p><p>sas listadas.</p><p>Falso silogismo ou falácia</p><p>Um falso silogismo ou falácia acontece quando há presença de um</p><p>erro de raciocínio.</p><p>Exemplo: Considere o silogismo categórico a seguir.</p><p>Todos os flamingos não são pesados.</p><p>Alguns pássaros são flamingos.</p><p>Logo, todos os pássaros não são pesados.</p><p>A conclusão acima está incorreta, por isso trata-se de um</p><p>falso silogismo ou falácia. O correto seria “alguns pássaros não são</p><p>pesados”.</p><p>Lógica de primeira ordem</p><p>A lógica de primeira ordem apresenta os quantificadores lógicos</p><p>“Todo”, “Algum” e “Nenhum”.</p><p>Vamos conhecê-los?</p><p>149</p><p>Quantificador lógico “Todo”</p><p>O quantificador lógico “Todo” é muito utilizado em proposições e</p><p>sua utilização pode ser visualizada</p><p>nos exemplos a seguir:</p><p>Exemplo: “Todo S é P”.</p><p>A proposição acima nos diz que tudo que for pertencente ao</p><p>conjunto S é também pertencente ao conjunto P. A figura baixo ilus-</p><p>tra melhor como isso funciona na prática.</p><p>Seria correto dizer que “Todo P é S”?</p><p>A resposta é “não necessariamente”. Pela figura 3 podemos</p><p>ver que essa alegação é falsa, visto que nem todos elementos per-</p><p>tencentes ao conjunto P também pertencem ao conjunto S. Vejamos</p><p>outro exemplo prático para fixar o aprendizado sobre a utilização do</p><p>quantificador “Todo”.</p><p>Exemplo : “Todo estudante de engenharia é bom em cálculo”.</p><p>O exemplo nos diz que todas as pessoas que estudam enge-</p><p>nharia são boas na disciplina de cálculo. No entanto, não podemos</p><p>afirmar que todas as pessoas boas em cálculo são da engenharia,</p><p>visto que podem aparecer outros bons alunos de cursos que não se-</p><p>jam engenharia.</p><p>É muito comum utilizarmos símbolos matemáticos para ca-</p><p>150</p><p>sos como os relatados acima, que são ∈ (pertence), ∉ (não pertence),</p><p>⊂ (está contido), ⊄ (não está contido), ⊃ (contém) e ⊅ (não contém).</p><p>A figura a seguir ilustra algumas situações onde podemos</p><p>utilizar os referidos símbolos.</p><p>Na situação 1 podemos fazer as seguintes inferências: P S, P⊂</p><p>S, S P.</p><p>Podemos dizer que “Todo P é S?”. Sim, pois todos os elemen-</p><p>tos de P pertencem a S. Podemos afirmar que “Todo S é P?” Não,</p><p>visto que existem alguns elementos de S que não são de P.</p><p>Na situação 2 podemos fazer as seguintes inferências: P S, S</p><p>P, P ⊂S, S⊂ P, S P e P S.</p><p>Podemos dizer que “Todo P é S?”. Sim, pois todos os elemen-</p><p>tos de P pertencem a S. Podemos afirmar que “Todo S é P?” Sim,</p><p>como os conjuntos são iguais, todos elementos de S são também de</p><p>P.</p><p>Observação: o único caso em que podemos afirmar que “Todo</p><p>151</p><p>S é P” e “Todo P é S” é o caso em que S = P, conforme visto na si-</p><p>tuação 2.</p><p>Na situação 3 podemos fazer as seguintes inferências: S P, S⊂</p><p>P, P S.</p><p>Podemos dizer que “Todo P é S?”. Não, pois existem alguns</p><p>elementos de P que não são de S. Podemos afirmar que “Todo S é</p><p>P?” Sim.</p><p>Negação do quantificador lógico “Todo”</p><p>Quando precisamos negar o quantificador “todo” devemos utilizar</p><p>“algum” ou “pelo menos um”.</p><p>Considere a seguinte proposição: p: todo atleta é alto.</p><p>Qual seria a negação de p, ou seja, ~p?</p><p>A negação do quantificador lógico todo deve ser feita por “al-</p><p>gum” ou “pelo menos um”.</p><p>Assim, temos:</p><p>~p: algum atleta não é alto.</p><p>~p: existe pelo menos um atleta que não é alto.</p><p>Quando você for negar uma proposição que utiliza um determinado</p><p>quantificador lógico, a ideia que você deve ter em mente é pensar</p><p>em possíveis situações que tornariam aquela proposição lógica com</p><p>valor antagônico ao original. Ou seja, se uma proposição é “Todo</p><p>computador é rápido”, para negá-la, você deve imaginar uma si-</p><p>tuação que contraria essa afirmação, ou seja, deve existir ao menos</p><p>um computador.</p><p>DICA</p><p>152</p><p>Quantificador lógico “Algum”</p><p>O quantificador lógico “algum” nos traz a ideia de pelo menos um.</p><p>Veja o exemplo abaixo:</p><p>Considere a seguinte proposição:</p><p>q: algum aluno é bom em ciências.</p><p>A proposição q, nos diz que existe ao menos um estudante</p><p>que seja bom em ciências.</p><p>Negação do quantificador lógico “Algum”</p><p>A negação do quantificador lógico algum pode ser feito através de</p><p>“nenhum”, “todo ... não”, “não existe”. Veja o exemplo a seguir</p><p>para ilustrar o aprendizado da negação de algum.</p><p>Considere a seguinte proposição:</p><p>p: algum político é honesto</p><p>~p: nenhum político é honesto.</p><p>~p: todo político não é honesto.</p><p>~p: não existe político que seja honesto.</p><p>Quantificador lógico “Nenhum”</p><p>O quantificador lógico “nenhum” traz a ideia de não existência. Veja</p><p>o exemplo a seguir.</p><p>Considere a seguinte proposição:</p><p>r: nenhum estudante tirou 1.000 em redação no Enem em</p><p>2019.</p><p>A proposição r nos diz que não houve nenhum aluno que tirou</p><p>nota 1000 na redação do Enem no ano de 2019.</p><p>153</p><p>Negação do quantificador lógico “Nenhum”</p><p>A negação da proposição mostrada no exemplo anterior pode ser</p><p>feita pelas três formas elencadas a seguir:</p><p>r: nenhum estudante tirou 1.000 em redação no Enem em</p><p>2019.</p><p>~r: algum estudante tirou 1.000 em redação no Enem em</p><p>2019.</p><p>~r: pelo menos um estudante tirou 1.000 em redação no</p><p>Enem em 2019.</p><p>~r: existe estudante que tirou 1.000 em redação no Enem</p><p>em 2019.</p><p>Vamos relembrar tudo o que estudamos neste material?</p><p>Vimos o que é um sistema formal e aprendemos sobre o alfabeto do</p><p>sistema formal, abordamos os cálculos proposicionais e os símbolos</p><p>do alfabeto formal, assim como diferenciamos as sentenças válidas</p><p>das inválidas e as proposições simples das compostas.</p><p>Mais adiante, entendemos o que são proposições e aprendemos</p><p>como descobrir o valor lógico de proposições compostas utilizan-</p><p>do proposições simples. Aprendemos também a utilizar o raciocínio</p><p>indutivo para resolver problemas que envolvam silogismos cate-</p><p>góricos e, por fim, conhecemos o uso dos quantificadores lógicos e</p><p>suas negações.</p><p>Caso tenha alguma dúvida, procure a tutoria, eles vão ajudar você no</p><p>que for necessário. Até a próxima!</p><p>SINTETIZANDO</p><p>154</p><p>UN</p><p>ID</p><p>AD</p><p>E</p><p>4</p><p>Linguagem</p><p>de máquina e</p><p>organização de</p><p>memória</p><p>Objetivos</p><p>◼ Aprender sobre linguagem de máquina e linguagem de mon-</p><p>tagem.</p><p>◼ Aprender os conceitos de conjuntos de instruções e registra-</p><p>dores.</p><p>◼ Conhecer o simulador de linguagem de montagem MIPS.</p><p>◼ Compreender a organização de memória e memória auxiliar.</p><p>◼ Entender as arquiteturas paralelas.</p><p>156</p><p>Introdução</p><p>Neste material, nós aprenderemos sobre a linguagem de máquina e</p><p>a linguagem de montagem (assembly language), conjuntos de ins-</p><p>truções e registradores.</p><p>Conheceremos o simulador de linguagem de montagem MIPS</p><p>(software), a organização de memória e a memória auxiliar. Vamos</p><p>saber também como acessar periféricos e aprender sobre arquitetu-</p><p>ras paralelas.</p><p>Vamos começar?</p><p>157</p><p>Linguagem de máquina e linguagem de</p><p>montagem (assembly language)</p><p>Os computadores possuem circuitos eletrônicos que enviam sinais</p><p>elétricos ao receber e executar instruções. Para que estes sinais se-</p><p>jam interpretados pelo PC, foram criados os programas de compu-</p><p>tadores.</p><p>Como sabemos, os computadores operam com um sistema</p><p>binário, pois este é o sistema que ele consegue compreender. Você</p><p>pode imaginar, portanto, que se todos os programas desenvolvi-</p><p>dos fossem feitos apenas na linguagem a qual a máquina consegue</p><p>compreender, seria mais trabalhoso e até mesmo mais demorado.</p><p>Você pode estar se perguntando se existe mais de uma forma</p><p>de criar programas para os computadores, e a resposta é: sim! Por</p><p>isso, a partir de agora, você irá estudar a linguagem de máquina e</p><p>a linguagem de montagem (assembly language) e entenderá como</p><p>cada uma pode ser utilizada dentro da programação de computa-</p><p>dores.</p><p>Antes de começar, vamos explicar o que significam alguns</p><p>termos que utilizaremos bastante a partir de agora:</p><p>• Opcode: operação básica de instrução, cada instrução contém</p><p>um código único.</p><p>• Linguagem-fonte: a linguagem na qual o programa original</p><p>foi escrito.</p><p>• Linguagem-alvo: a linguagem convertida.</p><p>• Montador: programa que traduz a linguagem de montagem</p><p>em linguagem de máquina.</p><p>• Depurador: tem a função de testar (depurar) o programa e en-</p><p>contrar possíveis erros, auxiliando o programador a corrigi-</p><p>-los antes de finalizá-lo.</p><p>• Compilador: é o programa que transforma o código criado em</p><p>linguagem-fonte (pode ser de alto nível) para a linguagem</p><p>158</p><p>que o computador utiliza, isto é, código-objeto.</p><p>Linguagem de máquina</p><p>A linguagem de máquina é a que o computador consegue compreen-</p><p>der, a linguagem operada pelo processador. Ela está mais próxima</p><p>ao hardware e, para ser desenvolvida, o programador precisa ter um</p><p>bom conhecimento da arquitetura do computador para que a sua</p><p>capacidade seja bem aproveitada e custos adicionais sejam evitados.</p><p>A programação em linguagem de máquina é feita através de</p><p>números binários e todo computador possui um conjunto de instru-</p><p>ções (ISA – Instruction Set Architecture ou em português: Arquitetura</p><p>do Conjunto de Instrução). Em linguagem de máquina, cada instru-</p><p>ção é executada individualmente, ou seja, para cada instrução existe</p><p>uma execução (processo 1 para 1). Essas instruções “nativas” po-</p><p>dem ser substituídas por um novo conjunto de instruções de acordo</p><p>com a necessidade, desenvolvido pelo programador.</p><p>Existem duas formas de substituir essas instruções, através</p><p>das técnicas de tradução e interpretação:</p><p>• Tradução: nesta técnica, cada nova instrução é substituída</p><p>por uma instrução equivalente do conjunto nativo. Assim, o</p><p>novo programa é convertido para programa nativo para ser</p><p>executado pelo computador e em seguida é descartado. Este</p><p>novo programa é chamado de programa-objeto, que é lido e</p><p>executado pelo computador.</p><p>• Interpretação: no caso da interpretação, após cada instrução</p><p>ser lida e decodificada, ela já é executada, não havendo a tra-</p><p>dução. Para executar este processo, é necessário um programa</p><p>chamado interpretador. (TANENBAUM; AUSTIN, 2013, p. 2).</p><p>“Cada instrução na linguagem de máquina do processador é</p><p>traduzida em uma sequência de instruções da unidade de controle</p><p>de baixo nível. Essas instruções de baixo nível são conhecidas como</p><p>microinstruções e o processo de tradução conhecido como micro-</p><p>-programação” (STALLINGS, 2010, p. 460).</p><p>159</p><p>Linguagem de montagem (assembly language)</p><p>A linguagem de montagem tem como uma das suas principais ca-</p><p>racterísticas a facilidade ao programar. Enquanto na linguagem de</p><p>máquina é necessário que o programador tenha um bom conheci-</p><p>mento sobre a arquitetura do computador e conheça os valores que</p><p>utilizará em binário ou hexadecimal, na linguagem de montagem</p><p>ele pode utilizar códigos muito mais simples de se decorar.</p><p>Por exemplo, para realizar soma, subtração, multiplicação e</p><p>divisão, ele não precisa saber como representá-los em 0 e 1, poden-</p><p>do utilizar códigos como ADD, SUB, MUL e DIV.</p><p>Essa linguagem possui diversas vantagens, uma delas é o</p><p>acesso à máquina. Com este acesso o programador pode desenvolver</p><p>programas menores que melhorem o desempenho do computador.</p><p>A linguagem de montagem também pode ser usada em siste-</p><p>mas embarcados de pequeno a grande porte, que são sistemas me-</p><p>nores desenvolvidos para uma função específica, como marca-pas-</p><p>sos, semáforos, satélites etc.</p><p>Estrutura da linguagem de montagem</p><p>De acordo com Stallings (2010), a estrutura da linguagem de mon-</p><p>tagem possui quatro elementos: rótulo, mnemônico, operando(s)</p><p>e comentário. Vamos ver, a seguir, como funciona cada um deles:</p><p>Figura 1 – Elementos da estrutura de montagem</p><p>Fonte: Stallings, 2010.</p><p>160</p><p>Rótulo</p><p>Quando falamos em rótulo, do que você lembra? Você pode lembrar</p><p>da etiqueta colada a um produto e que traz informações sobre ele.</p><p>Na linguagem de montagem o intuito é o mesmo. Um rótulo pode</p><p>ser utilizado para nomear uma instrução, um endereço ou outros</p><p>dados, fazendo, assim, com que eles sejam localizados mais facil-</p><p>mente.</p><p>Vejamos um exemplo:</p><p>Figura 2 – Trecho de programas usando rótulos</p><p>Fonte: Stallings, 2010.</p><p>Como podemos ver na Figura 2, o trecho do programa descre-</p><p>ve a ação de extrair informações de um registrador e armazenar em</p><p>outro, e só saltar para o L2 se o resultado for positivo, ou seja, se o</p><p>resultado for negativo, ele continua nesse loop até obter um resul-</p><p>tado diferente. Para o programador, porém, não existem números,</p><p>cálculos e símbolos; ele apenas utiliza os rótulos que condizem com</p><p>as instruções que devem ser utilizadas.</p><p>“Se um rótulo direto é usado, ele é interpretado como endereço (ou</p><p>offset) de dados. Se o rótulo é colocado dentro de colchetes, ele é</p><p>interpretado como dado no endereço” (STALLINGS, 2010, p. 587).</p><p>DEFINIÇÃO</p><p>161</p><p>Mnemônico</p><p>Mnemônico é o nome dado a uma sentença de linguagem de mon-</p><p>tagem. Ele segue a lógica de que uma abreviação pode ser mais fácil</p><p>para representar esta sentença do que ter que reescrevê-la sempre</p><p>que necessário.</p><p>Ele pode nomear a função ou mesmo a operação que será exe-</p><p>cutada.</p><p>Operando(s)</p><p>Todas as operações dos computadores utilizam dados. Um operando</p><p>é um valor utilizado por uma instrução, podendo ser um endere-</p><p>ço, número, caractere ou dado lógico. Estudaremos este tema mais</p><p>adiante.</p><p>Comentário</p><p>A linguagem de montagem permite ao programador incluir comen-</p><p>tários no seu programa. O comentário pode ser colocado após um</p><p>comando ou em uma linha específica, e deve ser sinalizado por um</p><p>caractere que indique que aquele conteúdo não deve ser executado.</p><p>Sentenças da linguagem de montagem</p><p>Na linguagem de montagem, uma sentença é a ação que o programa</p><p>deve executar com base em instruções definidas pelo programador.</p><p>Por exemplo, em determinado trecho, o programa deve buscar de-</p><p>terminado valor e só passar para o próximo passo ao encontrá-lo.</p><p>Até a ação ser concluída, ele deve ficar realizando essa busca repe-</p><p>tidamente.</p><p>Dentro da linguagem de montagem, existem três tipos de</p><p>sentenças: instrução, diretiva e definição de macro. Veja a seguir:</p><p>162</p><p>Instrução</p><p>As instruções são responsáveis por dizer ao computador o que deve</p><p>ser feito. Quando desenvolvidas em linguagem de montagem, são</p><p>traduzidas por um montador para linguagem de máquina, uma a</p><p>uma. Isso significa que para cada instrução de linguagem de mon-</p><p>tagem existe uma para linguagem de máquina.</p><p>Diretiva</p><p>Diferente da instrução, a sentença diretiva não é traduzida para lin-</p><p>guagem de máquina. Ela é responsável por dar as diretrizes para o</p><p>montador realizar seus processos corretamente.</p><p>Observe a imagem a seguir:</p><p>Figura 3 – Diretivas dentro de um programa</p><p>Fonte: Stallings, 2010.</p><p>Podemos ver na Figura 3 como a sentença dá ao montador as</p><p>diretivas de como iniciar, copiar e armazenar. Mais uma vez, você</p><p>pode compreender que através das sentenças não é necessário que</p><p>o programador esteja sempre digitando textos e números gigantes-</p><p>cos, mas usando abreviações para tal.</p><p>163</p><p>Vamos analisar mais um exemplo:</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>Observe na Tabela 1 (a) que cada letra faz referência a uma</p><p>unidade. Na Tabela 1 (b), temos as diretivas que trazem estas unida-</p><p>des em forma de letra. Veja que, na primeira linha, temos DB, DW,</p><p>DD, DQ e DT, que se referem à palavra dupla e têm sua descrição</p><p>como inicializa posições, definindo, assim, onde a palavra será ini-</p><p>cializada.</p><p>164</p><p>Definição de macro</p><p>Macro é um trecho de um programa com um nome específico. Ima-</p><p>gine que determinada ação deve ser executada diversas vezes, o que</p><p>faria com que o programador tivesse que repetir aquele trecho do</p><p>código pela quantidade de vezes necessária, tornando-o mais ex-</p><p>tenso. Com o uso da macro, o programador pode dar um nome a esse</p><p>trecho e, sempre que a mesma sentença tiver que ser executada, ele</p><p>inclui apenas o nome dado a ela.</p><p>Quando o programa chega no ponto da sentença que possui</p><p>uma macro, ele faz um processo chamado de extensão de macro,</p><p>que consiste em pegar aquele trecho da macro e incluí-lo na sen-</p><p>tença.</p><p>A programação em linguagem de montagem pode ser considerada</p><p>mais difícil por muitos, porém, para programadores experientes,</p><p>ela pode ser considerada melhor e mais fácil, pois permite que o</p><p>profissional tenha acesso à arquitetura do computador. A única lin-</p><p>guagem de nível alto que permite este acesso é a linguagem C.</p><p>Conjuntos de instruções</p><p>Um programa de computador é composto por diversas instruções,</p><p>também chamadas de conjuntos de instruções. Estes conjuntos são</p><p>o meio pelo qual o programador pode acessar e controlar o processa-</p><p>dor. Como vimos anteriormente, todo computador tem um conjunto</p><p>de instruções original, mas outros conjuntos podem ser desenvolvi-</p><p>dos com o intuito de alterar ou substituir o conjunto original.</p><p>E então, vamos compreender como funcionam estes conjun-</p><p>tos?</p><p>VOCÊ SABIA?</p><p>165</p><p>Representação das instruções</p><p>Um código de um programa pode ser escrito através de uma repre-</p><p>sentação simbólica. Cada instrução possui uma sequência de bits</p><p>que podem ser divididos de acordo com os elementos que serão uti-</p><p>lizados.</p><p>Veja o exemplo a seguir:</p><p>Fonte: Stallings, 2010.</p><p>O formato mostrado na Tabela 2 não é obrigatório, pois os</p><p>campos podem ser diferentes de acordo com a instrução. Os opcodes</p><p>são representados por abreviações, chamadas mnemônicos, que</p><p>indicam a operação.</p><p>De acordo com Stallings (2010), alguns exemplos comuns</p><p>são:</p><p>Fonte: Stallings, 2010.</p><p>166</p><p>Tipos de instruções</p><p>Temos os seguintes tipos de conjuntos de instruções:</p><p>• Processamento de dados: são as operações de processamento</p><p>realizadas pela CPU, sejam operações lógicas ou aritméticas.</p><p>• Armazenamento de dados: dados podem ser armazenados</p><p>tanto na memória quanto nos registradores, por isso existem</p><p>instruções capazes de acessar estas informações durante a</p><p>operação.</p><p>• Movimentação de dados: são instruções de entrada e saída</p><p>(E/S).</p><p>• Controle: teste e desvio.</p><p>Tipos de operandos</p><p>Qualquer operação só pode ser realizada utilizando dados. Esses da-</p><p>dos, porém, podem ser de diversos tipos, como podemos ver a se-</p><p>guir:</p><p>• Endereços.</p><p>• Números.</p><p>• Caracteres.</p><p>• Dados lógicos.</p><p>Vamos ver cada um desses tipos a partir de agora.</p><p>Endereços</p><p>Podemos imaginar que, para realizar uma operação, são necessá-</p><p>rios mais de um endereço. Por exemplo, se a instrução solicitar a</p><p>soma de dois números, podemos contar com um endereço (operan-</p><p>do) para cada número e um endereço para o resultado. A quantidade</p><p>de operandos pode variar de acordo com as instruções, mas não é</p><p>167</p><p>comum menos de três. Veja o exemplo a seguir:</p><p>Fonte: Stallings, 2010.</p><p>168</p><p>A quantidade de endereços deve ser definida no início do pro-</p><p>jeto. Devem ser levados em consideração a quantidade e o tamanho</p><p>das instruções, e se elas deverão ter um ou múltiplos endereços,</p><p>uma vez que múltiplos endereços necessitam de múltiplos registra-</p><p>dores de uso geral.</p><p>Veja a seguir mais um exemplo de instruções com um, dois e</p><p>três operadores:</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>Números</p><p>Sabemos que os computadores trabalham com sistemas binários e</p><p>que a linguagem de máquina utiliza números até mesmo para ope-</p><p>rações não numéricas. Qualquer texto escrito em qualquer lingua-</p><p>gem é traduzido para números binários para ser trabalhado pelo</p><p>computador.</p><p>Diferentemente dos números decimais, que são infinitos, os</p><p>computadores têm suas limitações. A memória do computador pos-</p><p>sui um limite, por isso é importante que ao desenvolver um pro-</p><p>grama essa questão seja levada em consideração. Situações como</p><p>overflow, por exemplo, podem fazer diferença.</p><p>Vamos conhecer os principais tipos de dados numéricos utili-</p><p>zados pelos computadores?</p><p>169</p><p>Inteiros binários ou ponto fixo binário</p><p>Os números binários (0 e 1) podem ser inteiros ou utilizar um</p><p>ponto fixo, para armazenar a parte fracionária do número.</p><p>Ponto flutuante binário</p><p>Números muito grandes podem não ter espaço suficiente</p><p>para serem escritos por extenso, desta forma, é utilizado o ponto</p><p>flutuante. A expressão usada neste caso é valor x 2^-mantissa.</p><p>Decimal</p><p>Não é utilizado na linguagem de máquina, mas é utilizado</p><p>pelo usuário, portanto, precisa existir.</p><p>Caracteres</p><p>Estamos acostumados a utilizar textos e símbolos quando utiliza-</p><p>mos o computador (caracteres), mas sabemos que enquanto isso ele</p><p>está trabalhando com números binários. Para simplificar este pro-</p><p>cesso, foram criados diversos códigos para transformar estes carac-</p><p>teres em bits.</p><p>Um dos códigos mais utilizados atualmente é o ASCII, ou</p><p>American Standard Code for Information Interchange. Neste código,</p><p>cada caractere utiliza um padrão de 7 bits. Veja a seguir uma parte</p><p>da Tabela ASCII e analise como os caracteres são representados em</p><p>decimal, binário e hexadecimal:</p><p>170</p><p>Tabela 6 – Trecho da tabela ASCII</p><p>Fonte: Nunes, 2019.</p><p>171</p><p>Dados lógicos</p><p>Dados lógicos são utilizados para representar os valores 1 (verda-</p><p>deiro) ou 0 (falso). Essa forma é chamada de visão orientada a bits,</p><p>pois, neste caso, uma palavra ou unidade não é vista como uma uni-</p><p>dade de dados, e sim como n bits ou n itens de 1 bit que podem ter</p><p>valor de 0 ou 1.</p><p>Tipos de operações</p><p>Os computadores, em geral, utilizam os mesmos tipos de operações,</p><p>que são:</p><p>• Transferência de dados.</p><p>• Aritmética.</p><p>• Lógica.</p><p>• Conversão.</p><p>• E/S.</p><p>• Controle do sistema.</p><p>• Transferência de controle.</p><p>• Registradores.</p><p>172</p><p>Vamos utilizar a Tabela 7 para analisar alguns desses tipos de</p><p>operação:</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>Transferência de dados</p><p>A operação de transferência de dados é uma das principais utiliza-</p><p>das pela máquina. Como o próprio nome diz, esta operação precisa</p><p>transferir dados de um local para outro, desta forma, é necessário</p><p>que sejam especificados os locais dos operandos, a extensão de da-</p><p>dos e o modo de endereçamento para cada operando.</p><p>173</p><p>Aritmética</p><p>Os computadores, em geral, têm a capacidade de realizar</p><p>operações aritméticas básicas, utilizando números inteiros com si-</p><p>nal (ponto fixo), mas também números de ponto flutuante e deci-</p><p>mal agrupados.</p><p>De acordo com Stallings (2010), existem também operações</p><p>para instruções de um único operando:</p><p>• Absolute: apanha o valor absoluto do operando.</p><p>• Negate: inverte o sinal do operando.</p><p>• Increment: soma 1 ao operando.</p><p>• Decrement: subtrai 1 do operando.</p><p>Lógica</p><p>As operações lógicas têm como principal vantagem serem aplicadas</p><p>bit a bit. Entre as principais operações lógicas, temos: NOT (inver-</p><p>são), AND (e), OR (ou) e XOR.</p><p>Veja o exemplo a seguir:</p><p>Fonte: Stallings, 2010.</p><p>As colunas P e Q contêm os valores 0 ou 1; as demais colunas</p><p>contêm as operações e seus resultados. Por exemplo, na coluna NOT</p><p>P, sabemos que a operação NOT inverte os valores, logo, onde o va-</p><p>lor de P é 0, este se torna 1, e vice-versa.</p><p>174</p><p>As operações lógicas também permitem o deslocamento de</p><p>bits para a direita ou para a esquerda. Este processo é chamado de</p><p>deslocamento lógico.</p><p>Conversão</p><p>A operação de conversão pode ser executada para converter códigos</p><p>de determinado tamanho para outro e de determinada numeração</p><p>para outra, por exemplo. Uma das conversões que mais temos fala-</p><p>do até aqui é a que o computador utiliza para transformar números</p><p>decimais e textos em números binários.</p><p>E/S (Entrada e Saída)</p><p>Os dispositivos de E/S precisam se comunicar com o processador o</p><p>tempo todo. O módulo da E/S consegue controlar o fluxo de dados</p><p>através de uma função chamada controle e temporização.</p><p>Operações de E/S podem ser executadas com o mínimo de</p><p>envolvimento da CPU. Neste caso, o processador é responsável por</p><p>enviar dados para a E/S através de linhas de controles (ou barra-</p><p>mentos). Essas informações ficam armazenadas em um buffer, ou</p><p>mesmo em um registrador da E/S, e podem ser executadas pelo pró-</p><p>prio módulo, que faz a interface com os dispositivos externos.</p><p>Dentro do módulo de E/S, cada item possui um endereço,</p><p>desta forma, se houver diversos dispositivos externos, cada um de-</p><p>les terá um endereço também.</p><p>175</p><p>Veja a seguir como é a estrutura de um módulo E/S:</p><p>Fonte: Stallings, 2010.</p><p>Controle do sistema</p><p>Os processadores conseguem operar em modo usuário ou em modo</p><p>supervisor, também chamado de modo privilegiado. Esse segundo</p><p>permite a execução de processos que não estão disponíveis no modo</p><p>usuário e a execução de programas que precisem executar todas as</p><p>instruções do computador.</p><p>Transferência de controle</p><p>As operações de transferência de controle são extremamente úteis</p><p>para a organização dos sistemas. Sabemos que as instruções iniciam</p><p>a partir de um ponto e, ao finalizar, o processador já possui a infor-</p><p>mação da próxima instrução a ser executada.</p><p>176</p><p>Muitas instruções são utilizadas diversas vezes, desta forma</p><p>a transferência de controle é necessária para que a sequência de ins-</p><p>truções seja alterada sempre que necessário.</p><p>Registradores</p><p>Existem registradores visíveis ao usuário e de controle e estado. Os</p><p>registradores visíveis ao usuário são acessíveis ao programador e</p><p>este pode definir alterações para otimizar o uso deles.</p><p>Apesar de não executar operações diretamente, os registra-</p><p>dores conseguem</p><p>armazenar as últimas instruções executadas e</p><p>outros dados importantes.</p><p>Instruções de linguagem de montagem MIPS</p><p>A linguagem de montagem trabalha com conjuntos de instruções</p><p>responsáveis por diversas ações. Entre elas temos: Carga, Aritmé-</p><p>ticas, Lógicas, Operandos Imediatos, Transferência de Dados e</p><p>Desvios.</p><p>Vamos ver a seguir como se comporta cada um destes tipos</p><p>de instruções.</p><p>Carga</p><p>Para que a carga seja realizada, primeiramente é feita a leitura do</p><p>cabeçalho do arquivo executável para a identificação do tamanho</p><p>dos dados. Posteriormente, esses dados são copiados para um es-</p><p>paço endereçado e para a pilha de argumentos transmitidos ao pro-</p><p>grama.</p><p>Os registradores são inicializados e ocorre o desvio dos ar-</p><p>gumentos para a pilha de rotina, que é responsável também por</p><p>chamar a rotina principal do programa (HENNESSY; PATTERSON,</p><p>2005).</p><p>177</p><p>Aritméticas</p><p>Sabemos que as operações aritméticas utilizam abreviaturas, como,</p><p>por exemplo: ADD (soma), SUB (subtração), MUL (multiplicação) e</p><p>DIV (divisão).</p><p>Veja como são realizadas as operações aritméticas na lingua-</p><p>gem de montagem do MIPS:</p><p>Soma ADD a, b, c</p><p>Esta sentença determina a soma de b + c e o resultado deve</p><p>ser armazenado em a. Se houver mais variáveis, o computador se-</p><p>gue a mesma lógica, somando e armazenando em a. Por exemplo, se</p><p>a sentença for ADD a, b, c, d, o computador faz o seguinte cálculo:</p><p>ADD, a, b, c ADD, a, d</p><p>Subtração SUB a, b, c: subtrai os valores de b e c e guarda no</p><p>registrador a.</p><p>Multiplicação MUL a, b, c: multiplica os valores de b e c e</p><p>guarda no registrador a.</p><p>Divisão DIV a, b, c: divide os valores de b e c e guarda no re-</p><p>gistrador a.</p><p>Lógicas</p><p>Se você chegou até aqui, você já sabe como funcionam as operações</p><p>lógicas e as principais instruções utilizadas. Veremos, agora, mais</p><p>algumas instruções e como operar cada uma delas:</p><p>178</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>Operandos imediatos</p><p>Um operando imediato também pode ser chamado de constan-</p><p>te. Para adicionar uma constante a uma operação aritmética, você</p><p>pode utilizar o termo ADDI e, assim, reduzir o tamanho do código.</p><p>Veja a diferença no exemplo a seguir, onde a sentença é a soma da</p><p>constante 4 ao registrador $s3 (a) e a escrita correta considerando o</p><p>operando imediato (b):</p><p>Figura 4 – Exemplo de escrita considerando um operador imediato.</p><p>Fonte: Henessy; Patterson, 2005.</p><p>179</p><p>Transferência de dados</p><p>Para a transferência de dados entre memória/registrador ou regis-</p><p>trador/memória, é necessário que cada operando seja devidamente</p><p>especificado na instrução. O tamanho dos bits a serem transferidos</p><p>também deve ser especificado no projeto.</p><p>Desvio</p><p>Falamos sobre a necessidade de utilizar uma instrução por diversas</p><p>vezes. As instruções seguem uma sequência automática de execução</p><p>e, para ler uma instrução em outro local, é necessário o desvio.</p><p>Para que isso seja possível, é utilizada a instrução de desvio</p><p>ou instrução de salto, que possui o endereço da próxima instrução a</p><p>ser executada, diferente da sequência automática.</p><p>Existem dois tipos de desvios:</p><p>• Condicional: contém uma condição para que ocorra o salto</p><p>para o endereço, se não, continua na sequência automática.</p><p>• Incondicional: não contém nenhuma condição, o salto é sem-</p><p>pre tomado.</p><p>180</p><p>Diagrama 2 – Instruções de desvio</p><p>Fonte: stallings, 2010.</p><p>Simulador de linguagem de montagem</p><p>mips (software)</p><p>Simuladores são extremamente importantes para um melhor</p><p>aprendizado, pois com esta ferramenta você aprende de forma prá-</p><p>tica e pode treinar quantas vezes quiser. Agora, iremos simular a</p><p>linguagem de montagem MIPS usando o simulador SPIM.</p><p>Existem diversos simuladores no mercado e você pode esco-</p><p>lher o que mais lhe agradar.</p><p>Primeiramente, vamos conhecer a interface do simulador</p><p>SPIM:</p><p>181</p><p>Figura 5 – Interface do simulador SPIM</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>O simulador SPIM possui uma interface de fácil compreensão.</p><p>Numa visão geral, podemos ver quatro espaços horizontais utiliza-</p><p>dos para as seguintes informações:</p><p>a. Mostra todos os registradores, inclusive os registradores de</p><p>ponto flutuante.</p><p>b. Exibe o código que foi carregado no SPIM e mostra informa-</p><p>ções como endereço da instrução, valor em hexadecimal, ins-</p><p>trução em linguagem de montagem e o código original.</p><p>c. Mostra o conteúdo da memória do SPIM e seus endereços.</p><p>d. Exibe diversas mensagens, como informações e status.</p><p>Para carregar um programa no simulador, é preciso que ele</p><p>esteja salvo com a extensão .asm. Na nossa simulação, salvamos o</p><p>arquivo como Simulação.asm:</p><p>182</p><p>Figura 6 – Extensão do arquivo para simulação</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>Vamos começar a escrever o nosso código? Usaremos como</p><p>base o texto a seguir para todos os testes que vamos realizar, mu-</p><p>dando apenas o conteúdo da linha “código”:</p><p>No Bloco de Notas já salvo com a extensão correta, vamos di-</p><p>gitar o seguinte código:</p><p>Figura 7 – Bloco de notas</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>183</p><p>Nas três primeiras linhas, é feita a soma das constantes com</p><p>o conteúdo do registrador e o resultado é armazenado no próprio</p><p>registrador.</p><p>Na quarta linha, temos uma subtração do conteúdo de $s1 e</p><p>$s0 e o resultado deve ser armazenado em $t0.</p><p>Na quinta linha, temos uma soma dos conteúdos de $s2 e $t0</p><p>e o resultado deve ser armazenado em $t0.</p><p>Por fim, temos uma subtração de $t0 e $s0 e o resultado deve</p><p>ser armazenado em $s2.</p><p>Figura 8 – Registrador $t1 zerado</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>Vamos carregar o arquivo Simulação.asm no SPIM clicando</p><p>em File > Open e escolhendo o local e o arquivo.</p><p>Note que, quando o arquivo for carregado, o código aparecerá</p><p>no SPIM, mas não há ainda nenhuma alteração no registrador, pois</p><p>a simulação não foi executada:</p><p>184</p><p>Figura 9 – Código carregado no SPIM</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>Agora, vamos executar a simulação clicando em Simulator ></p><p>Go.</p><p>Figura 10 – Execução do código SPIM</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>185</p><p>Figura 11 – Resultado no registrador $t1.</p><p>Fonte: o autor/Editorial Digital Pages, 2019.</p><p>Como vimos na Figura 11, nossa simulação foi executada cor-</p><p>retamente, e todos os números correspondem ao código digitado.</p><p>A utilização de simuladores é muito importante, pois é a forma mais</p><p>próxima da programação real, por isso, escolha um simulador de</p><p>sua preferência e bom trabalho!</p><p>Organização da memória</p><p>A cada dia a capacidade dos computadores de processar e armazenar</p><p>dados aumenta. Por isso, desde o computador que você utiliza em</p><p>casa e no escritório até os supercomputadores usados nos campos</p><p>de pesquisas científicas e em diversas áreas têm algo em comum:</p><p>precisam ter uma organização que favoreça e otimize os seus pro-</p><p>cessos.</p><p>Neste capítulo vamos abordar o tema memória. Lembre-se</p><p>que sempre que falarmos sobre memória falaremos de hardware,</p><p>ok? Vamos lá!</p><p>DICA</p><p>186</p><p>Hierarquia da memória</p><p>O computador possui diversos tipos de memórias em seu conjun-</p><p>to, cada uma realizando uma função diferente. Temos memórias</p><p>menores com menor capacidade de armazenamento, mas com alta</p><p>velocidade e, consequentemente, mais caras. Temos também as</p><p>memórias com maior capacidade de armazenamento e menor velo-</p><p>cidade de acesso, que custam bem menos.</p><p>Existem também memórias externas, ou memórias auxilia-</p><p>res, que o usuário pode utilizar para aumentar a capacidade de ar-</p><p>mazenamento do computador ou mesmo para manter seus arquivos</p><p>disponíveis em outro local.</p><p>Veremos agora a organização das seguintes memórias:</p><p>• Registradores.</p><p>• Cache.</p><p>• Memória principal.</p><p>• Memória secundária.</p><p>Vamos analisar a hierarquia de memória em pirâmide:</p><p>Figura 12 – Hierarquia da memória.</p><p>Fonte: adaptado de Tanenbaum; Austin, 2013, p. 67.</p><p>187</p><p>Na pirâmide, as memórias estão organizadas de cima para</p><p>baixo de acordo com três importantes itens:</p><p>• Velocidade de acesso.</p><p>• Capacidade de armazenamento.</p><p>• Custo por bit.</p><p>As memórias na parte de cima da pirâmide possuem alta ve-</p><p>locidade de acesso.</p><p>São estes os locais onde o processador faz buscas</p><p>em primeiro lugar, e só vai para os outros módulos se a busca não</p><p>for positiva. Estas memórias possuem pouco espaço, mas têm um</p><p>custo mais elevado, o chamado custo por bit. Descendo na pirâmi-</p><p>de, aumenta a capacidade de armazenamento das memórias, po-</p><p>rém, diminui a velocidade de acesso. Na parte de baixo da pirâmide,</p><p>as memórias possuem um custo por bit mais baixo.</p><p>Então, podemos concluir que:</p><p>• Memórias com maior velocidade = maior custo por bit.</p><p>• Memórias com maior capacidade de armazenamento = menor</p><p>custo por bit.</p><p>Registradores</p><p>No topo da pirâmide, ou seja, na primeira linha, temos os registra-</p><p>dores.</p><p>Essas memórias ficam dentro da CPU e, por isso, sua veloci-</p><p>dade de acesso é extremamente rápida. Por estarem dentro de um</p><p>módulo dentro de um chip, são pequenas e possuem uma limitada</p><p>capacidade de armazenamento, por mais que muitas vezes existam</p><p>centenas de registadores em um processador.</p><p>Devido a sua alta velocidade de acesso, esse é um tipo de me-</p><p>mória com um custo por bit muito alto.</p><p>188</p><p>Cache</p><p>Na segunda linha da pirâmide temos a memória cache, que possui</p><p>alta velocidade e uma capacidade de armazenamento maior que os</p><p>registradores, tendo, assim, um custo alto em relação às memórias</p><p>mais abaixo da pirâmide. A memória cache armazena informações</p><p>muito utilizadas pelo processador, então, antes de buscar deter-</p><p>minada informação na memória principal, o processador busca na</p><p>memória cache. Se a informação for localizada, sua leitura é ime-</p><p>diata, porém, se não for localizada, a busca passa a ser feita na me-</p><p>mória principal, que copia um bloco de informações para a cache e</p><p>é feita a leitura pela CPU. Este processo é mais lento do que a leitura</p><p>direta do cache.</p><p>A memória cache fica entre a CPU e a memória principal, po-</p><p>dendo ter somente um nível ou três (L1, L2 e L3). A velocidade de</p><p>acesso desses níveis vai diminuindo conforme o distanciamento da</p><p>CPU, como podemos ver na Figura 13:</p><p>Figura 13 – Cache e memória principal</p><p>Fonte: adaptado de Stallings, 2010, p. 96.</p><p>Na organização de cache única, o processador procura a in-</p><p>189</p><p>formação na cache e, se não localizar, é transferido um bloco de in-</p><p>formações da memória principal para a cache (processo mais lento)</p><p>e só então as informações são lidas pelo processador.</p><p>Na organização de cache em três níveis, o processador busca</p><p>a informação no primeiro nível da cache (L1 – processo mais rápi-</p><p>do). Se ele não localiza a informação, passa a buscar no segundo ní-</p><p>vel da cache (L2 – processo rápido). Se ainda assim não localizar, ele</p><p>busca no terceiro nível da cache (L3 – processo menos rápido). Por</p><p>fim, se a informação não estiver em nenhum dos níveis da cache, é</p><p>feita a busca na memória principal (processo lento).</p><p>Diagrama 3 — Fluxograma de Operação e leitura de cache</p><p>Fonte: adaptado de Stallings, 2010, p. 97.</p><p>190</p><p>Memória principal</p><p>A memória principal é responsável por armazenar informações en-</p><p>quanto o computador realiza suas operações. Essa memória é mais</p><p>lenta que a cache e não pode ser acessada pelo usuário, ela é utiliza-</p><p>da diretamente pelo processador. Algumas memórias primárias são</p><p>voláteis, ou seja, perdem as informações quando a energia é desli-</p><p>gada. Temos o exemplo da memória RAM (Random Access Memory),</p><p>que pode ser de dois tipos diferentes:</p><p>• SRAM (Static Random Access Memory): memória estática, vo-</p><p>látil, perde as informações quando a energia é desligada. Me-</p><p>mória rápida.</p><p>• DRAM (Dynamic Random Access Memory): memória dinâmica,</p><p>mais complexa e mais lenta que a SRAM. Essa memória preci-</p><p>sa que a informação seja atualizada constantemente para que</p><p>permaneça armazenada.</p><p>“O projeto de um sistema de memória principal é uma batalha sem</p><p>fim entre três requisitos de projeto concorrentes: grande capacida-</p><p>de de armazenamento, acesso rápido e baixo custo. Com a evolu-</p><p>ção da tecnologia de memória, cada uma dessas três características</p><p>está mudando, de modo que as decisões de projeto na organização</p><p>da memória principal devem ser revisadas novamente a cada nova</p><p>implementação.” (STALLINGS, 2010, p. 47)</p><p>Memória secundária</p><p>Na base da pirâmide temos as memórias secundárias, que são aces-</p><p>síveis ao usuário. Já imaginou se o local onde você salva seus traba-</p><p>lhos escolares, fotos de família e suas músicas preferidas perdesse</p><p>VOCÊ SABIA?</p><p>191</p><p>essas informações sempre que a energia fosse desligada? Isso não</p><p>ocorre porque as memórias secundárias não são voláteis, você pode</p><p>deixar as informações salvas lá pelo tempo que precisar.</p><p>A memória secundária não faz parte dos itens de processa-</p><p>mento do computador e, para que suas informações sejam lidas, são</p><p>copiadas para a memória principal do computador.</p><p>Existem diversos tipos de memória secundária, veja abaixo</p><p>alguns exemplos:</p><p>• HD interno.</p><p>• HD externo.</p><p>• Pen drive.</p><p>• Cartão de memória.</p><p>• CD-ROM, DVD-ROM, Blu-ray.</p><p>• Disquete.</p><p>• Fita magnética.</p><p>Figura 14 – Exemplos de memórias secundárias</p><p>Fonte: Shutterstock.</p><p>192</p><p>Memória auxiliar</p><p>Como vimos no item anterior, existem diversos tipos de memória</p><p>secundária, e entre os citados existem aqueles que não fazem parte</p><p>da estrutura do computador. Por exemplo, um HD interno faz parte</p><p>da estrutura, já vem instalado de fábrica no micro; já o HD externo</p><p>não faz parte desse conjunto.</p><p>Pendrives, cartões de memória, mídias de CD ou DVD-ROM</p><p>também são memórias auxiliares. A leitura dos dados desses itens é</p><p>feita normalmente, porém, passa pelo módulo de E/S. Existem di-</p><p>versas vantagens em utilizar estes itens, veja alguns exemplos:</p><p>• O usuário pode manter um backup dos dados do computador.</p><p>• Informações importantes para o usuário podem estar sempre</p><p>à mão, sendo levadas para onde ele precisar.</p><p>• Com as impressoras que leem USB, já é possível imprimir um</p><p>documento sem utilizar o computador.</p><p>• Podem ser usados em outros equipamentos, como TVs, apa-</p><p>relhos automotivos e em diversos itens que compõem a cha-</p><p>mada “internet das coisas”.</p><p>Existe uma infinidade de itens que aceitam este tipo de me-</p><p>mória, mas citamos aqui alguns exemplos para você compreender</p><p>melhor.</p><p>A seguir, observe os tipos de dispositivos de armazenamento</p><p>utilizados.</p><p>Disco magnético</p><p>Essa tecnologia consiste em um disco de alumínio revestido por</p><p>material magnético que contém uma bobina denominada “cabeça</p><p>de gravação”.</p><p>Através de pulsos elétricos positivos ou negativos é criado um</p><p>campo magnético que possibilita ao cabeçote gravar ou ler bits.</p><p>193</p><p>Como o disco é circular, uma volta completa é chamada tri-</p><p>lha, e cada trilha é dividida em setores. O disco também contém uma</p><p>parte chamada preâmbulo, que é um espaço que indexa os dados</p><p>que serão lidos.</p><p>Os discos magnéticos podem conter mais de um prato, sendo</p><p>que cada lado é considerado uma superfície e cada superfície con-</p><p>tém um cabeçote:</p><p>Figura 15 – Estrutura interna de um disco magnético</p><p>Fonte: Tanenbaum; Austin, 2013, p. 68.</p><p>194</p><p>Figura 16 – Exemplo de disco com quatro pratos</p><p>Fonte: Tanenbaum; Austin, 2013, p. 69.</p><p>Os discos magnéticos podem parecer extremamente sensíveis por</p><p>terem um cabeçote muito próximo à superfície fazendo a leitura e</p><p>a gravação de dados. Na verdade, hoje em dia, já existe a tecnologia</p><p>antiqueda, que evita muitos danos ao disco e, mesmo que ocorram</p><p>danos maiores, em muitos casos é possível recuperar os dados com</p><p>o trabalho de um perito forense computacional. Se em um caso de</p><p>investigação um suspeito atear fogo ao computador, ou mesmo em</p><p>casos de desastres, como desabamentos, pode ser possível retirar os</p><p>discos e recuperar os dados, ou pelo menos parte deles.</p><p>CURIOSIDADE</p><p>195</p><p>Disco óptico</p><p>Um disco óptico é um disco de formato circular que pode armazenar</p><p>diversos tipos de arquivos. Tanto a gravação quanto a leitura nesse</p><p>tipo de mídia são feitas através de laser.</p><p>Algumas mídias que usam essa tecnologia são: CD-ROM,</p><p>CD-R (regravável), DVD-ROM e DVD-R (regravável), e nem todos</p><p>os drives que leem essas mídias são capazes de fazer gravações.</p><p>Estamos acostumados</p><p>a utilizar essas mídias, pois elas se po-</p><p>pularizaram através da venda de CDs e DVDs de música, filmes, sé-</p><p>ries, cursos e muito mais. Mesmo com o surgimento de equipamen-</p><p>tos que fazem leituras direto de cartões de memória e pendrives, as</p><p>mídias de CD continuam sendo usadas pela indústria do cinema e do</p><p>entretenimento como meio de vender suas produções. Essas mídias</p><p>são encontradas para venda nas mais diversas lojas físicas e on-li-</p><p>ne, e as mídias em branco ou regraváveis são muito utilizadas pelos</p><p>usuários para guardar diversos materiais, como fotos e vídeos de</p><p>formatura, por exemplo. Os discos ópticos não perdem as informa-</p><p>ções com o tempo e por isso ainda são tão utilizados.</p><p>Figura 17 – Modelo de disco óptico e drive laser</p><p>Fonte: Shutterstock.</p><p>196</p><p>RAID</p><p>A tecnologia RAID (Redundant Array of Independent Disks) é mais uti-</p><p>lizada quando há necessidade de grande desempenho, como no caso</p><p>de servidores, por exemplo. Ela consiste na utilização de diversos</p><p>discos de armazenamento independentes, mas de forma paralela.</p><p>Fisicamente são diversos discos, mas sistemicamente é apenas uma</p><p>unidade de armazenamento.</p><p>Você sabia que no Brasil existem diversos museus de tecnologia e</p><p>computação? Você pode ver a evolução dos computadores, inclusive</p><p>a evolução das memórias de armazenamento, e perceber o quan-</p><p>to diminuíram de tamanho ao longo dos anos. O Portal do Instituto</p><p>Brasileiro de Museus pode te ajudar a pesquisar o museu mais pró-</p><p>ximo a você.</p><p>Acessando periféricos</p><p>Muito interessante o que vimos até aqui, não é? Vamos em</p><p>frente, então?</p><p>A seguir serão listados os meios de acesso aos dispositivos</p><p>periféricos. Leia atentamente!</p><p>Entrada e Saída (I/O)</p><p>Computadores não são máquinas fechadas que não se comunicam</p><p>com outros equipamentos. Pelo contrário, através dos dispositivos</p><p>de entrada e saída (E/S) é possível ampliar a capacidade do com-</p><p>putador de realizar as mais diversas atividades. Um ótimo exem-</p><p>plo para compreendermos esse fato é a impressora, uma vez que o</p><p>computador por si só não tem a capacidade de imprimir, não possui</p><p>VOCÊ SABIA?</p><p>197</p><p>espaço para colocarmos papel ou as tintas, porém, através da E/S,</p><p>ele pode ser conectado a um equipamento que cumpre perfeitamen-</p><p>te essa função, imprimindo conforme solicitado pelo computador.</p><p>Alguns periféricos podem utilizar cabos para se conectar ao</p><p>computador, e outros não. Por exemplo, um pendrive, por ser pe-</p><p>queno, pode ser conectado diretamente ao computador, já o tecla-</p><p>do e o mouse precisam de cabo devido à distância entre a porta de</p><p>entrada e o usuário. Existem, no mercado, cabos para aumentar o</p><p>espaço entre a porta e o dispositivo, assim como adaptadores que</p><p>podem transformar uma saída em outras mais.</p><p>Diagrama 4 – Configuração de modelo de E/S.</p><p>Fonte: adaptado de Null; Nobur, 2010, p. 358.</p><p>198</p><p>Barramentos</p><p>Barramentos são conjuntos de linhas de transmissão, portanto, é</p><p>através do barramento que os dispositivos externos se comunicam</p><p>com o computador. Cada linha só pode transmitir um bit por vez,</p><p>por isso existe uma hierarquia de barramentos.</p><p>Vamos ver que tipos de linhas existem e qual a finalidade de</p><p>cada uma delas:</p><p>• Linhas de dados: são um caminho para a transmissão de da-</p><p>dos.</p><p>• Linhas de endereços: mostram a origem ou o destino dos da-</p><p>dos.</p><p>• Linhas de controle: controlam o uso das linhas de dados e en-</p><p>dereços para que funcionem corretamente.</p><p>Figura 18 – Esquema de interconexão de barramento</p><p>Fonte: Stallings, 2010, p. 69.</p><p>Comunicações</p><p>Toda a comunicação entre computador e periféricos passa pelo mó-</p><p>dulo de E/S. Existem duas formas de fazer essa comunicação, se-</p><p>199</p><p>gundo a autora Ana Grazielle Dionísio Corrêa em seu livro Organi-</p><p>zação e Arquitetura de Computadores, de 2017 (p. 147):</p><p>• Transmissão paralela: envia um byte por vez. Funciona bem a</p><p>distâncias curtas (menos de 1 metro). Em distâncias maiores,</p><p>a resistência interna dos condutores tende a tornar mais fra-</p><p>cos os sinais do cabo.</p><p>• Transmissão serial: envia um bit de cada vez, e os dados são</p><p>transmitidos por um único condutor. São eficazes a longas</p><p>distâncias.</p><p>Interfaces</p><p>A interface é um padrão entre o módulo do computador e o peri-</p><p>férico externo. Por exemplo, geralmente a placa mãe possui entra-</p><p>das HDMI, VGA, PS2, USB e outras. Se um mouse for USB, deve ser</p><p>conectado na USB do computador, pois, além do encaixe físico ser</p><p>único, existe uma interface que pode ler esse dispositivo.</p><p>Da mesma forma, não adianta tentar conectar um cabo VGA</p><p>(azul) a uma entrada HDMI, pois, além de não ser possível fisica-</p><p>mente, também seria impossível ser reconhecido pelo computador.</p><p>Arquiteturas paralelas</p><p>Com a utilização dos computadores em todas as áreas, estudos</p><p>científicos nos mais diversos campos, como Astronomia, Medicina e</p><p>outros tão importantes, fez-se necessário ampliar a capacidade dos</p><p>computadores através do paralelismo. Através da tecnologia, o ser</p><p>humano consegue enviar uma sonda para outro planeta e capturar</p><p>informações importantíssimas sem a necessidade de enviar pessoas</p><p>para o local.</p><p>200</p><p>Multiprocessadores de memória compartilhada</p><p>Um multiprocessador é um computador com dois ou mais proces-</p><p>sadores compartilhando os mesmos recursos, como memória e os</p><p>dispositivos de E/S, por exemplo (observe o diagrama abaixo).</p><p>A capacidade do computador de executar diversas threads</p><p>(tarefas) ao mesmo tempo é chamada de multithreading. Por exem-</p><p>plo, você consegue digitar um e-mail e ouvir música no computador</p><p>ao mesmo tempo, pois, apesar das tarefas estarem sendo executa-</p><p>das ao mesmo tempo, elas não se encontram uma com a outra.</p><p>Diagrama 5 – Blocos de um multiprocessador fortemente acoplado</p><p>Fonte: adaptado de Stallings, 2010, p. 519.</p><p>201</p><p>Multiprocessadores homogêneos em um chip</p><p>É possível colocar diversos processadores em um único chip, com-</p><p>partilhando cache, memória principal e todos os recursos do com-</p><p>putador. A vantagem dessa tecnologia é o custo vs. capacidade.</p><p>Multiprocessadores homogêneos possuem uma estrutura de</p><p>semelhança entre suas funções, mesmo utilizando mais de um nú-</p><p>cleo.</p><p>Quando o chip possui apenas um núcleo, a CPU e o pipeline</p><p>utilizam esse espaço, porém, quando há dois chips, um é utilizado</p><p>para a CPU e o outro para o pipeline:</p><p>Figura 19 – Multiprocessadores com um núcleo (a) e com dois núcleos (b)</p><p>Fonte Tanenbaum; Austin, 2013, p. 448.</p><p>Quando os processadores realizam as mesmas funções, cha-</p><p>mamos de multiprocessamento simétrico, ou SMP (Symmetric Mul-</p><p>ti-Processing).</p><p>Multiprocessadores heterogêneos em um chip</p><p>Multiprocessadores heterogêneos contêm diversos núcleos, cada</p><p>um para uma ação diferente.</p><p>202</p><p>Observe o exemplo abaixo:</p><p>Figura 20 – Aparelho de DVD com multiprocessador heterogêneo de vários núcleos</p><p>Fonte: adaptado de Tanenbaum; Austin, 2013, p. 450.</p><p>Andrew Tanenbaum e Todd Austin (2013), usaram o exemplo</p><p>de um aparelho de DVD para demonstrar a função de um multipro-</p><p>cessador heterogêneo de um chip. Diversas funções envolvem a re-</p><p>produção de uma mídia de DVD, exigindo, assim, que a tarefa seja</p><p>executada em um núcleo para que funcione corretamente.</p><p>A tecnologia de multiprocessadores tem a grande vantagem</p><p>de dividir a tarefa em partes, para que cada processador faça uma</p><p>análise e o processamento necessários.</p><p>203</p><p>Figura 21 – Multiprocessador</p><p>Fonte: adaptado de Tanenbaum; Austin, 2013, p. 463.</p><p>Tipos de sistemas de processadores paralelos e sua organi-</p><p>zação (st)</p><p>Para que possamos compreender a organização dos multi-</p><p>processadores, vamos ver quais são os tipos de sistemas de proces-</p><p>sadores:</p><p>• SISD (single instruction, single data): instrução única, um dado.</p><p>• SIMD (single instruction, multiple data): instrução única, diver-</p><p>sos dados.</p><p>• MISD (multiple instruction, single data): múltiplas instruções,</p><p>fluxo de dados único.</p><p>• MIMD (multiple instruction, multiple data): múltiplas instru-</p><p>ções, múltiplos dados.</p><p>Para os tipos SISD e SIMD, existe uma única unidade de con-</p><p>204</p><p>trole (para cada), enquanto que, quando falamos de MISD e MIMD</p><p>existem</p><p>diversas unidades de controle.</p><p>Diagrama 6 – Organização dos processadores</p><p>Fonte: Stallings, 2010, p. 516.</p><p>Multiprocessadores UMA</p><p>Multiprocessadores UMA (Uniform Memory Access, ou acesso uni-</p><p>forme à memória) utilizam apenas um barramento. O problema que</p><p>pode ocorrer nesse caso é do barramento estar ocupado quando uma</p><p>CPU precisar localizar uma palavra, pois ele precisa estar disponível</p><p>para que esta ação seja realizada. Se houver muitos processadores</p><p>no chip, será comum que a maioria fique ociosa enquanto o barra-</p><p>mento é utilizado por um deles.</p><p>Para sanar esse problema, utiliza-se uma cache para cada</p><p>205</p><p>processador. Dessa forma, a leitura é feita pelo cache, deixando o</p><p>barramento livre. Existe ainda outra forma, na qual, além do cache,</p><p>é utilizada uma memória dedicada para cada CPU. Veja na Figura 22</p><p>a diferença entre esses três modos:</p><p>Figura 22 – Três multiprocessadores baseados em barramento (a) sem cache; (b) com</p><p>cache; (c) com cache e memórias privadas</p><p>Fone: adaptado de Stallings, 2010, p. 471.</p><p>Multiprocessadores NUMA</p><p>Multiprocessadores NUMA (NonUniform Memory Access ou acesso</p><p>não uniforme à memória) também utilizam um único espaço de en-</p><p>dereço para todas as CPUs, mas a grande diferença nessa tecnologia</p><p>é que ela acessa as memórias locais de forma muito mais rápida. O</p><p>acesso à memória remota é mais lento e utiliza os comandos LOAD</p><p>e STORE.</p><p>Existem dois tipos de multiprocessadores NUMA:</p><p>• NC-NUMA: quando não há cache.</p><p>• CC-NUMA: quando há cache.</p><p>206</p><p>Multicomputadores de troca de mensagens</p><p>Um multicomputador é composto por múltiplos computadores in-</p><p>terligados por uma rede chamada interconexão para troca de men-</p><p>sagens. Geralmente, multicomputadores são utilizados em projetos</p><p>que precisem de processamento em alto nível. A grande vantagem</p><p>de utilizar diversos computadores é que cada processador vai utili-</p><p>zar sua própria memória privada.</p><p>Topologias</p><p>A interconexão para trocas de mensagens pode utilizar diversas to-</p><p>pologias. Observe a figura abaixo:</p><p>Figura 23 – Diversas topologias (os pontos grossos representam switches).</p><p>Fonte: Tanenbaum; Austin, 2013, p. 488.</p><p>207</p><p>De acordo com os autores Tanenbaum e Austin (2013, p. 488),</p><p>existem as seguintes topologias:</p><p>• Estrela (a);</p><p>• Interconexão total (b);</p><p>• Árvore (c);</p><p>• Anel (d);</p><p>• Grade (e);</p><p>• Toro duplo (f);</p><p>• Cubo (g);</p><p>• Cubo quadridimensional (h).</p><p>Vamos relembrar o que vimos neste material?</p><p>Pudemos conhecer a linguagem de montagem de máquina MIPS e</p><p>compreender as suas instruções e operações. Logo após, pudemos</p><p>simular operações de adição e subtração no simulador SPIM e tive-</p><p>mos a oportunidade de aprender sobre tipos de memória e conhecer</p><p>a hierarquia baseada em pirâmide.</p><p>Vimos também a praticidade do uso de memórias auxiliares e apren-</p><p>demos sobre a importância do paralelismo para a computação.</p><p>Espero que a leitura tenha sido enriquecedora! Até a próxima!</p><p>SINTETIZANDO</p><p>208</p><p>Referências Bibliográficas</p><p>UNIDADE 1</p><p>CHALMERS, A. F. O que é ciência afinal? São Paulo: Brasiliense,</p><p>1993.</p><p>CORRÊA, A. G. D. Organização e arquitetura de computadores. São</p><p>Paulo: Pearson, 2017. Disponível em: <https://bv4.digitalpages.</p><p>com.br/?0from=#/edi- cao/9788543020327>. Acesso em: 24 fev.</p><p>2019.</p><p>GUGIK, G. A História dos computadores e da computação. Te-</p><p>cMundo, 06 mar. 2019. Disponível em: https://www.tecmundo.com.</p><p>br/1697-A-Historia-dos-computadores-e-da--computacao.htm.</p><p>Acesso em: 11 fev. 2020.</p><p>MORAIS, J. L. Matemática e lógica para concursos. 1. ed. São Paulo:</p><p>Saraiva, 2012.</p><p>PUGA, S. RISSETTI, G. Lógica de programação e estrutura de dados.</p><p>3. ed. São Paulo: Pearson, 2016.</p><p>QUILELLI, P. Raciocínio lógico-matemático. 3. ed. São Paulo: Sa-</p><p>raiva, 2015.</p><p>STALLINGS, W. Organização e arquitetura de computadores. 8. ed.</p><p>São Paulo: Pearson, 2010.</p><p>TANENBAUM, A. S.; AUSTIN, T. Organização estruturada de com-</p><p>putadores. 6. ed. São Paulo: Pearson, 2013.</p><p>UNIDADE 2</p><p>BISPO, C. A. F.; CASTANHEIRA, L. B.; FILHO, O. M. S. Introdução à</p><p>lógica matemática. 1.ed. São Paulo: Cengage, 2017.</p><p>CHALMERS, A. F. O que é ciência afinal? São Paulo: Brasiliense,</p><p>1993.</p><p>209</p><p>CORRÊA, A. G. D. Organização e arquitetura de computadores. São</p><p>Paulo:</p><p>Pearson, 2017.</p><p>DICIO. Binário. Disponível em: <https://www.dicio.com.br/bina-</p><p>rio/>. Acesso em: 05 jul. 2019.</p><p>FEITOSA, H. A.; PAULOVICH, L. Um prelúdio à lógica. 1. ed. São Pau-</p><p>lo: UNESP, 2005.</p><p>GUGIK, G. A História dos computadores e da computação. Te-</p><p>cMundo, 06 mar. 2019. Disponível em: https://www.tecmundo.com.</p><p>br/1697-A-Historia-dos-computadores-e- da-computacao.htm.</p><p>Acesso em: 11 fev. 2020.</p><p>IODETA, I. V.; CAPUANO, F. G. Elementos de eletrônica digital. 6. ed.</p><p>São Paulo: Érica, 1984.</p><p>MILIES, F. C. P.; COELHO, S. P. Números: uma introdução à mate-</p><p>mática. 3. ed. 3. reimpr. São Paulo: Universidade de São Paulo, 2013.</p><p>MORAIS, J. L. Matemática e lógica para concursos. 1. ed. São Paulo:</p><p>Saraiva, 2012.</p><p>MOSS, G. L.; TOCCI, R. J.; WIDMER, N. S. Sistemas digitais: princí-</p><p>pios e aplicações. São Paulo: Pearson, 2011.</p><p>MULTI CALCULADORA ON-LINE. Soma de números binários. Dis-</p><p>ponível em:</p><p><http://www.multicalculadora.com.br/soma-de-numeros-bina-</p><p>rios-on-line/>. Acesso em: 05 jul. 2019.</p><p>NEUROPRODUCTIONS. The Logic Lab. Disponível em: <http://</p><p>www.neuroproductions.be/logic-lab/>. Acesso em: 05 jul. 2019.</p><p>PUGA, S. RISSETTI, G. Lógica de programação e estrutura de dados.</p><p>3. ed. São Paulo: Pearson, 2016.</p><p>QUILELLI, P. Raciocínio lógico-matemático. 3. ed. São Paulo: Sa-</p><p>raiva, 2015.</p><p>210</p><p>SAMPEDRO, J. Um sistema binário inventado na Polinésia sécu-</p><p>los antes de Leibniz, 16 dez. 2013. El País. Disponível em: <https://</p><p>brasil.elpais.com/brasil/2013/12/16/sociedad/1387215405_275511.</p><p>html>. Acesso em: 05 jul. 2019.</p><p>STALLINGS, W. Organização e arquitetura de computadores. 8. ed.</p><p>São Paulo: Pearson, 2010.</p><p>TANENBAUM, A. S.; AUSTIN, T. Organização estruturada de com-</p><p>putadores. 6. ed. São Paulo: Pearson, 2013.</p><p>UNIDADE 3</p><p>ALENCAR FILHO, E. Iniciação à lógica matemática. São Paulo:</p><p>Nobel, 2002.</p><p>BOOLOS, G.; BURGESS, J. P.; JEFFREY, R. C. Computabilidade e lógi-</p><p>ca. São Paulo: UNESP, 2012.</p><p>BIGONHA, C. Panorama setorial da internet: inteligência artificial</p><p>em perspectiva. Inteligência artificial e ética, a. 10, n. 2, out. 2018.</p><p>Disponível em: https://nic.br/media/ docs/publicacoes/1/Panora-</p><p>ma_outubro_2018_online.pdf. Acesso em: 03 abr. 2020.</p><p>CARNIELLI, W. A; EPSTEIN, R. L. Computabilidade, funções com-</p><p>putáveis, lógica e os fundamentos da matemática. 2.ed. rev. São</p><p>Paulo: UNESP, 2005.</p><p>COPI, I. Introdução à lógica. São Paulo: Mestre Jou, 1978.</p><p>CERQUEIRA, L. A.; OLIVA, A. Introdução à lógica. 2. ed. Rio de Janei-</p><p>ro: Zahar Editores, 1982.</p><p>DA COSTA, N. C.A.; KRAUSE, D.; BUENO, O. Paraconsistent logics</p><p>and paraconsistency. In: Philosophy of logic. North-Holland, 2007.</p><p>DAGHLIAN, J. Lógica e álgebra de Boole. São Paulo: Atlas, 1995.</p><p>GERSTING, J. L. Fundamentos matemáticos para a ciência da com-</p><p>putação. Rio de Janeiro: LTC, 1995.</p><p>GÖDEL, K. Sobre o cálculo conectivo intuicionista. In: GÖDEL, K.</p><p>211</p><p>Obras completas. Jesús Mosterín, Alianza Editoral, 1981.</p><p>HAACK, S. Filosofia das Lógicas. São Paulo: UNESP, 1998.</p><p>HUTH, M.; RYAN, M. Lógica em ciência da computação: mode-</p><p>lagem e argumentação sobre sistemas.2. ed. Rio de Janeiro: LTC,</p><p>2008.</p><p>MORTARI, C. A. Introdução à lógica. UNESP: Imprensa Oficial do</p><p>Estado, 2001.</p><p>MUNDIM, R. P. A lógica formal: princípios elementares. Revista</p><p>Economia e Gestão, v. 2, n. 3, jan/jun. 2002. Disponível em: http://</p><p>periodicos.pucminas.br/index.php/ economiaegestao/article/</p><p>view/113. Acesso em: 03 abr. 2020.</p><p>NOLT,J.; ROHATYN, D. Lógica. São Paulo: Schaum McGraw-Hill,</p><p>1991.</p><p>OLIVEIRA, K. E. C. D. S. Uma introdução sobre lógicas não clássicas.</p><p>Bauru: Universidade Estadual Paulista, 2010.</p><p>SILVA, C.I.L.L.; ARAUJO, E.G.; SILVA, F.G.; BARBOSA, Y.O.J. Percep-</p><p>ção dos docentes e discentes da UEPA/CAMPUS XV quanto à inte-</p><p>ração homem-máquina. Universidade do Estado do Pará, 2019.</p><p>SOUZA, J. N. Lógica para ciência da computação: uma</p><p>� � � � � � � � � � � � � � � � � � � � � � � � � � �161</p><p>Operando(s) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �161</p><p>Comentário � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �161</p><p>Sentenças da linguagem de montagem � � � � � � � � � � � � � � � � � � � � � � � � � � �161</p><p>Instrução � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 162</p><p>Diretiva � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 162</p><p>Definição de macro � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 164</p><p>Conjuntos de instruções � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �164</p><p>Representação das instruções � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 165</p><p>Tipos de instruções � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 166</p><p>Tipos de operandos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 166</p><p>Endereços � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 166</p><p>Números � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 168</p><p>Caracteres � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 169</p><p>Dados lógicos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 171</p><p>Tipos de operações � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 171</p><p>Transferência de dados � � � � � � � � � � � � � � � � � � � � � � � � � � � � 172</p><p>Lógica � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 173</p><p>Conversão � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 174</p><p>E/S (Entrada e Saída) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 174</p><p>Controle do sistema � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 175</p><p>Transferência de controle � � � � � � � � � � � � � � � � � � � � � � � � � � 175</p><p>Registradores � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �176</p><p>Instruções de linguagem de montagem MIPS � � � � � � � � � � � � � � � � � � � � 176</p><p>Carga � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 176</p><p>Aritméticas � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 177</p><p>Lógicas � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 177</p><p>Operandos imediatos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 178</p><p>Transferência de dados � � � � � � � � � � � � � � � � � � � � � � � � � � � � 179</p><p>Simulador de linguagem de montagem mips (software) � � � � � � � �180</p><p>Organização da memória � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 185</p><p>Hierarquia da memória � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 186</p><p>Registradores � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 187</p><p>Cache � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 188</p><p>Memória principal � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 190</p><p>Memória secundária � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 190</p><p>Memória auxiliar � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �192</p><p>Disco magnético � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 192</p><p>Disco óptico � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 195</p><p>RAID � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 196</p><p>Acessando periféricos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 196</p><p>Entrada e Saída (I/O) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 196</p><p>Barramentos � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 198</p><p>Comunicações � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 198</p><p>Interfaces � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 199</p><p>Arquiteturas paralelas � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 199</p><p>Multiprocessadores de memória compartilhada � � � � � � � � � � � � � � � � � � 200</p><p>Multiprocessadores homogêneos em um chip � � � � � � � � � � � � � � � � � � � � 201</p><p>Multiprocessadores heterogêneos em um chip � � � � � � � � � � � � � � � � � � � 201</p><p>Multiprocessadores UMA � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 204</p><p>Multiprocessadores NUMA � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 205</p><p>Multicomputadores de troca de mensagens � � � � � � � � � � � � � � � � � � � � � � 206</p><p>Topologias � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 206</p><p>Apresentação</p><p>Prezado(a) aluno(a), seja bem-vindo(a)!</p><p>Este material foi desenvolvido com o intuito de levar você a conhe-</p><p>cer os computadores de forma mais profunda do que um usuário</p><p>comum. A partir de agora, você verá os computadores não apenas</p><p>pelo exterior, mas terá a visão da sua arquitetura interna e da forma</p><p>como seus sistemas são organizados.</p><p>Apesar da área de TI possuir diversos campos de atuação,</p><p>existem conhecimentos básicos requeridos por todas elas, como é o</p><p>caso do uso da lógica. Os conhecimentos que você vai adquirir aqui</p><p>são de extrema importância em qualquer segmento que deseje se-</p><p>guir.</p><p>Foco e dedicação serão diferenciais para que você se destaque</p><p>no mercado de trabalho, então, estude bastante!</p><p>Vamos começar?</p><p>Autoria</p><p>Altair Oliveira Pereira Passos.</p><p>Graduado em Engenharia Elétrica com Ênfase em Eletrônica pela</p><p>Estácio UniRadial e Graduado em Matemática Licenciatura pela</p><p>FMU. Pós-graduado em Engenharia Clínica pelo Instituto Israel de</p><p>Ensino e Pesquisa - Hospital Albert Einstein e em MBA em Gestão</p><p>Estratégica de Negócios pela FMU. Professor de Matemática.</p><p>Ubiratan Roberte Cardoso Passos.</p><p>Graduado em Sistemas de Informação e Mestre em Pesquisa Ope-</p><p>racional e Inteligência Computacional pela Universidade Cândi-</p><p>do Mendes. Professor da Universidade Federal do Espírito Santo</p><p>- Campus Alegre (ES). Desenvolvedor Desktop, Mobile e Web com</p><p>mais de 20 anos de experiência.</p><p>Curriculo Lattes</p><p>Curriculo Lattes</p><p>Meire Higinio.</p><p>Professora Meire Higinio é pós-graduada em Investigação de Frau-</p><p>des e Forense Computacional pela Faculdade Impacta de Tecnologia</p><p>desde 2017 e graduada em Sistemas de Informação pela Universida-</p><p>de Estácio de Sá desde 2011. Em 2017, certificou-se em ITIL Foun-</p><p>dation pela Exin. Possui mais de dez anos de experiência na área de</p><p>Serviços de TI e Liderança de Equipes de TI.</p><p>Curriculo Lattes</p><p>Organizador</p><p>Gustavo Henrique dos Santos</p><p>Professor Gustavo Santos é mestre em modelagem computacional e</p><p>graduado em Ciência da Computação pela Universidade Católica de</p><p>Pernambuco. Assessor de Gestão e TI do Ministério da Defesa (MD –</p><p>PE), com mais de 25 anos de experiência na área de Gestão e Proje-</p><p>tos de Desenvolvimento de Software. Professor universitário desde</p><p>2007 em cursos de graduação e pós-graduação.</p><p>Curriculo Lattes</p><p>UN</p><p>ID</p><p>AD</p><p>E</p><p>1</p><p>Objetivos</p><p>1. Aprender sobre a evolução histórica dos computadores;</p><p>2. Aprender os conceitos de lógica;</p><p>3. Compreender como dispositivos internos e externos se comu-</p><p>nicam para que haja o funcionamento do computador; e</p><p>4. Entender os argumentos, premissas, conclusão, formas e va-</p><p>lidade.</p><p>Conceitos</p><p>introdução</p><p>concisa. 2.ed. Rio de Janeiro: Campus, 2008.</p><p>TASINAFFO, P. M. Um breve histórico do desenvolvimento da lógi-</p><p>ca matemática e o surgimento da teoria da computação. Anais...14º</p><p>Encontro da Iniciação científica e Pós- Graduação do ITA - XIV</p><p>ENCITA/2008. Instituto Tecnológico de Aeronáutica, São José dos</p><p>Campos-SP, 2008.</p><p>TASSINARI, R.P. Lógica. Departamento de Filosofia, Unesp/Ma-</p><p>rilia, 2008. Disponível em: https://www.marilia.unesp.br/Home/</p><p>Instituicao/Docentes/RicardoTassinari/LII7.pdf. Acesso em: 03 abr.</p><p>2020.</p><p>212</p><p>UNIDADE 4</p><p>CORRÊA, A. G. D. Organização e arquitetura de computadores. São</p><p>Paulo: Pearson, 2017.</p><p>HENNESSY, J. L.; PATTERSON, D. A. Organização e projeto de com-</p><p>putadores: a interface hardware/software. Rio de Janeiro: Elsevier,</p><p>2005.</p><p>MOSS, G. L.; TOCCI, R. J.; WIDMER, N. S. Sistemas digitais: princí-</p><p>pios e aplicações. São Paulo: Pearson, 2011.</p><p>NULL, L.; LOBUR, J. Princípios básicos da arquitetura e organiza-</p><p>ção de computadores. 2. ed. Porto Alegre: Bookman, 2010.</p><p>NUNES, V. Tabela ASCII. Matemática.pt, 2019. Disponível em: <ht-</p><p>tps://www. matematica.pt/util/resumos/tabela-ascii.php>. Acesso</p><p>em: 08 jul. 2019.</p><p>Portal do Instituto Brasileiro de Museus. Disponível em: <http://</p><p>www.museus. gov.br/>. Acesso em: 21 mar. 2019.</p><p>SOURCE FORGE. PC SPIM Simulator. Disponível em: <https://sour-</p><p>ceforge.net/projects/spimsimulator/files/PCSpim_9.1.9.zip/do-</p><p>wnload>. Acesso em: 08 jul. 2019.</p><p>STALLINGS, W. Organização e arquitetura de computadores. 8. ed.</p><p>São Paulo: Pearson, 2010.</p><p>TANENBAUM, A. S.; AUSTIN, T. Organização estruturada de com-</p><p>putadores. 6. ed. São Paulo: Pearson, 2013.</p><p>de lógica</p><p>e Introdução à</p><p>Organização de</p><p>Computadores</p><p>16</p><p>Introdução</p><p>Neste material faremos uma introdução à lógica e veremos as</p><p>suas principais aplicações, abordaremos também a noção de argu-</p><p>mentos, as premissas, os tipos de formas e o conceito de validade.</p><p>Apresentaremos, também de forma introdutória, a organização e</p><p>arquitetura de computadores, o histórico da arquitetura de compu-</p><p>tadores e a organização de sistemas de computadores.</p><p>Preparado(a)? Vamos lá!</p><p>17</p><p>Introdução à lógica</p><p>Lógica é uma palavra originária do grego (logos) e significa lingua-</p><p>gem racional, ou seja, é um modo de raciocínio coerente que ex-</p><p>pressa uma relação de causa e consequência. De forma abrangente,</p><p>é a maneira coerente por meio da qual os fatos ou situações se en-</p><p>cadeiam. A palavra lógica também quer dizer coerência, raciocínio.</p><p>Dentro da história, a lógica foi fundamentada na Grécia An-</p><p>tiga, onde se estabeleceu através de estudos de grandes filósofos,</p><p>entre eles Aristóteles, que viveu entre os anos de 384 (em Estagira)</p><p>a 322 (em Atenas), antes da E.C. (Era Comum). Foi considerado o</p><p>criador da lógica e foi um filósofo grego, aluno de Platão, estudioso e</p><p>desenvolvedor da física, metafísica e da música. Aristóteles utilizou</p><p>a lógica como um instrumento de introdução da ciência e do conhe-</p><p>cimento no estudo do raciocínio, e tratou dentro da lógica sobre os</p><p>conceitos básicos, tendo como principal obra o Organon, em que de-</p><p>senvolveu conceitos voltados ao tratamento da Lógica Formal como</p><p>sendo o fundamento do conhecimento intelectual.</p><p>Figura 1 - Aristóteles</p><p>Fonte: thelefty, Shutterstock, 2020.</p><p>A construção e evolução da lógica aconteceu em três perío-</p><p>dos: o Período Grego (do século IV antes da E.C. até o começo do</p><p>18</p><p>século XIX, já na E.C.); o Período Booleano (no início do século XIX</p><p>até começo do século XX, primeira década), em que temos o início</p><p>da Lógica Moderna e; o último, o Período Contemporâneo no início</p><p>do século XX.</p><p>Período Grego</p><p>Segundo Bispo, Castanheira e Souza Filho (2011), matemáticos</p><p>como Pierre Abailard (1079- 1142), filósofo escolástico, teólogo e</p><p>grande lógico francês e Willian of Ockham (Guilherme de Ockham –</p><p>1285-1347), frade franciscano, filósofo, lógico e teólogo escolástico</p><p>inglês, desenvolveram a lógica na idade média, passando por Por-</p><p>t-Royal (1662) e chegando em G. W. Leibniz (1647-1716), distinto</p><p>polímata e filósofo alemão, grande influenciador e desenvolvedor</p><p>da matemática, que na época já apresentava suas simbologias nos</p><p>estudos algébricos, próximo do que utilizamos atualmente.</p><p>Período Booleano</p><p>A partir do segundo período, a lógica passou a ter um sentido mate-</p><p>mático, voltado para a álgebra, com formulações e leis, através dos</p><p>estudos de George Boole (1815-1864), matemático e filósofo britâ-</p><p>nico, e de Augustus de Morgan (1806-1871), matemático e lógico</p><p>britânico, formulista das Leis de Morgan, que deu início a ideia da</p><p>indução matemática.</p><p>Dos estudos de Boole, temos a conhecida Álgebra de Boole ou</p><p>Álgebra Booleana, estruturas algébricas que se associam de forma</p><p>prática aos operadores lógicos e de conjuntos, muito bem empre-</p><p>gadas na estruturação de circuitos lógicos de computadores e seu</p><p>processamento. Antes de fechar esse período, temos o matemático e</p><p>filósofo alemão Friedrich L. G. Frege (1848-1925), que desenvolveu</p><p>o método linguístico chamado hoje de cálculo proposicional, sendo</p><p>considerado um dos principais criadores da lógica moderna.</p><p>19</p><p>Período contemporâneo</p><p>Dando continuidade, entramos no último período, situado no iní-</p><p>cio do século XX, o período contemporâneo, com os trabalhos pu-</p><p>blicados a partir de 1910 do filósofo, lógico, matemático britânico e</p><p>fundador da escola filosófica, Alfred North Whitehead (1861-1947),</p><p>que produziu o Principia Mathematica, escrito em conjunto com seu</p><p>aluno, colaborador e amigo, Bertrand Arthur William Russell.</p><p>Na sequência, a lógica ganha uma visão de estrutura linguís-</p><p>tica, com rigor e formalidade, passando a ter signos, com regras e</p><p>leis com uma semântica própria, trabalhadas por Jan Lukasiewicz</p><p>(1878-1956), matemático e filósofo polonês, L.E.J. Brouwer (1881-</p><p>1966), matemático holandês, Clarence Irving Lewis (1883-1964),</p><p>comumente citado como C. I. Lewis, um filósofo norte-americano,</p><p>F.P. Ramsey (1903-1930), um matemático britânico e Jacques Her-</p><p>brand (1908-1931), matemático francês. Além desses, outros con-</p><p>tribuíram na transformação da lógica em uma nova ciência, porém,</p><p>os citados acima são os mais importantes.</p><p>A lógica começa a ter uma forte conexão com a matemática</p><p>após a década de 30 do século XX, passando a contribuir em diver-</p><p>sas áreas, como na Administração, Engenharia, Economia, Física e</p><p>Informática, nas quais as contribuições partiram de matemáticos</p><p>modernos, sendo eles: Kurt Gödel (1906-1978), com o Teorema de</p><p>Incompletude; Alan Mathison Turing (1912- 1954), que trabalhou</p><p>a Teoria Geral dos Processos Computáveis; e a Teoria de Recursão,</p><p>Alonzo Church (1903-1995), matemático estadunidense; John Bar-</p><p>kley Rosser (1907-1989), matemático, filósofo, professor universi-</p><p>tário, cientista da computação, e Stephen Cole Kleene (1909-1994),</p><p>matemático estadunidense.</p><p>Depois desenvolveu-se a Teoria dos Modelos, pelos matemá-</p><p>ticos Alfred Tarski (1902-1989), um lógico, matemático e filósofo</p><p>polonês, que se naturalizou norte americano; e Abraham Robinson</p><p>(1918-1974), matemático que nasceu na Alemanha e naturalizou-se</p><p>norte-americano.</p><p>Fechando a sequência, temos Newton C.A. da Costa, nascido</p><p>em 1929, curitibano, matemático, filósofo e lógico, pensador bra-</p><p>20</p><p>sileiro reconhecido internacionalmente, que formata a Lógica Pa-</p><p>raconsistente entre outras contribuições no desenvolvimento da</p><p>Lógica.</p><p>Conceitos</p><p>O conceito de lógica pode ser dividido em duas abordagens: Clássica</p><p>e Não Clássica. A lógica clássica possui uma abordagem matemática,</p><p>binária, admitindo apenas dois estados, que podem ser verdadeiros</p><p>ou falsos, 0 ou 1. Ela deriva de princípios racionais e do silogismo</p><p>(raciocínio baseado na dedução, criado pelo filósofo Aristóteles). Já</p><p>a lógica Não Clássica admite indefinições, ambiguidades e contradi-</p><p>ções em seus fundamentos.</p><p>Estudiosos matemáticos tratam a lógica como ferramenta</p><p>de solução para vários processos, desde questões administrativas,</p><p>como fluxos de tarefas, até o avanço tecnológico no aperfeiçoa-</p><p>mento de equipamentos de informática, como os estudos dentro</p><p>dos processos de AI (Inteligência Artificial). Podemos citar como</p><p>exemplo a Indústria 4.0 ou assim dizendo, “Fábricas Inteligentes”,</p><p>estrutura que engloba tecnologias de automação avançada e troca</p><p>de dados como o BIG DATA, bem como utilização de conceitos dos</p><p>sistemas ciber-físicos, a computação na nuvem e mesmo a Inter-</p><p>net das Coisas. Tais sistemas/ferramentas são de grande valor nesse</p><p>processo, em que há um imenso volume de dados armazenados para</p><p>passarem por análise e interpretação, sendo processadas por algo-</p><p>ritmos específicos até possibilitar a tomada de decisão.</p><p>21</p><p>Figura 2 - Clássica x Não Clássica</p><p>Fonte: Elaborado pelo autor, 2020.</p><p>Ainda em relação aos conceitos de estudos da lógica, pode-</p><p>mos também dividi-los em lógica formal e material.</p><p>1. Lógica formal</p><p>A lógica formal, ou lógica simbólica, também chamada de ló-</p><p>gica menor, trabalha os conceitos de forma rigorosa e as declara-</p><p>ções são transformadas em componentes simbólicos utilizados na</p><p>composição das provas de validação.</p><p>22</p><p>2. Lógica material</p><p>A lógica material, ou lógica maior, estuda e determina leis</p><p>próprias e regras especiais relacionadas à natureza dos objetos em</p><p>análise. Trata dos métodos das matemáticas, físicas e químicas des-</p><p>tes objetos, suas ciências naturais e das ciências morais.</p><p>Um dos tópicos fundamentais dentro da lógica é a argumen-</p><p>tação, uma vez que a análise lógica parte de argumentos em rela-</p><p>ção a uma ou mais proposições. Então, argumento é um conjunto de</p><p>várias proposições em que uma depende da outra ou das demais do</p><p>conjunto em análise e é tida como consequência.</p><p>Uma</p><p>proposição consequência é chamada de conclusão,</p><p>que, neste caso, foi analisada e finalizada como válida em relação às</p><p>demais proposições. A estas damos o nome de premissas.</p><p>Premissas são como regras, princípios e valores que utiliza-</p><p>mos para provar ou evidenciar a validade de um argumento no fe-</p><p>chamento da conclusão. Além das premissas, há a forma lógica, que</p><p>é a representação das sentenças com o uso de uma gramática for-</p><p>mal, ou, como já visto, o emprego da lógica simbólica na demons-</p><p>tração de semelhanças entre argumentos de mesmo tipo.</p><p>Então, de modo geral, argumentos lógicos possuem uma de-</p><p>terminada forma (estrutura). Esta estrutura pode ser criada com a</p><p>substituição de diferentes palavras ou sentenças que, por conse-</p><p>quência, levam à substituição por lógicas variáveis (letras maiúscu-</p><p>las) num estudo algébrico desta lógica.</p><p>Vamos observar um exemplo de argumento em sentença úni-</p><p>ca:</p><p>“Todos os homens são mentirosos. Paulo é um homem.</p><p>Logo, Paulo é mentiroso”.</p><p>Se reescrevermos a sentença em linhas, desmembrando o ar-</p><p>gumento linha a linha, onde as premissas ou proposições são desig-</p><p>nadas por letras minúsculas conhecidas por letras proposicionais,</p><p>teremos:</p><p>p: Todo homem é mentiroso. (linha 01)</p><p>23</p><p>q: Paulo é um homem. (linha 02)</p><p>r: Logo, Paulo é mentiroso. (linha 03)</p><p>Na sequência, de acordo com a definição, os termos seme-</p><p>lhantes são substituídos por letras, assim, podemos mostrar a im-</p><p>portância desta notação para o argumento e facilitando o estudo da</p><p>lógica. Observe:</p><p>p: Todo H é M. (linha 04)</p><p>q: P é H. (linha 05)</p><p>r: Logo, P é M. (linha 06)</p><p>Lógica e suas aplicações</p><p>A lógica tem aplicações em diversos segmentos, como em Admi-</p><p>nistração de Empresas, Informática, Engenharias, entre outras. Um</p><p>bom exemplo do uso da lógica é dentro da área de Administração</p><p>de Empresas, em uma divisão cujo nome se assemelha muito ao</p><p>que estamos estudando por fundamento: a logística, que vem a ser</p><p>uma especialidade da Administração e se dedica a trabalhar e pro-</p><p>ver recursos, informações e tarefas para uma gestão otimizada de</p><p>um setor ou da empresa como um todo, como no caso dos setores</p><p>de compra, recebimento, estocagem, produção e expedição/distri-</p><p>buição com transporte, tudo com o monitoramento das operações e</p><p>gerenciamento das informações.</p><p>Como pode ser observado, a lógica está misturada a diversos</p><p>sistemas. Nós a utilizamos para planejamento de tarefas das mais</p><p>simples, como atravessar uma rua, em que a pessoa deve analisar,</p><p>fluxo, tempo, distância e trajeto para que saia de um lado a outro de</p><p>uma avenida sem se acidentar. O mais incrível é que tudo é proces-</p><p>sado em segundos, até as tarefas mais complexas, como uma via-</p><p>gem, por exemplo, onde o planejamento demanda um tempo maior,</p><p>pois envolve diversos recursos e preparos, como a escolha do hotel,</p><p>melhor trajeto, passeios, restaurantes, definir os trajes, uma vez</p><p>que o lugar pode ser uma região de muito calor ou frio, entre outros</p><p>aspectos.</p><p>24</p><p>Podemos também apresentar um grande uso da lógica na in-</p><p>formática e computação. Sua aplicação vai desde a construção de</p><p>circuitos elétricos/eletrônicos que constituem o hardware até a for-</p><p>matação de tarefas, instruções e comandos que serão utilizados em</p><p>conjunto com estes dispositivos eletrônicos, que nada mais é do que</p><p>o software com sua linguagem de programação, linguagem lógica.</p><p>Ainda explorando a informática e resgatando fatos históri-</p><p>cos, é válido apresentar aqui a evolução da informática associada ao</p><p>desenvolvimento da lógica, com os estudos de George Boole e outros</p><p>matemáticos e lógicos, que deram grandes contribuições para este</p><p>desenvolvimento.</p><p>Foi partindo das álgebras booleanas que os dispositivos elé-</p><p>tricos e eletrônicos, chamados de portas lógicas, foram desen-</p><p>volvidos e, com a evolução da microeletrônica, esses dispositivos</p><p>simples foram passando por aperfeiçoamentos e compactação. O</p><p>homem partiu de uma tela imensa para uma tela que cabe na palma</p><p>da mão, ou seja, de uma antiga televisão onde seus componentes</p><p>básicos eram válvulas (do tamanho de uma maçã) em uma tela de</p><p>tubo, muito utilizada entre os anos 30 e 60, passando pelos transis-</p><p>tores (do tamanho de uma mosca), usado em grande escala a partir</p><p>dos anos 50, até chegar em microprocessadores a partir de 75. Seu</p><p>tamanho também evoluiu, os microprocessadores SMD que com-</p><p>põem um celular, por exemplo, tem o tamanho de uma cabeça de</p><p>um palito de fósforo, como mostra a figura abaixo.</p><p>Figura 3 - Microprocessadores</p><p>Fonte: Thomas Marchhart, Shutterstock, 2020.</p><p>25</p><p>Vale reforçar que a necessidade de tomadas de decisão com</p><p>a aplicação da lógica e o seu desenvolvimento possibilitou hoje a</p><p>aplicação e viabilidade dessa evolução tecnológica. Hoje carrega-</p><p>mos um computador debaixo dos braços, quando não na palma da</p><p>mão. Nunca se imaginou que a lógica e a matemática poderiam estar</p><p>intrinsecamente ligadas à tamanha evolução. Sim, toda essa evo-</p><p>lução se deu pelo desenvolvimento da lógica e da matemática que</p><p>inicialmente vimos, que começou 300 ou 400 anos antes da E.A. (Era</p><p>Comum), e talvez até antes disso.</p><p>Noção de argumentos</p><p>De modo geral, argumento é uma declaração acompanhada de jus-</p><p>tificativa ou seguido da composição de duas afirmações opostas, ou</p><p>seja, argumento e contra-argumento. Então temos que argumento</p><p>é um conjunto de proposições declarativas, ou mesmo premissas</p><p>seguidas de uma ou mais sentenças declarativas, conhecidas como</p><p>conclusão. Dentro deste estudo, podemos ter o argumento dedutivo</p><p>ou indutivo.</p><p>Argumento dedutivo</p><p>É um argumento em que as conclusões estão conectadas às premis-</p><p>sas, ou seja, se as premissas forem verdadeiras, a conclusão tam-</p><p>bém será.</p><p>Deduzir significa chegar à conclusão utilizando somente o</p><p>raciocínio; fazer inferências; inferir. Tirar uma consequência, fun-</p><p>damentando-se em certos princípios, premissas, fatos: de tudo o</p><p>que você disse, deduz-se que a culpa não é sua.</p><p>Veja, deduzir é o mesmo que inferir, que é deduzir por meio</p><p>de um raciocínio. O uso mais comum da palavra DEDUZIR significa</p><p>a ação de tirar uma conclusão, e na lógica significa dar a conclusão</p><p>sobre um fato que é necessariamente verdadeiro caso as premissas</p><p>sejam verdadeiras.</p><p>26</p><p>Vejamos um exemplo de argumento dedutivo:</p><p>p: Todo homem é mortal.</p><p>q: Sócrates é homem.</p><p>r: Sócrates é mortal.</p><p>A leitura deste exemplo clássico é observar que Sócrates é</p><p>mortal, então os argumentos são verdadeiramente conclusivos e</p><p>negar os fatos é uma contradição à validade argumentativa.</p><p>Assim, entende-se que argumentos dedutivos trazem as pre-</p><p>missas implícitas na conclusão, deixando evidente que a conclusão</p><p>traz de forma explícita as informações presentes nas premissas. Re-</p><p>tomando o exemplo, a conclusão de que “Sócrates é mortal” já es-</p><p>tava evidente e presente nas premissas do argumento em questão,</p><p>como ilustra a figura a seguir.</p><p>Figura 4 - Argumento dedutivo</p><p>Fonte: Elaborado pelo autor, 2020.</p><p>27</p><p>Agora vamos fixar o estudo em três formas argumentativas</p><p>dedutivas importantes, que são: argumentos vinculados à matemá-</p><p>tica, em definições e silogismos. O raciocínio se pauta na dedução,</p><p>composto basicamente por duas premissas ou proposições (maior e</p><p>menor), a partir das quais se alcança uma conclusão, como foi visto</p><p>anteriormente.</p><p>Argumentos vinculados à matemática</p><p>Esse tipo de argumento opera com cálculos geométricos ou aritmé-</p><p>ticos e, ciente que matemática é um conhecimento exato e que faz</p><p>uso frequente de argumentos dedutivos em suas demonstrações,</p><p>realizam-se deduções com grande frequência em muitos dos pro-</p><p>blemas matemáticos estudados.</p><p>Vejamos um exemplo simples: se em uma sala de aula exis-</p><p>tem 20 alunos em um dado dia e uma semana depois entram mais</p><p>6 alunos, concluímos que a turma passou a ter 26 alunos. Desta</p><p>forma, é básico entender que foi feito um raciocínio dedutivo. Esta</p><p>conclusão é exatamente verdadeira, uma vez que é feita uma opera-</p><p>ção de soma de 20 com mais 6 alunos.</p><p>Argumentos relativos a definições</p><p>Partem do significado de palavras ou frases</p><p>bem definidas nas pre-</p><p>missas e que intrinsecamente acarretam a conclusão. Um exemplo</p><p>clássico é que muitos filósofos buscam ou produzem provas da exis-</p><p>tência de Deus, partindo da análise pura do significado dessa pala-</p><p>vra para oferecer argumentos dedutíveis desta existência.</p><p>Resumindo esta argumentação, vejamos um exemplo: se</p><p>Deus representa, entre outras coisas, “ser perfeito”, então, para que</p><p>algo seja perfeito, necessariamente deve existir o oposto, que seria o</p><p>imperfeito. Logo é dedutível que Deus exista.</p><p>Observe então que o argumento é dedutível de definição, ou</p><p>seja, depende simplesmente do significado da palavra “Deus” e</p><p>“perfeito”. Se estamos de acordo com as atribuições dadas para as</p><p>28</p><p>palavras nas premissas, em que “Deus é um ser perfeito” e “algo</p><p>perfeito deve existir”, devemos aceitar a conclusão de que “Deus</p><p>existe”.</p><p>Argumentos relativos a silogismos</p><p>Argumentos relativos a silogismos são os dedutíveis por duas pre-</p><p>missas e uma conclusão, exemplo:</p><p>p: Se tem sol, então faz calor.</p><p>q: Se faz calor, então tenho mais sede.</p><p>r: Se tem sol, tenho mais sede.</p><p>Argumentos indutivos</p><p>Estão relacionados com fatos particulares e experiências, que são</p><p>direcionados às conclusões gerais. Ao dizer que todos os seres que</p><p>nascem irão morrer, pois até hoje ninguém deixou de morrer, o ar-</p><p>gumento aplicado é o indutivo.</p><p>O primeiro passo para compreender o que é um raciocínio in-</p><p>dutivo é não o associar à “indução”, ao ato de “induzir”. Um dos</p><p>significados de induzir é ser causa ou motivo de; inspirar, provocar.</p><p>Nesse sentido, podemos dizer: a pessoa x foi induzida a cometer um</p><p>ato de violência. Porém, quando falamos de argumento indutivo, o</p><p>significado de “indutivo” não tem nada a ver com “influenciar, ins-</p><p>pirar, provocar”. Portanto, para compreender o que é um raciocínio</p><p>indutivo é importante deixar de lado esse significado mais comum</p><p>da palavra “indução”.</p><p>Vejamos como Chalmers (1993, p.22) define um argumento</p><p>indutivo: “se um grande número de As foi observado sob ampla va-</p><p>riedade de condições, e se todos esses As observados possuíam sem</p><p>exceção a propriedade B, então todos os As têm a propriedade B”.</p><p>De acordo com a frase acima, notamos um tipo de raciocí-</p><p>nio chamado de generalização indutiva, pelo fato de “generalizar-</p><p>mos”, ou seja, transformarmos premissas particulares em conclu-</p><p>29</p><p>sões gerais.</p><p>Vamos a um outro exemplo: considere que um grupo de pes-</p><p>quisadores esteja desenvolvendo um remédio para a cura do câncer.</p><p>Após passar por testes em animais e se mostrar eficaz, passam para</p><p>uma segunda fase, que é a pesquisa com testes em pacientes vo-</p><p>luntários que, após certa triagem, iniciam um tratamento teste com</p><p>os seus aceites. Porém, apenas sete voluntários são selecionados, e</p><p>com o início dos testes os cientistas analisam que:</p><p>p: O remédio R cura o câncer do paciente A.</p><p>q: O remédio R cura o câncer do paciente B.</p><p>r: O remédio R cura o câncer do paciente C.</p><p>s: O remédio R cura o câncer do paciente D.</p><p>t: O remédio R cura o câncer do paciente E.</p><p>u: O remédio R cura o câncer do paciente F.</p><p>v: O remédio R cura o câncer do paciente G.</p><p>x: (conclusão): O remédio R cura o câncer.</p><p>Observe que as premissas são particulares, elas informam</p><p>somente que o paciente foi curado. Porém, a conclusão é geral,</p><p>pois apresenta que “o remédio R cura o câncer”, pois se emprega</p><p>a qualquer eventual paciente. Assim, o sentido é de que “todo pa-</p><p>ciente com câncer que tomar o remédio R será curado”. Então, de</p><p>modo geral, o argumento indutivo tem a característica de mostrar</p><p>que partimos de premissas particulares e chegamos às conclusões</p><p>gerais.</p><p>Argumentos indutivos forte e fraco</p><p>O argumento indutivo pode ser mais ou menos forte, ou menos ou</p><p>mais fraco. Esta força depende do nível de apoio que as premissas</p><p>propõem para a conclusão. No exemplo anterior, podemos conside-</p><p>rá-la como uma proposta fraca para a generalização argumentativa</p><p>aplicada. De certa forma, é precipitado deduzir que “o remédio R</p><p>cura o câncer” baseado em apenas 7 casos analisados. O coerente é</p><p>30</p><p>aprofundar as pesquisas, realizar um número maior de testes com</p><p>mais pacientes e uma variedade de cânceres para avaliar.</p><p>Imaginemos que o remédio R do exemplo passe por um nú-</p><p>mero considerável de testes, em cerca de quinze mil pacientes e em</p><p>diversas localidades do mundo e diferentes tipos de cânceres. Após</p><p>os testes, observa-se que praticamente todos os casos de cânceres</p><p>foram curados. Temos, então, pelo volume de curas apontadas com</p><p>o remédio em análise, a conclusão de que “o remédio R cura o cân-</p><p>cer” se torna um argumento indutivo bem forte. Logo, sendo as pre-</p><p>missas verdadeiras, é impossível que a conclusão seja falsa.</p><p>Argumentos indutivos com conclusão falsa</p><p>A utilização de argumentos indutivos não garante uma verdade ab-</p><p>soluta de uma conclusão, pois, mesmo sendo importante e bem uti-</p><p>lizado, tendo argumentos fortes e com suas premissas verdadeiras,</p><p>poderá apresentar uma conclusão falsa.</p><p>De forma simples, podemos exemplificar com a história do</p><p>peru indutivista, de Bertrand Russell.</p><p>O fato é que um peru observava que era alimentado com ração</p><p>pelo mesmo homem, todos os dias e no mesmo horário. Sem tirar</p><p>conclusões precipitadas, começou a observar regularidade no even-</p><p>to em questão, e que, com o passar do tempo, dia após dia, sob sol e</p><p>chuva, calor ou frio, mesmo aos finais se semana e até nos feriados,</p><p>o homem não faltava com a ração e a fornecia sempre no mesmo</p><p>horário. Então, pensou o peru: “agora posso realmente afirmar que</p><p>amanhã, mesmo que venha tempestade, sob qualquer circunstân-</p><p>cia, aquele homem trará, no mesmo horário, ração para mim”.</p><p>Mas para a infelicidade do peru, o dia seguinte era 25 de de-</p><p>zembro, ou seja, aquele peru virou o prato principal na ceia da famí-</p><p>lia e foi direto para a assadeira.</p><p>Embora as observações feitas pelo peru fossem verdadeiras,</p><p>sua conclusão, pelo fato de ser um argumento indutivo, trouxe-lhe</p><p>um resultado falso ao que esperava para o dia seguinte: ele passou a</p><p>servir de alimento e não a ser alimentado.</p><p>31</p><p>Assim podemos observar que o argumento indutivo não ga-</p><p>rante conclusões verdadeiras, independentemente de serem apre-</p><p>sentadas premissas verdadeiras, e o fim trágico do peru é a evidên-</p><p>cia do que foi comentado.</p><p>Premissas</p><p>Agora vamos fundamentar o significado e a importância das pre-</p><p>missas. São orações, sentenças e expressões que declaram um de-</p><p>terminado argumento, tornando-o uma regra, uma definição den-</p><p>tro do contexto lógico em análise, que desencadeiam uma conclusão.</p><p>Um argumento pode estar conectado a uma ou várias premis-</p><p>sas e estas podem definir se o argumento é falso ou verdadeiro.</p><p>Premissa maior e menor</p><p>Premissa é uma proposição encontrada em um silogismo, modela-</p><p>do com deduções, permitindo chegar em uma certa conclusão pelo</p><p>processo de deduções. Tecnicamente, a premissa maior está, em</p><p>geral, no início do raciocínio e associada a ela há um termo maior,</p><p>objeto da análise. Já a premissa menor, em geral, está no meio do</p><p>raciocínio e associado a ela também há um termo, no caso o termo</p><p>menor. Utilizando um exemplo já apresentado, podemos esquema-</p><p>tizar como mostra o quadro a seguir.</p><p>Quadro 1 - Premissa maior e menor</p><p>Fonte: Elaborado pelo autor, 2020.</p><p>32</p><p>Como podemos observar: “mortal” é o termo maior, “ho-</p><p>mem” é o termo médio e “Sócrates” é o termo menor.</p><p>O termo conclusão aqui empregado é exatamente o resultado</p><p>da análise de um ou de uma série de argumentos que são validados</p><p>por uma ou várias premissas.</p><p>Tipos de formas lógicas</p><p>Forma é a representação através de uma gramática formal das sen-</p><p>tenças, argumentos, sistemas de símbolos ou mesmo tipos de ex-</p><p>pressões com o uso de símbolos para apresentar fatos ou ideias.</p><p>Argumentos lógicos, de forma geral, possuem estruturas</p><p>(formas) criadas pela substituição de palavras ou sentenças dife-</p><p>rentes, que geram variáveis lógicas (letras) na substituição destes</p><p>argumentos.</p><p>Em cada um dos exemplos apresentados anteriormente exis-</p><p>tem as formas</p><p>lógicas tratadas no desenvolvimento da análise até a</p><p>finalização com a conclusão.</p><p>Para identificar uma forma lógica dentro de uma sentença,</p><p>utilizamos a substituição de parte do conteúdo de uma sentença por</p><p>variáveis esquemáticas, empregando letras para validação desta</p><p>sentença em relação a outra, filtrando a forma lógica comum entre</p><p>elas.</p><p>O jeito mais prático de apresentar a forma lógica é como des-</p><p>crito anteriormente, através da substituição por símbolos (letras)</p><p>para facilitar a sua análise. Com isso, podemos identificar alguns</p><p>elementos de um modo mais prático e, nesse caso, temos elementos</p><p>materiais e lógicos estruturados, sendo os materiais o de predicado</p><p>e os lógicos os de negação, conexão, quantificação e união.</p><p>Acerca dessa questão, é importante salientar que validade é</p><p>totalmente diferente de verdade. Então, começaremos explicando</p><p>o conceito de verdade e, em seguida, falaremos sobre validade/va-</p><p>lidação.</p><p>33</p><p>Verdade</p><p>É algo que está em concordância com os fatos ou uma realida-</p><p>de, podendo ser uma teoria, ideia, pensamento ou mesmo opinião.</p><p>Na filosofia podemos dizer que é a relação de semelhança, confor-</p><p>mação, adaptação ou harmonia que se pode estabelecer, através de</p><p>um ponto de vista ou de um discurso, entre aquilo que é subjetivo ao</p><p>intelecto e aquilo que acontece numa realidade mais concreta. E, por</p><p>fim, as palavras com o mesmo significado são: exatidão, veracidade,</p><p>realidade, veras, sinceridade, axioma, autenticidade. E as palavras</p><p>com significado oposto de verdade são: falsidade, mentira, inverda-</p><p>de. Então, observe que verdade não é validade e vice e versa.</p><p>Validade</p><p>É a capacidade de algo ser ou ter qualidade de ser válido, mui-</p><p>to utilizado em termos jurídicos como sendo a condição do que tem</p><p>valor legal e cumpre todas as exigências determinadas pela lei, ou</p><p>seja, já vimos aqui que premissas são de alguma forma leis e regras</p><p>de definem um argumento, ou melhor dizendo, validam o argu-</p><p>mento.</p><p>Como você pôde observar, verdade e validade possuem con-</p><p>ceitos distintos. Enquanto a verdade está em concordância com os</p><p>fatos, com a realidade; a validade é a capacidade que algo tem de ser</p><p>ou ter qualidade para que possa ser validado.</p><p>Outra definição cabível ao assunto é apresentada segundo</p><p>Morais (2012, p. 02), que define validade (formal) como o retorno</p><p>lógico de uma estrutura argumentativa que trata do encadeamento</p><p>formal dos raciocínios envolvidos na ideia tratada. De acordo com</p><p>determinadas regras de julgamento formal, essa ideia tratada, isto</p><p>é, argumento, poderá ser válida ou inválida.</p><p>Então, o ato de validar, ou dar validade a uma determinada</p><p>proposição nada mais é que uma ação de legitimar suas premis-</p><p>sas. Para dar um exemplo dentro da informática, em um sistema</p><p>de computador, a validação é uma rotina que certifica a validade de</p><p>dados bem como sua correção, conforme regras ou padrões prees-</p><p>tabelecidos.</p><p>34</p><p>Introdução à organização e arquitetura de</p><p>computadores</p><p>Agora que já vimos os conceitos principais do estudo da Lógica, es-</p><p>tudaremos os conceitos de Organização e Arquitetura de Compu-</p><p>tadores e sua evolução até os dias de hoje. Para isso, vamos iniciar</p><p>compreendendo a diferença entre estrutura e função do computa-</p><p>dor:</p><p>Estrutura</p><p>É o conjunto de dispositivos que compõem um computador.</p><p>Função</p><p>A função primordial do computador é executar programas.</p><p>Para isso, sua estrutura precisa funcionar de forma organizada e</p><p>harmônica.</p><p>No mundo computacional, tornou-se unânime o uso dos</p><p>conceitos de Organização e Arquitetura de Computadores:</p><p>Arquitetura de computador refere-se aos atri-</p><p>butos de um sistema visíveis a um programa-</p><p>dor ou, em outras palavras, aqueles atributos</p><p>que possuem um impacto direto sobre a exe-</p><p>cução lógica de um programa. Organização de</p><p>computador refere-se às unidades operacio-</p><p>nais e suas interconexões que realizam as es-</p><p>pecificações arquiteturais (STALLINGS, 2010,</p><p>p. 22).</p><p>Para compreender melhor, podemos utilizar como exemplo</p><p>uma linha de computadores de determinado fabricante. Toda linha</p><p>pode ter a mesma arquitetura e os produtos podem parecer idênti-</p><p>cos, porém, podem ter uma organização variada, chegando ao con-</p><p>sumidor com preços diferentes de acordo com sua configuração e</p><p>capacidade.</p><p>35</p><p>Histórico da arquitetura de computadores</p><p>Vivemos numa era na qual a tecnologia está presente em todos os</p><p>lugares, nos auxiliando nas mais diversas atividades e necessidades,</p><p>mas nem sempre foi assim. Não se sabe ao certo quando surgiram as</p><p>primeiras máquinas capazes de realizar cálculos, sabe-se que elas</p><p>não eram digitais e dependiam do trabalho manual do programador.</p><p>Vamos estudar agora a evolução dos computadores através</p><p>das quatro gerações para compreender suas características, funcio-</p><p>namento e diferenças entre uma geração e outra. Vamos lá?</p><p>Geração zero: computadores mecânicos (1642-1945)</p><p>Centenas de anos antes do surgimento dos computadores elétricos</p><p>já existiam máquinas para realizar cálculos, chamadas de computa-</p><p>dores mecânicos ou geração zero. A primeira calculadora mecânica</p><p>foi criada em meados de 1642 pelo francês Blaise Pascal. A calcula-</p><p>dora Pascaline era capaz de realizar cálculos de adição e subtração</p><p>de forma simples, já a divisão e multiplicação, por um sistema de</p><p>repetição. A máquina funcionava pelo uso de uma manivela.</p><p>Em 1672, Gottfried Leibniz aperfeiçoou a Pascaline, melho-</p><p>rando sua agilidade e acrescentando a função de raiz quadrada.</p><p>Em 1801, foi criado o primeiro modelo que utilizava um tecido</p><p>perfurado, capaz de ser programado de acordo com esses furos. Esta</p><p>espécie de tear foi criada por Joseph-Marie Jacquard.</p><p>A Máquina Analítica foi criada em 1834; tinha unidades de</p><p>entrada e saída, unidade de memória e unidade de computação, si-</p><p>milares à arquitetura utilizada nos dias de hoje.</p><p>Em 1890, Herman Hollerith criou uma máquina que também</p><p>utilizava a tecnologia de cartões perfurados, mas o seu modelo pos-</p><p>suía pinos que transpassavam somente os furos dos cartões, poden-</p><p>do assim realizar os cálculos necessários.</p><p>Em 1944, a IBM lançou o Mark I, computador que possuía</p><p>uma estrutura gigantesca e era considerado lento, porém conseguia</p><p>36</p><p>realizar cálculos extensos.</p><p>Primeira geração: válvulas (1945-1955)</p><p>Os primeiros computadores considerados digitais para uso geral</p><p>contavam com a utilização de milhares de válvulas. A válvula era um</p><p>dispositivo semelhante a uma lâmpada, feita de vidro transparente</p><p>e totalmente fechada, com uma estrutura interna que continha ele-</p><p>trodos. Ao ser aquecida, o vácuo fazia com que os elétrons fossem</p><p>transmitidos pela estrutura de metal para outro filamento, conhe-</p><p>cido como efeito termoiônico. O problema das válvulas era que, de-</p><p>vido ao seu superaquecimento, consumiam muita energia elétrica e</p><p>queimavam constantemente.</p><p>1. ENIAC: o primeiro computador digital</p><p>O primeiro computador digital começou a ser construído du-</p><p>rante a Segunda Guerra Mundial. O Laboratório de Pesquisa Balísti-</p><p>ca (BRL) do Exército dos Estados Unidos tinha cerca de 200 pessoas</p><p>realizando cálculos para auxiliar a artilharia. Porém, os cálculos po-</p><p>diam levar horas para ficarem prontos, processo este extremamen-</p><p>te oneroso.</p><p>Devido à necessidade de reduzir esse tempo, iniciou-se cons-</p><p>trução do primeiro computador eletrônico digital de uso geral, o</p><p>ENIAC (Electronic Numerical Integrator and Computer), pela parceria</p><p>dos cientistas John Eckert e John Mauchly, ambos da Universidade</p><p>da Pensilvânia. O projeto durou de 1943 a 1946, desta forma, não foi</p><p>utilizado para o seu propósito inicial de auxiliar na guerra.</p><p>O gigantesco computador pesava cerca de 30 toneladas, pos-</p><p>suía mais de 18.000 válvulas e consumia mais de 140.000 kilowatts.</p><p>Sua capacidade era decimal e permitia realizar cerca de 5.000 cál-</p><p>culos por segundo, porém, sua programação era manual e, para</p><p>mudar o tipo de cálculo, era necessário reprogramar o equipamento</p><p>alterando chaves e cabos. Utilizava cartões perfurados que na época</p><p>eram fabricados pela IBM para processamento de dados.</p><p>37</p><p>Figura 5. ENIAC.</p><p>Fonte: Shutterstock.</p><p>O ENIAC foi utilizado para outras finalidades, entre elas, ana-</p><p>lisar a viabilidade de um projeto da bomba termonuclear de hidro-</p><p>gênio. Em 1955, foi desmontado e partes da sua estrutura estão ex-</p><p>postas em diversos museus pelo mundo.</p><p>SAIBA MAIS</p><p>O projeto ENIAC contou com cerca de 80 mulheres programadoras.</p><p>Na época, elas não eram reconhecidas e não participavam dos even-</p><p>tos e premiações em relação aos computadores. Somente em 1997,</p><p>seis delas entraram para o Hall Internacional da Fama de mulheres</p><p>na tecnologia.</p><p>2. A arquitetura de John Von Neumann</p><p>Consultor do projeto ENIAC e professor de matemática na</p><p>Universidade de Princeton, John Von Neumann acreditava que o</p><p>SAIBA MAIS</p><p>38</p><p>processo de programação dos computadores poderia ser facilitado</p><p>se os programas e os dados ficassem armazenados no mesmo espa-</p><p>ço de memória (conceito de programa armazenado). Em 1946, Neu-</p><p>mann começou a trabalhar no projeto do IAS, primeiro computador</p><p>criado pelo Instituto de Estudos Avançados de Princeton (IAS).</p><p>Figura 6 – Unidade central de processamento (CPU)</p><p>Fonte: Editorial Digital Pages, 2020.</p><p>O IAS foi baseado na arquitetura de Von Neumann, possuía</p><p>uma Unidade Central de Processamento que continha uma Unidade</p><p>Lógica e Aritmética (CA) e uma Unidade de Controle do Programa</p><p>(CC) que interagiam com a Memória Principal (M) e os Dispositivos</p><p>de Entrada e Saída (E/S).</p><p>De acordo com Von Neumann, cada item tinha a seguinte</p><p>função:</p><p>• memória principal: local onde ficam armazenados os progra-</p><p>mas utilizados e os dados;</p><p>• unidade de Processamento (CPU):</p><p>• unidade de controle: contém as instruções que devem ser exe-</p><p>cutadas;</p><p>• unidade lógica e aritmética: responsável por executar as ins-</p><p>truções;</p><p>39</p><p>• dispositivos de entrada e saída: por onde entram as informa-</p><p>ções inseridas pelo usuário. Faz a interface com equipamentos</p><p>externos, como mouse e teclado, por exemplo.</p><p>Essa arquitetura se tornou referência e é utilizada pela maio-</p><p>ria dos computadores até os dias de hoje.</p><p>3. EDVAC</p><p>Em 1949, surgiu o EDVAC (Electronic Discrete Variable Auto-</p><p>matic Computer), criado por Von Neumann e os mesmos criadores do</p><p>ENIAC. No mesmo ano, na Universidade de Cambridge – no Reino</p><p>Unido – foi criado o EDSAC (Electronic Delay Storage Automatic Calcu-</p><p>lator) por Maurice Wilker.</p><p>Em 1951, os mesmos criadores do ENIAC apresentaram sua</p><p>nova máquina: o UNIVAC1. Ele foi o primeiro computador comercial</p><p>criado e foi instalado no escritório do censo dos Estados Unidos no</p><p>mesmo ano. Não usava mais os conhecidos cartões perfurados, mas</p><p>sim uma fita magnética.</p><p>A IBM, que até então produzia e comercializava os cartões</p><p>perfurados, lançou seu primeiro computador em 1953, o IBM 701,</p><p>que utilizava a tecnologia da fita magnética. Posteriormente, a em-</p><p>presa lançou vários outros computadores, criando uma extensa li-</p><p>nha de equipamentos.</p><p>4. FORTRAN: primeira linguagem de programação</p><p>Em 1957, surgiu a primeira linguagem de programação para</p><p>computadores: FORTRAN (FORmula TRANslation). Desenvolvida</p><p>por John Backus e sua equipe de treze programadores, a linguagem</p><p>era considerada de alto nível e foi utilizada pela IBM no modelo 704.</p><p>Em seguida, outros fabricantes desenvolveram compiladores para o</p><p>Fortran e conseguiram assim produzir diversos tipos de programas</p><p>para seus computadores.</p><p>Segunda geração: transistores (1954-1965)</p><p>O transistor era um dispositivo semicondutor, criado em 1947 para</p><p>substituir as válvulas, porém, somente na década de 1950 começou</p><p>40</p><p>a ser utilizado em computadores. A IBM foi pioneira no fornecimen-</p><p>to da tecnologia e algumas empresas começaram a utilizá-la em</p><p>pequenos computadores. Posteriormente, a IBM entrou no mercado</p><p>com sua linha 7000. As vantagens da substituição das válvulas pelos</p><p>transistores eram inúmeras: seu tamanho era menor, dissipava me-</p><p>lhor o calor, economizando energia elétrica, e era mais resistente.</p><p>Terceira geração: circuitos integrados (1965-1980)</p><p>O circuito integrado (CI) foi criado em 1958 e recebeu este nome</p><p>porque integrava em sua estrutura de silício vários componentes,</p><p>como capacitores, resistores, transistores, diodos, entre outros.</p><p>Tais componentes, até então, eram fabricados e instalados sepa-</p><p>radamente. O pequeno dispositivo revolucionou a eletrônica. Em</p><p>1964, a IBM lançou uma família de computadores que utilizava a</p><p>tecnologia dos circuitos integrados: System/360.</p><p>O modelo fez tanto sucesso que colocou a IBM como maior</p><p>fornecedora de computadores da época, pois os programas eram</p><p>compatíveis com os diversos modelos da mesma linha.</p><p>Gerações posteriores: VLSI (1980-atual)</p><p>A década de 1980 foi responsável pela comercialização de compu-</p><p>tadores em larga escala para uso pessoal. Com o surgimento da tec-</p><p>nologia VLSI (Very Large Scale Integration), tornou-se possível colo-</p><p>car em um único chip milhões de transistores, fazendo com que os</p><p>computadores fossem ainda menores, mais rápidos e mais baratos.</p><p>Computadores capazes de executar múltiplas funções começaram a</p><p>ser produzidos na década de 1990 e, de lá para cá, surgiram compu-</p><p>tadores portáteis, computadores para carros e atualmente os com-</p><p>putadores podem ser integrados a diversos objetos, tecnologia cha-</p><p>mada de “internet das coisas” e a “computação vestível”, utilizada</p><p>em roupas, relógios e outros produtos.</p><p>41</p><p>Organização de sistemas de computadores</p><p>Agora que já fizemos um breve percurso histórico, vamos partir</p><p>para o estudo da organização de sistemas de computadores.</p><p>Um computador é um conjunto de módulos que possuem</p><p>funções específicas e se comunicam para realizar processamento de</p><p>dados. Esses módulos são: unidade central de processamento, me-</p><p>mória e dispositivos de entrada e saída. A comunicação entre esses</p><p>módulos é feita através de linhas de transmissão ou barramento.</p><p>Figura 7 – Unidade central de processamento (CPU)/Barramento</p><p>Fonte: Editorial Digital Pages, 2020.</p><p>Unidade Central de Processamento (CPU)</p><p>O processador, conhecido como Unidade Central de Processamento</p><p>(CPU), é um chip instalado na placa-mãe do computador, respon-</p><p>sável por processar dados de acordo com instruções previamente</p><p>armazenadas na memória principal.</p><p>Muitos confundem esse termo com toda a estrutura contida</p><p>no gabinete do computador, mas esse conceito está incorreto.</p><p>O processador funciona de forma parecida ao cérebro huma-</p><p>42</p><p>no. Ele executa tarefas que nos são perceptíveis e outras não. Por</p><p>exemplo, não temos que lembrar constantemente de respirar, pois</p><p>esse processo é automático, mas se precisamos escovar os dentes</p><p>precisamos nos lembrar (buscar na memória) como fazê-lo.</p><p>O processador é composto por uma Unidade de Controle e</p><p>uma Unidade Lógica e Aritmética e, juntamente com a memória e</p><p>os dispositivos de entrada e saída, realizam o processo de busca,</p><p>leitura, execução, processamento e gravação das instruções previa-</p><p>mente armazenadas. Esse ciclo é conhecido como “buscar-decodi-</p><p>ficar-executar”.</p><p>Figura 8. CPU.</p><p>Fonte: Shutterstock.</p><p>Os processadores em geral mantêm uma busca de instrução</p><p>em uma sequência de endereço de memória mais alto. Por exemplo,</p><p>se ele localizou uma palavra no local 100, na seguinte busca ele irá</p><p>procurar no local 101, 102, 103 e adiante. Isso significa que a instru-</p><p>ção lida foi carregada em um registrador de instrução (IR), e é lá</p><p>que ficam as “ações” que o processador deve tomar nas próximas</p><p>pesquisas.</p><p>Unidade de Controle (UC)</p><p>Podemos considerar que a Unidade de Controle (UC) é o cérebro do</p><p>43</p><p>processador. Ela fica armazenada dentro do chip juntamente com a</p><p>ULA e é responsável por controlar a operação da CPU. A UC busca as</p><p>instruções na memória principal e as envia para a ULA, informando</p><p>também a sequência em que elas devem ser executadas. Devemos</p><p>lembrar que a UC não processa dados, ela apenas gerencia esses</p><p>processos, servindo como ponte entre a memória e a ULA.</p><p>Unidade Lógica e Aritmética (ULA)</p><p>O local onde os dados são processados na CPU é chamado de Unida-</p><p>de Lógica e Aritmética</p><p>(ULA). Ela tem a capacidade de executar di-</p><p>versos processos de acordo com a instrução recebida. Nos primeiros</p><p>computadores, a quantidade de instruções era menor e a execução</p><p>era mais demorada, mas, com o passar do tempo, os programas de</p><p>computadores foram projetados com o propósito de auxiliar o har-</p><p>dware a aumentar sua capacidade de processamento, tornando-se</p><p>mais rápido para o usuário.</p><p>Registradores</p><p>Os registradores são um conjunto de unidades de armazenamen-</p><p>to, também conhecidos como memória de rascunho. Eles podem ser</p><p>divididos em dois tipos: visíveis ao usuário e controle e estado.</p><p>Registradores visíveis ao usuário</p><p>Podem ser acessados através de linguagem de programação e</p><p>são classificados como:</p><p>• registrador de uso geral: utilizado para realizar funções diversas</p><p>e armazenar dados e/ou endereços;</p><p>• registrador de dados: dedicado apenas para o registro de dados;</p><p>• registrador de endereços: dedicado ao endereçamento em geral;</p><p>• registrador de código de condução: armazena os resultados das</p><p>operações em forma de bits.</p><p>44</p><p>Registradores de controle e estado</p><p>Os registradores são locais de armazenamento dentro da CPU. Ne-</p><p>les ficam guardados diversas informações, incluindo os resultados</p><p>gerados pela ULA, podendo ou não serem enviados para a memória,</p><p>dependendo do que for solicitado. Existem diversos tipos de regis-</p><p>tradores, sendo os principais (STALLINGS, 2010, p. 15):</p><p>• registrador de Buffer de Memória (MBR): determina a</p><p>quantidade de bits (palavra) a ser enviada ou recebida da memória</p><p>ou da E/S;</p><p>• registrador de Endereço de Memória (MAR): especifica o en-</p><p>dereço da palavra (da MBR) na memória;</p><p>• registrador da Instrução (IR): contém a instrução que está</p><p>sendo executada;</p><p>• registrador de Buffer de Instrução (IBR): mantém tempora-</p><p>riamente a próxima instrução a ser executada;</p><p>• contador de Programa (PC): contém o endereço da próxima</p><p>instrução a ser trazida da memória.</p><p>Memória primária, memória secundária, entrada</p><p>e saída</p><p>Memória primária</p><p>A memória primária tem como principal função manter disponíveis</p><p>as informações que serão utilizadas pelo processador. Este tipo de</p><p>memória não pode ser acessado pelo usuário para guardar arquivos,</p><p>o acesso é feito pela unidade de controle da CPU.</p><p>A maioria das memórias primárias são voláteis, ou seja,</p><p>temporárias. Elas mantêm as informações ativas enquanto estão</p><p>em contato com a energia elétrica e vão perdendo gradativamente</p><p>quando a energia é desligada. Por esse motivo, sua capacidade de</p><p>45</p><p>armazenamento é bem menor do que as memórias secundárias (não</p><p>voláteis). Veremos a seguir os tipos de memória primária.</p><p>Memória RAM</p><p>A memória RAM (Random Access Memory) é um chip composto</p><p>por transistores e capacitores que faz uma leitura em código binário.</p><p>A capacidade de armazena mento e a velocidade do processamento</p><p>dos dados vão depender do barramento do periférico.</p><p>Figura 9. Memória RAM.</p><p>Fonte: Shutterstock.</p><p>A memória RAM é dividida em dois tipos:</p><p>• SRAM (Static Random Access Memory): memória estática, rá-</p><p>pida e volátil. Essa memória perde as informações quando a</p><p>energia é desligada;</p><p>• DRAM (Dynamic Random Access Memory): memória dinâ-</p><p>mica, mais complexa e mais lenta que a SRAM. Essa memória</p><p>precisa que a informação seja atualizada constantemente para</p><p>que permaneça armazenada.</p><p>Memória ROM</p><p>A memória ROM (Read-Only Memory), ou, em português,</p><p>“memória apenas de leitura”, é a memória que não se pode alterar,</p><p>dessa forma, os dados são gravados somente uma vez e essa memó-</p><p>ria não é volátil. Existem diversos tipos de memória ROM, conforme</p><p>abaixo:</p><p>46</p><p>• PROM (Programmable Read-Only Memory): pode ser progra-</p><p>mada uma vez, porém, após a gravação, não pode mais sofrer</p><p>alterações;</p><p>• EPROM (Erasable Programmable Read-Only Memory): esse</p><p>tipo de memória permite que seus dados sejam apagados, po-</p><p>rém, esse processo é feito em um equipamento específico, que</p><p>utiliza luz ultravioleta;</p><p>• EEPROM (Electrically-Erasable Programmable Read-Only</p><p>Memory): esta memória pode ser programada e apagada sem</p><p>ser removida do computador para outro equipamento;</p><p>• EAROM (Electrically-Alterable Programmable Read-Only</p><p>Memory): as informações podem ser alteradas ou apagadas</p><p>parcialmente.</p><p>Cache</p><p>A memória cache tem como função armazenar os principais</p><p>dados e recursos utilizados pelo processador e trazê-los de forma</p><p>muito mais rápida quando solicitados. É uma memória extrema-</p><p>mente pequena se comparada à memória RAM.</p><p>Figura 10. Comunicação entre cache, processador e memória principal.</p><p>Fonte: STALLINGS, 2010, p. 117.</p><p>47</p><p>Memória secundária</p><p>A memória secundária é o armazenamento não volátil do computa-</p><p>dor. Seus dados permanecem intactos mesmo quando o computador</p><p>é desligado ou reiniciado. As informações podem ser gravadas, alte-</p><p>radas ou excluídas a qualquer momento, pois o usuário tem acesso a</p><p>este periférico através do sistema operacional.</p><p>Por esses motivos, sua capacidade de armazenamento é mui-</p><p>to maior do que as memórias primárias. Existem diversos tipos de</p><p>memórias secundárias, veremos alguns a seguir.</p><p>Hard Disk (HD)</p><p>A grande maioria dos computadores contém um dispositivo</p><p>que armazena informações do sistema operacional, programas ins-</p><p>talados, arquivos do usuário e muito mais, que é conhecido como</p><p>HD. Nos últimos anos, este dispositivo vem diminuindo de tamanho</p><p>e aumentando sua capacidade de armazenamento.</p><p>Existem também os HDs portáteis, que podem ser levados</p><p>para qualquer lugar e conectados via USB em outros dispositivos,</p><p>facilitando muito a vida do usuário.</p><p>Figura 11 - HD externo (à esquerda) e HD portátil USB (à direita)</p><p>Fonte: Shutterstock</p><p>48</p><p>Pendrive e cartão de memória</p><p>A cada dia menores e com maior capacidade de armazena-</p><p>mento, os pendrives e cartões de memória cabem no bolso e até</p><p>mesmo na carteira. Esses pequenos dispositivos facilitam a vida do</p><p>usuário permitindo que suas informações sejam transportadas e</p><p>transferidas de modo rápido e seguro.</p><p>As entradas (conexões) compatíveis com tais periféricos já</p><p>estão disponíveis em computadores, equipamentos médicos, equi-</p><p>pamentos de som e televisão e nos mais diversos objetos para as</p><p>mais diversas finalidades.</p><p>Figura 12 - Pendrives em modelos e tamanhos variados (à esquerda) e cartão de</p><p>memória micro SD (à direita).</p><p>Fonte: Shutterstock</p><p>CD, DVD e blu-ray</p><p>Existem no mercado mídias de CD-ROM, DVD-ROM e blu-</p><p>-ray graváveis (onde se pode gravar só uma vez) e regraváveis (per-</p><p>mitem que as informações sejam regravadas quantas vezes forem</p><p>necessárias).</p><p>Com essa facilidade, o usuário pode acessar seus dados tam-</p><p>bém em diversos aparelhos que aceitem esse formato de mídia.</p><p>49</p><p>Figura 13. Armazenamento em mídias de CD, DVD e blu-ray.</p><p>Fonte: Shutterstock.</p><p>Entrada e saída (E/S)</p><p>A execução dos processos de dados depende também de dispositivos</p><p>de entrada e saída (E/S). Isso ocorre porque, para que a CPU execute</p><p>as instruções, é necessário haver uma solicitação por meio de um</p><p>dispositivo de entrada, enquanto o resultado desse processo é exi-</p><p>bido por meio de um dispositivo de saída.</p><p>Para imprimir um documento, você utiliza um dispositivo de</p><p>entrada (mouse). E, para tê-lo em mãos, é necessário acionar um</p><p>dispositivo de saída (a impressora).</p><p>Podemos classificar esses dispositivos em três tipos:</p><p>• dispositivos de entrada: interface do usuário com a máquina,</p><p>dispositivo através do qual ele pode inserir informações e dar</p><p>comandos que serão executados pelo computador. exemplo:</p><p>teclado, mouse, microfone, scanner, entre outros;</p><p>• dispositivos de saída: exibem o resultado do processamento</p><p>solicitado. exemplo: monitor, impressora, caixas de som, en-</p><p>tre outros.</p><p>• dispositivos de entrada e saída: existem dispositivos que exe-</p><p>cutam as funções tanto de entrada quanto de saída, como, por</p><p>50</p><p>exemplo, impressoras multifuncionais (têm função de scan-</p><p>ner e impressora), e monitores touchscreen (permitem tanto</p><p>a inserção de dados quanto mostram o resultado na mesma</p><p>tela).</p><p>Para que os periféricos se comuniquem</p>

Mais conteúdos dessa disciplina