Baixe o app para aproveitar ainda mais
Prévia do material em texto
Conceitos Básicos de Arquitetura Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 SST Ancelmo, Jose Roberto Conceitos Báscios de Arquitetura / Jose Roberto Ancelmo Ano: 2020 nº de p. : 12 Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Conceitos Básicos de Arquitetura 3 Apresentação O processador é a peça de um PC que exerce influência no desempenho. Porém, há outros detalhes que fazem um computador ser mais veloz do que o outro, e entre eles está o clock, que veremos adiante. Para compreenderemos o desempenho de um computador, é necessário estudarmos a arquitetura de computadores. Neste momento, compreenderemos a representação de dados, as unidades de medidas computacionais, o modo de endereçamento e conjunto de instruções e a Lei de Boole. Representação de Dados Na representação de dados utilizamos bit e bytes. Vamos entender a diferença entre eles? • Bit BIT vem de BInary digiT, ou dígito binário. É o componente básico da memória e conceitualmente é a menor unidade de informação. Um bit, por convenção, pode assumir dois valores ou sentidos: 1 ligado (ON) ou 0 desligado (OFF). Fisicamente, ele pode ser implementado por qualquer componente que assuma apenas dois estados estáveis. • Byte É o agrupamento de 8 bits. Normalmente, corresponde a um caractere: letra, dígito numérico, caractere de pontuação. Com um byte é possível representar até 256 símbolos diferentes. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 4 Você sabe o que significa “palavra de memória”? É a quantidade de bits que o computador lê ou grava em uma única operação (podendo ser tanto dados quanto instruções). O tamanho da palavra de memória pode variar de computador para computador, e é determinado pela quantidade de memória física disponível para armazenamento. Em computadores desktop, as palavras são representadas na forma de 32 ou 64 bits. O tamanho de uma palavra de memória sempre é um número múltiplo de 8 (lembrando que 1 byte = 8 bits). Representação de bit e byte. Fonte: Plataforma Deduca (2020). Na tabela ASCII, o caractere é a unidade básica de armazenamento na maioria dos sistemas computacionais. O armazenamento de caracteres (letras, números e/ou símbolos) é feito por uma codificação no sistema, em que ficou convencionado que certos conjuntos de bits representam certos caracteres. São três os códigos de representação de caracteres bastante utilizados: ASCII, EBCDIC e UNICÓDIGO. ASCII (American Standard Code for Information Interchange) é o código utilizado pela maioria dos microcomputadores e em alguns periféricos de equipamentos de grande porte. EBCDIC (Extended Binary Coded Decimal Interchange Code) Exemplo: Caracteres EBCDIC ASCII A 1100 0001 10100001 Z 1110 1001 10111010 Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 5 UNICÓDIGO (ou Unicode) é o código que utiliza dois bytes para representar mais de 65 mil caracteres ou símbolos. Permite intercambiar dados e programas internacionalmente. Unidades de medidas computacionais • Bases e sistemas de numeração Podemos afirmar que a forma mais utilizada para a representação numérica é a notação posicional. Segundo Monteiro (2007), na notação posicional, os algarismos componentes de um número assumem valores diferentes, conforme sua posição relativa nele. O valor total do número é a soma dos valores relativos de cada algarismo. Dependendo do sistema de numeração escolhido, a quantidade de algarismos que o compõem é denominada base. Sendo assim, a partir do conceito de notação posicional, torna-se possível a conversão entre as diferentes bases, principalmente da decimal para a binária. Vamos analisar o conceito de notação posicional, apresentado por Monteiro (2007, p. 29-30). A notação posicional é uma consequência da utilização dos numerais hindu-arábicos. Os números romanos, por exemplo, não utilizam a notação posicional. Desejando efetuar uma operação de soma ou subtração, basta colocar um número acima do outro e efetuar a operação desejada entre os numerais, obedecendo a sua ordem. A civilização ocidental adotou um sistema de numeração que possui dez algarismos (0, 1, 2, 3, 4, 5, 6, 7, 8 e 9), denominado de sistema decimal. A quantidade de algarismos de um dado sistema é chamada de base; portanto, no sistema decimal a base é 10. O sistema binário possui apenas dois algarismos (0 e 1), sendo que sua base é 2. Os computadores atuais processam a informação por bits (caractere). Um bit é a menor unidade de um sistema digital e pode assumir os valores de 0 ou 1. O ajuntamento de 8 bits forma um byte (palavra) e pode armazenar um valor numérico de 0 a 255 ou representar uma palavra. Para medir o tamanho dos dispositivos de E/S, tais como memórias, unidade de discos, arquivos e banco de dados diversos, a unidade básica de medida é o byte. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 6 Byte. Fonte: Plataforma Deduca (2020). Em um sistema de computação, é muito importante verificar a capacidade de armazenamento, seja de um dispositivo ou arquivo pois, quando realizamos uma ação em nosso computador, um arquivo é gerado e pode ser guardado para uso posterior. Quando isso acontece, um espaço é ocupado. Daí termos especial atenção na capacidade de memória e da unidade de disco num sistema. Cada conjunto de 8 bits forma o byte, o qual corresponde a um caractere, seguindo o código binário: 1 0 0 1 0 1 1 0 Diante desse contexto, podemos nos perguntar: por que 1 Kb equivale a 1024 bytes? Reflita Nos exemplos do nosso cotidiano, tais como vendas por quilo ou litro, a estrutura numérica é construída sobre a base 10, na qual tudo o que é elevado à terceira potência atinge o milhar exatamente com 1000 unidades. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 7 Mas, quando falamos em bytes, grupos de 8 bits, não estamos falando em base 10, mas sim em uma estrutura alicerçada no correspondente código binário, ou seja, na base 2, nos dois níveis dos dados que o computador detecta, chamados de 0 e 1. Sendo assim, quando queremos um quilo de bytes (Kilobytes), temos que elevar essa base a algum número inteiro, até conseguir atingir o milhar. Mas não existe um número inteiro possível que consiga atingir exatamente o valor de 1.000. Então, ao elevarmos a base 2 à décima potência, teremos 1024. Com esse raciocínio, agora podemos entender a tabela a seguir: Comparativo das medidas de armazenamento de dados Medida Sigla Caracteres BYTE 20 1 (8 BITS) 1 BYTE KILOBYTE KB 210 1.024 1.024 BYTES MEGABYTE MB 220 1.048.576 1.024 KBYTES GIGABYTE GB 230 1.073.741.824 1.024 MBYTES TERABYTE TB 240 1.099.511.627.776 1.024 GBYTES PENTABYTE PB 250 1.125.899.906.842.624 1.024 TBYTES HEXABYTE HB 260 1.152.921.504.606.846.976 1.024 PBYTES YOTABYTE YB 280 1.208.925.819.614.630.000.000.000 1.024 HEXABYTE Fonte: Elaborada pelo autor (2020). Portanto, quando se diz que um disco rígido tem capacidade de armazenamento de 5,3 Gb, são armazenados aproximadamente 5 milhões e 500 mil caracteres. Vamos entender um pouco sobre Hertz ou Mega-hertz e RPM. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 8 • Hertz ou (Hz) ou Mega-hertz (MHz) A velocidade de um processador se mede em função da velocidade do seu relógio, em frequência Hertz (Hz) ou Mega-hertz (MHz). A frequência corresponde ao número de ciclos por segundo. A frequência interna do relógio do processador varia de um para outro, sendo comuns as velocidades entre 2 MHz e 3200 MHz (3.2 GHz). Essa medida de velocidade não é relacionada ao número de instruções (dados) que o processador realiza por segundo numa solicitação. Cada instrução (dado) é feita em um número específico de ciclos de leitura e escrita,o que torna impossível determinar com exatidão o número de instruções realizadas em um segundo. Existem instruções (dados) que são realizadas em um único ciclo de relógio (clock processador), enquanto outras demoram várias dezenas. Frequentemente, quanto mais ciclos por segundo mais rápido as instruções serão encaminhadas. O clock é a velocidade na qual o processador atua em um sinal de sincronismo. O pulso clock é quando os equipamentos recebem sinal para efetuar determinadas atividades. A medição dele é feita em hertz (Hz). Atenção Observe o comparativo das instruções por ciclo e velocidade na tabela que segue. Comparativo das instruções por ciclo e velocidade Instruções por Ciclo Velocidade Processador Média de Segundos 80000 800 MHZ 1 MIN E 40 SEGS. 80000 3000 MHZ (3.0 GHZ) 26 SEGS. Fonte: Elaborada pelo autor (2020). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 9 Nessa tabela, imagine uma instrução que precise de 80.000 ciclos para se completar, sendo executada em dois computadores com processadores de velocidades diferentes. • RPM – Rotações Por Minuto Característica encontrada, por exemplo, no Hard Disk HD de 1TB / 7200 RPM. O RPM (rotações por minuto) é a velocidade na qual os discos internos do disco rígido (hard disk) giram. Quanto maior a velocidade, menor será o tempo para gravar ou ler informações no disco, fazendo com que seu computador possa acessar esses dados de modo mais rápido. Modo de endereçamento e conjunto de instruções e a Lei de Boole Sobre o modo de endereçamento e conjunto de instruções, temos que: Instrução Conjunto de bits devidamente codificados, que indica ao computador que sequência de micro operações ele deve realizar. Classificação Semelhança de propósito e formato. As mais comuns são: transferência de dados, aritméticas e lógicas. Conjunto de instruções É o conjunto de todas as instruções que um computador reconhece e pode realizar (equivalente ao conjunto de palavras reservadas em uma linguagem de alto nível). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 10 Programa Qualquer sequência finita de instruções de um determinado conjunto de instruções. Modos de endereçamento São as diversas formas de endereço de um operando, somadas às diversas formas de desvio. Lógica de Boole Assim como descreve Tanenbaum (2013), para descrever os circuitos que podem ser construídos combinando portas, é necessário um novo tipo de álgebra, no qual variáveis e funções podem assumir somente os valores 0 e 1. Essa álgebra é denominada Álgebra Booleana, nome que se deve ao seu descobridor, o matemático inglês George Boole (1815-1864). George Boole foi um autodidata que criou o sistema algébrico, composto por estruturas algébricas com propriedades essenciais para operadores lógicos e conjuntos. Os computadores trabalham com essa numeração binária, ou seja, na lógica de 0 e 1. A álgebra booleana é semelhante à álgebra convencional que conhecemos e estuda as relações entre as variáveis lógicas, que podem assumir apenas um estado entre “0” e “1”. A álgebra booleana pode realizar operações lógicas com suas variáveis do mesmo modo que a lógica convencional, diferenciando-se pelo fato de o resultado incidir sobre as variáveis, portanto, constituindo operações lógicas. Uma das formas mais simples de analisar e entender as operações da lógica booleana é por meio da Tabela Verdade, lista dos possíveis resultados da operação. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 11 Ela pode ser obtida pelas combinações possíveis de todos os valores dos operandos. Cada operando pode assumir o valor “verdadeiro” ou “falso”. Veja como é fácil construir uma Tabela Verdade. Operações lógicas – Tabela Verdade. OPERADOR COMO SE CHAMA A PROPOSIÇÃO COMPOSTA SÍMBOLO TABELA- VERDADE e CONJUNÇÃO p^q SÓ SERÁ VERDADEIRO QUANDO AMBOS “P” E “Q” FOREM V AO MESMO TEMPO ou DISJUNÇÃO p V q SE PELO MENOS UM, “P” OU “Q”, FOR V ENTÃO SERÁ VERDADEIRO. se... então... CONDICIONAL p q SÓ SERÁ FALSO QUANDO “P” FOR V ENTÃO E “Q” FOR F se e somente se BICONDICIONAL p q SÓ SERÁ VERDADEIRO QUANDO “P” E “Q” FOREM V AO MESMO TEMPO OU QUANDO FOREM F AO MESMO TEMPO. ou (exclusivo) DISJUNÇÃO EXCLUSIVA p V q PARA SER VERDADEIRO QUANDO UM FOR V O OUTRO TERÁ QUE SER F Fonte: Elaborado pelo autor (2020). Fechamento Chegamos ao final do estudo sobre os conceitos básicos de arquitetura de computadores, e compreendemos a representação de dados como o bit e o byte, vitais para a representação do caractere computacional. Vimos que o bit é a unidade básica de armazenamento na maioria dos sistemas computacionais. Além disso, foi possível desenvolver os sistemas computacionais, suas representações de medidas computacionais, bem como o modo de endereçamento e conjunto de instruções e a Lei de Boole, essenciais para o funcionamento computacional. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 12 Referências MONTEIRO, M. A. Introdução à Organização de Computadores. Rio de Janeiro: LTC, 2007. TANENBAUM, A. S. Organização estruturada de computadores. 6. ed. São Paulo: Pearson, 2013. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Arquitetura e Classificação dos Sistemas de Computação Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 SST Ancelmo, Jose Roberto Arquitetura e Classificação dos Sistemas de Computa- ção / Jose Roberto Ancelmo Ano: 2020 nº de p. : 11 Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Arquitetura e Classificação dos Sistemas de Computação 3 Apresentação Neste tópico, estudaremos a definição de arquitetura computacional e, para isso, veremos a arquitetura de máquinas de Von Neumann (ou modelo de Von Neumann), seus elementos, dispositivos, instruções e como os componentes estão interconectados. Por fim, veremos a classificação dos sistemas de informação e os principais componentes de um sistema de informação. O que é arquitetura de computadores? A arquitetura de computadores está relacionada ao projeto conceitual da estrutura organizacional de um computador. Nela, estudamos os requisitos necessários para que um computador funcione e como organizar os diversos componentes para obter os melhores desempenhos. Para que você compreenda melhor esse conceito, também falaremos sobre: • o Modelo Von Neumann; • o suporte ao sistema operacional, enfocando suas características gerais; • a aritmética computacional, que detalha o processador com um debate sobre aritmética de computadores. Os processadores são fornecidos pelo suporte de duas formas de aritmética de números inteiros, números de pontos fixos e a aritmética de ponto flutuante; • o conjunto de instruções, o olhar do programador: a forma de compreender a operação é o conhecimento do conjunto de instruções que ele executa; • o exame das possíveis formas de endereçamento; • a organização global de um processador, a unidade de controle, conjunto de registradores (UCLA); posteriormente discutiremos a organização de seu con- junto de registradores; • os Computadores RISC, uma das formas mais importantes e inovadoras da organização de computadores e sua arquitetura de computadores com um conjunto mais reduzido de instruções. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 4 Um processador CISC (Complex Instruction Set Computer ou “computador com um conjunto complexo de instruções”) é capaz de executar centenas de instruções complexas diferentes, sendo extremamente versátil. Exemplos de processadores CISC são o x86 e x64, que usam CISC na superfície e RISC no seu núcleo (HARDWARE.COM.BR, 2007). Curiosidade Os computadores baseados em RISC têm seu desempenho aumentado, fazendo com que as arquiteturas anterioresou acompanhem esse padrão ou desapareçam. As inovações de hardware levaram ao renascimento do projeto de computadores, inovando também sua arquitetura. Chamamos essa evolução de “renascimento do projeto de computadores”. Esse renascimento do hardware impactou o desenvolvimento de software e permitiu aos programadores trocarem o desempenho pela produtividade. Em vez de utilizarem linguagens orientadas para o desempenho, como C e C++, programadores podem utilizar linguagens, como Java e C#, além das linguagens script, como Javascript, que são mais rentáveis e estão ganhando mais produtividade. Logo, esse aperfeiçoamento resultou no desenvolvimento das mais variadas características, implementadas com diferentes padrões, conhecidos como computador de gabinete. Projeto de computador. Fonte: Plataforma Deduca (2020). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 5 A arquitetura de computadores diz respeito a uma série de fatores e atributos que um programador deve conhecer para projetar ou programar o computador. Nesse sentido, a tarefa de um projetista laborioso é aplicar as propriedades para um novo modelo de computador. Isso porque ele deve colocar na ponta do lápis fatores que aumentem o desempenho e melhorem a qualidade dele, levando em conta a restrição de custos, potência e disponibilidade (HENESSY; PATTERSON, 2014). Como vimos, a arquitetura de computadores é a técnica de projetar e elaborar o computador em si. O bom funcionamento de um programa se deve à combinação entre a exatidão dos algoritmos usados nele. Os programas de software podem transcrever as instruções que o hardware está fazendo no momento. Essa é uma das perfeições que o computador tem na comunicação de um software com o hardware. Arquitetura de Máquinas Von Neumann O método de arquitetura de computadores, conhecido como Modelo de Von Neumann, é uma forma de organização dos componentes de um sistema computacional, baseado na disposição deles, alinhados para proporcionar um melhor aproveitamento do projeto computacional. Esse arranjo permite que os dispositivos de E/S se comuniquem de forma precisa e rápida com as memórias e o processador. Esse modelo proposto por Von Neumann está baseado em três características: a. Os dados e as instruções ficam armazenados no mesmo espaço de memória, não existindo conflitos entre ambos. b. Cada espaço de memória tem um endereço físico, o qual será utilizado para identificar a posição de um determinado conteúdo ou dado. c. As instruções são executadas de forma sequencial, uma a uma, determinada pelo UC (Unidade Controle). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 6 Exemplo de estrutura de sistema computacional. Fonte: Plataforma Deduca (2020). O modelo de arquitetura de computadores proposto por Von Neumann foi amplamente aceito, sendo utilizado nos projetos de praticamente todos os tipos de computadores modernos. De uma forma geral, o modelo de Von Neumann ratificou a divisão entre dois conceitos importantes: o hardware e o software. O projeto conceitual de computador digital proposto por ele se utiliza do conceito de programa armazenado na memória principal, com os dados que serão manipulados ou analisados, ou seja, utiliza-se de uma sequência ordenada e lógica de instruções que conhecemos como software, independentemente do hardware utilizado. A arquitetura de computadores, modelo Von Neumann, é composta por: • memória principal; • CPU, que contém os registradores, a Unidade Aritmética e Lógica (ULA) e a Unidade de Controle (UC); • dispositivos de entrada e saída (E/S) para comunicação com o meio externo. A figura a seguir demonstra como estão interconectados os componentes ou dispositivos do modelo de Von Neumann. Esses dispositivos se comunicam por meio do barramento (meio físico), que opera a velocidades altas, interconectando os principais componentes do modelo. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 7 Arquitetura de máquinas Von Neumann Fonte: Elaborada pelo autor (2020). As máquinas não Von Neumann são aquelas que não se enquadram na definição de máquinas Von Neumann. Essa categoria é ampla, incluindo sistemas computacionais como: • Máquinas paralelas: várias unidades de processamento executando progra- mas de forma cooperativa, com controle centralizado ou não. • Máquinas de fluxo de dados: aquelas que não executam instruções de um programa, mas podem realizar operações de acordo com a disponibilidade dos dados envolvidos. • Redes neurais artificiais: trabalha com um modelo no qual os resultados são gerados a partir de respostas a estímulos de entrada. • Processadores sistólicos (VLSI): o processamento acontece por meio da passagem de dados por arranjo de células de processamento, executando operações básicas, organizadas de modo a gerar o resultado desejado. O design de uma máquina de arquitetura de Von Neumann é mais simples que a máquina de arquitetura de Harvard, que também é um sistema de programa armazenado, mas que tem um conjunto dedicado de barramentos de endereços que servem para ler os dados e posteriormente armazená-los na memória. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 8 Classificação de Sistemas de Computação Quando se deseja ter um sistema de computação para alguma atividade, há várias opções: • computadores de gabinete; • estações de trabalho; • notebooks; • computadores de grande porte; • supercomputadores. Os microcomputadores surgiram em 1974 com o advento de microprocessadores, que são todos os itens de um computador em uma pastilha. Essa denominação foi dada por conta do tamanho e da capacidade de processar informações. O modelo para montagem era chamado ALTAIR e utilizava processador Intel 8080. Após esse modelo, outros tipos começaram a ser comercializados. Computadores são máquinas planejadas para atender concomitantemente à demanda de vários programas e usuários. O potencial de suportar vários usuários e programas se deve à velocidade de processamento e à capacidade de velocidade da memória. Computadores de grande porte são sistemas planejados para manipular um número amplo de dados e executar ao mesmo tempo muitos usuários. Ele é planejado para realizar grandes cálculos matemáticos em tempo real ou o mais rápido possível, sendo que atualmente desenvolve-se computadores quânticos, utilizando-se q-bits. Principais componentes de um sistema de computação Os componentes de um microcomputador podem se dividir em duas partes: hardware e software. O hardware do computador diz respeito às partes físicas ou aos componentes de um computador, como monitor, teclado, armazenamento de dados do computador, placa gráfica, placa de som e placa mãe. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 9 O hardware é conduzido pelo software para executar qualquer comando ou instrução. Uma combinação de softwares forma um sistema de computação utilizável. O modelo de todos os computadores modernos é baseado na arquitetura de Von Neumann, detalhada em 1945 pelo matemático húngaro John Von Neumann. Isso descreve uma arquitetura de design de um computador digital eletrônico com subdivisões de uma unidade de processamento, consistindo em uma unidade lógica aritmética e registradores do processador. Ou seja, uma unidade de manipulação obtendo um registro de instruções e um contador de programa, uma memória para armazenar dados e instruções de armazenamento externo e mecanismos de entrada e saída. O termo evoluiu para transcrever os programas de computadores armazenados e que estão em constante busca de informações de dados que podem ocorrer ao mesmo tempo, porque eles são compartilhados em um barramento comum. Dentre os elementos de hardware, temos: impressora, scanner, ventilador, disco rígido, processador, mouse, RAM, placa-mãe e teclado. Veja alguns desseselementos na figura a seguir. Exemplos de hardware. Fonte: Plataforma Deduca (2020). De modo genérico, software é uma entidade que se encontra em constante estado de mudança, que ocorre pela necessidade de corrigir erros existentes no software ou de adicionar novos recursos e funcionalidades a ele. O software faz parte de um sistema que consiste em dados ou instruções de um computador, em contraste com hardware físico a partir do qual o sistema foi Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 10 criado. Ele inclui programas de computador, bibliotecas e dados informáticos. Os sistemas operacionais mais usados atualmente são Windows, Linux e Mac OS. Há muitos tipos de software de sistemas, porém os mais importantes são o sistema operacional e o compilador. O sistema operacional promove a interface entre o programa e o cliente; e o hardware disponibiliza essa interação. Boa parte dos softwares está escrito em linguagem de programação de alto nível, mais eficiente para os programadores usarem, porque está mais próxima da linguagem humana. O software também pode ser escrito em uma linguagem de baixo nível, que apresenta uma correspondência forte com as instruções do idioma da máquina do computador. Exemplos de software: Word, Power Point, Internet Explorer, Calculadora, Paint. Os compiladores realizam uma função indispensável: traduzir um programa em uma linguagem refinada, como C ou Java, em mecanismos que o hardware possa executar. Com o tempo, uma série de linguagens de alto nível foi criada. O objetivo delas era fazer com que os humanos pudessem escrever comandos para os computadores de forma mais confortável. Um programa chamado compilador ficaria responsável por traduzir a linguagem de montagem para a linguagem da máquina. Fechamento Nesse estudo, compreendemos o conceito de arquitetura computacional através do entendimento da organização de um padrão computacional pelo modelo de Von Neumann. Por fim, vimos que um sistema computacional é dividido em hardware e software, e esses componentes são essenciais para o funcionamento de um sistema computacional. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 11 Referências HARDWARE.COM.BR. Processadores RISC X Processadores DISC. Hardware.com. br, 14 jul. 2007. Disponível em: https://www.hardware.com.br/artigos/risc-cisc/. Acesso em: 5 out. 2020. HENESSY, J. L.; PATTERSON, D. A. Arquitetura de computadores: uma abordagem quantitativa. 5. ed. Rio de Janeiro: Elsevier, 2014. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Conceitos Básicos de Arquitetura de Computadores em Relação à Entrada e Saída (E/S) Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 SST Ancelmo, Jose Roberto Conceitos Básicos de Arquitetura de Computadores em Relação à Entrada e Saída (E/S) / Jose Roberto Ancelmo Ano: 2020 nº de p. : 11 Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Conceitos Básicos de Arquitetura de Computadores em 3 Relação à Entrada e Saída (E/S) Apresentação Em nosso estudo, compreenderemos os conceitos básicos da arquitetura de computadores em relação ao processo de entrada e saída, como o acesso direto à memória (DMA), os barramentos síncronos e assíncronos e a arbitragem de barramento. Entrada e Saída (E/S) O processo de entrada e saída (E/S) visa compartilhar informações ou adquiri-las dos computadores. Alguns deles se utilizam de uma organização de E/S com uma ou mais CPUs, memória e um ou mais controladores de E/S, denominados “canais de dados”. Assim que a CPU realiza uma entrada, ela dispara um programa especial em um dos canais e informa-lhe para executá-lo. Desse modo, o canal utiliza toda a E/S da memória principal, liberando a CPU para fazer outras tarefas. Ao executar a tarefa, o canal de dados interrompe a CPU para concluir a operação. Modernos desktops usam uma estrutura mais simplificada, consistindo em um único barramento, interligando-se à CPU, à memória e aos dispositivos de E/S. Cada dispositivo de E/S apresenta duas partes: o controlador (componentes eletrônicos que fazem o controle do periférico) e o dispositivo propriamente dito. Sua função primordial é controlar seu dispositivo de E/S e gerenciar os acessos ao barramento pelo canal de dados. Como tipos de canais de dados, podemos citar os seletores, que se dedicam à transferência de dados com um único dispositivo por vez; e os multiplexadores, que transferem dados de/para vários dispositivos simultaneamente. Atenção Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 4 A ação desse controlador, que lê ou escreve um bloco de dados em uma posição de memória sem a interferência da CPU, é chamada acesso direto à memória – DMA, como você poderá ver na figura a seguir. Exemplo de Acesso Direto à Memória – DMA. Fonte: Elaborada pelo autor. Um mediador do barramento é utilizado quando a CPU e o controlador necessitam usar o barramento ao mesmo tempo. Geralmente, é dada a prioridade ao controlador de E/S. Perda de ciclos ou dados ocorre quando um dispositivo solicita o barramento e a CPU já o está utilizando. Isso diminui a velocidade do computador ao realizar as tarefas. Barramento síncrono e assíncrono Um barramento é um meio físico elétrico compartilhado entre muitos dispositivos de E/S. O código do barramento estabelece as regras de funcionamento do próprio barramento, deixando que componentes dimensionados por terceiros possam ser anexados ao sistema. Os dispositivos de E/S que iniciam as transferências pelo barramento são identificados como mestres. Os dispositivos de E/S que esperam por uma requisição são identificados como escravos, conforme você pode verificar no quadro a seguir. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 5 Conceituação de Mestre e Escravo. CPU Memória Busca de instruções e dados CPU E/S Início de transferência de dados CPU Coprocessador Instruções de ponto flutuante E/S Memória DMA Coprocessador Memória Buscando operandos Fonte: Elaborado pelo autor. A maioria dos mestres de barramento está ligada a ele por meio de plaquinhas ou pastilhas, chamadas acionadores de barramentos (bus driver), que são basicamente amplificadores digitais. Em geral, os escravos estão ligados ao barramento pelos receptores de barramento (bus receiver). Com relação aos dispositivos de E/S que podem atuar tanto como mestres quanto como escravos, é empregada uma plaquinha ou pastilha combinada chamada transceptor de barramento (bus transceiver). Essas pastilhas de interconexão com o barramento são regularmente dispositivos tri-state. Sua ação consiste em deixar que eles flutuem quando não são utilizados. Um barramento síncrono tem uma linha disparada por um oscilador cristal. Todos os ciclos de pedidos do barramento gastam um número inteiro de ciclos do oscilador, denominados ciclos de barramento. Já um barramento assíncrono não apresenta um relógio mestre que o guie. Os ciclos podem ter qualquer durabilidade que se queira e não necessitam ser os mesmos entre todos os pares dos dispositivos. Considere um relógio de 4MHZ. Um ciclo de barramento leva 250ns, admitindo que a leitura de um byte da memória leva três ciclos de barramento. Assim, o ciclo de leitura leva 750ns. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 6 No modelo de um módulo de E/S, representado pelos três tipos de barramentos, temos as variações dos dispositivos externos, que são legíveis ao ser humano, tais como monitor, impressora e teclado, e os legíveis à máquina, como monitoração e controle e a parte de comunicação (modem e placa de interface de rede). Atenção À medida que uma leitura de bloco é iniciada, o mestre do barramento solicita ao escravo quantos bytes serão transferidos.O escravo solta um byte a cada ciclo até que a quantidade seja exterminada. A leitura de um bloco de n bytes gastaria (n + 2) ciclos, em vez de 3n. No barramento assíncrono, em vez de se atrelar tudo ao relógio, um conjunto de sinais chamado handshake completo determina o início e o fim de um ciclo de leitura/escrita, conforme figura a seguir. Temos, então, os sinais: MSYN (Master SYNchronisation), SSYN (SlaveSYNchronisation) e o handshake, que consiste em quatro eventos: 1. MSYN é ativado; 2. SSYN é ativado em resposta a MSYN; 3. MSYN é desativado em resposta a SSYN; 4. SSYN é desativado em resposta à desativação de MSYN. Barramentos Assíncronos. Fonte: Mourelle (2018, p. 12). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 7 Os handshakes completos são interdependentes do tempo. Isso significa que cada evento é acusado por um anterior e não por um pulso sincronizado pelo relógio. No barramento síncrono, tudo converge em múltiplos inteiros dos ciclos do relógio. Para concordar com as diferentes velocidades dos dispositivos E/S incluídos, os estados de espera (waitstates) são colocados. No barramento assíncrono, o intervalo de tempo de um ciclo de leitura/escrita resulta da velocidade dos dispositivos de E/S envolvidos. Veja como isso acontece na figura abaixo. Ciclo de Leitura. Fonte: Mourelle (2018, p. 9). Se dois ou mais dispositivos necessitam se tornar mestres ao mesmo tempo, aparece a obrigação de algum instrumento de arbitragem de barramento. Na arbitragem centralizada, um único árbitro de barramento estipula qual o próximo mestre. Árbitros em barramento O barramento apresenta uma linha única de requisição ou solicitação que poderá ser iniciada por um ou mais dispositivos de E/S ao mesmo tempo. Quando o árbitro reconhece uma solicitação do barramento (bus request), ele gera uma permissão disparando uma linha de permissão de barramento (bus grant). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 8 Essa linha é interligada em série com todos os dispositivos de E/S. À medida que o dispositivo fisicamente mais próximo do árbitro enxerga a permissão, verifica se foi ele mesmo que fez a requisição ou solicitação. Se sim, ele assume totalmente o barramento e não propaga ou dispara a permissão pela linha. Se não, ele dispara a permissão para o próximo dispositivo que se encontra na linha. Esse esquema ou artifício é chamado de daisy chaining. A prioridade depende da proximidade do dispositivo ao árbitro. Para driblar a prioridade solicitada condicionada na distância do árbitro, podemos utilizar diversos níveis de prioridade. Para cada um se estabelece uma linha de solicitação ou requisição de uma linha de permissão de barramento. Alguns árbitros apresentam uma terceira linha que um dispositivo ativa quando ele aceitou a permissão e tomou controle do barramento (bus acknowledge). Sendo ativadas, as linhas de requisição e permissão podem ser desativadas ou suspensas. Como resultado, outros dispositivos de E/S podem requisitar ou solicitar o barramento, enquanto outro o está utilizando. Quando a transferência atual terminar, o próximo mestre já terá sido selecionado. Na figura a seguir, observe a prioridade dos árbitros de barramento. Prioridade dos árbitros de barramento. Fonte: Mourelle (2018, p. 16). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 9 Quando a arbitragem descentralizada está sendo empregada, não há árbitro de barramento. Uma dica: o barramento mostra as linhas de solicitação priorizadas, às quais cada dispositivo se conectará (havendo limitação do número de dispositivos). Quando um dispositivo de E/S solicita usar o barramento, ele ativa a sua linha de solicitação. Os dispositivos supervisionam todas as linhas de requisição. Igualmente, ao fim de cada ciclo do barramento, cada dispositivo reconhece se ele é o solicitante de maior prioridade ou se lhe é autorizado usar o barramento no próximo ciclo. Equiparado à arbitragem centralizada, esse modelo pede mais linhas de barramento, deixando o custo potencial do árbitro. Outra dica consiste em o barramento mostrar somente três linhas, independentemente do número de dispositivos presentes, como podemos ver na figura abaixo. Exemplo arbitragem no barramento. Fonte: Elaborada pelo autor. Assim que a linha de requisição é iniciada pelo dispositivo, a linha de ocupado é iniciada pelo mestre corrente do barramento. A linha de arbitragem é utilizada para arbitrar o barramento. Ela é sequenciada por meio de todos os dispositivos de E/S. O início da cadeia é regularmente mantido ativo, ligando-se à fonte de +5V. À medida que nenhum dispositivo de E/S requer o barramento, a linha de arbitragem ativada é disseminada por meio de todos os dispositivos. Para se utilizar do barramento, um dispositivo, primeiro, observa se o barramento está disponível e se a linha de arbitragem que está recebendo (I-Input) está ativada. Se I estiver desativada, ele não poderá ser alçado a mestre do barramento. Se I estiver ativada, o dispositivo desativa O (output), o que faz todos os outros dispositivos na cadeia desativarem I e O. No final, apenas um dispositivo terá Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 10 I ativado e O desativado. Ele se torna mestre do barramento, e começa sua transferência. Esse modelo é parecido com a arbitragem daisy chain original, excetuada pela ausência do árbitro. Igualmente é mais barato, mais veloz e não vulnerável a erros no árbitro. Fechamento Chegamos ao final do estudo sobre conceitos básicos de arquitetura de computadores em relação à entrada e saída (E/S) e compreendemos que o processo de entrada/saída (E/S) busca compartilhar informações ou adquiri-las dos computadores. Vimos que essas informações são transferidas de formas diretas, através do controlador de acesso direto à memória ou de mediadores, quando os acessos devem ser priorizados entre CPU e E/S. Em um segundo momento, compreendemos os barramentos síncronos, controlados por um relógio (oscilador de cristal) e assíncronos sem controle de relógios. Por fim, vimos o processo de arbitragem de barramento que supervisiona as linhas de requisição de um barramento. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 11 Referências MOURELLE, L. Conceitos de Entradas e Saídas. Disponível em: http:// www.eng.uerj. br/~ldmm/arquitetura/Conceitos_de_entrada_e_saida. pdf. Acesso em: 21 maio 2018. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Sistemas integrados Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 SST SANTOS, E. M. dos Sistemas Integrados / Eliane Moreira dos Santos Ano: 2020 nº de p.: 9 páginas Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 3 Sistemas Integrados Apresentação Um sistema integrado é aquele que integra todos os departamentos e processos de uma empresa, o que possibilita unificar as tarefas em conjunto para que sejam alcançados os seus devidos resultados conforme o planejamento inicial do projeto. Ao longo deste material, conheceremos melhor essa ferramenta e as razões para utilizá-la. Enterprise Resource Planning (ERP) A tecnologia ERP ou planejamento de recursos empresariais são pacotes de software para gestão empresarial que contêm recursos de automação e informatização, visando contribuir para o gerenciamento dos negócios empresariais (REZENDE; ABREU, 2013). De maneira mais específica, podemos definir ERPs como softwares que integram todos os dados e processos de uma empresa em um único sistema. Assim, um ERP é uma plataforma de software desenvolvida com o objetivo de integrar os diversos departamentos da empresa, permitindo a automação e o armazenamento de todas as informações de negócios. Curiosidade O sistemaERP é composto por módulos que se integram a partir de uma única e não redundante base de dados. Cada módulo contempla uma área da empresa, e por meio da integração desses módulos, é possível entender todos os processos envolvidos na operacionalidade do negócio, o que serve como apoio à tomada de decisões de todos os setores. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 4 Os sistemas ERP do mercado são compostos por uma estrutura básica que é própria de cada desenvolvedor e que pode ser customizada em função das necessidades particulares da empresa que compra o software. Stair e Reynolds (2016) apresentam os sistemas ERP com melhores classificações no ano de 2011. Observe o quadro a seguir: Sistemas ERP com melhores classificações em 2011 Sistemas ERP para grandes organizações Sistemas ERP para organizações de médio porte Sistemas ERP para pequenas organizações Microsoft dynamics Epicor Abas Oracle Industrial and financial systems Activant solutions. Inc. Oracle eEbusiness suite Infor Baan Oracle jd edwards Lawson Compiere Oracle peoplesoft Plex Netsuite Sap Sage Syspro Fonte: Adaptado de Stair e Reynolds (2016, p. 415). Evolução dos Sistemas Até pouco tempo, o foco da gestão da produção eram os estoques, no sentido de propiciar o atendimento da demanda a partir da disponibilização dos produtos de constantes pedidos dos clientes. Contudo, em uma situação na qual o ciclo de vida dos produtos fosse medido em anos, e as demandas variassem pouco, a gestão de estoques poderia ser simples e o seu gerenciamento, eficiente. Entretanto, a dinâmica dos negócios gerou uma diferença na taxa de suprimento e consumo, tornando a gestão de estoque mais complexa. De maneira mais específica, podemos dizer que os estoques e a necessidade de sua gestão surgem em virtude da falta de coordenação ente o suprimento e a demanda. Nesse contexto, surgiram modelos diferentes de gestão de estoques que, aliados ao conceito de produzir apenas o que será vendido, proporcionaram a criação de um novo conceito. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 5 Gestão de estoques Fonte: Plataforma Deduca (2020). Nesse novo paradigma, o cálculo da necessidade de materiais tem base na ideia de que os componentes de um produto e o tempo para sua obtenção são fatos conhecidos. Assim, é possível determinar quais materiais e em qual quantidade deverão ser disponibilizados para atender às necessidades de produção, sem causar falta ou sobra dos componentes. Os primeiros sistemas usando a TI surgiram em 1960, na forma dos sistemas de processamento de listas de materiais (Bill of Materials - BOM). Em seguida, esses sistemas evoluíram para o primeiro sistema de material (Material Requirement Planning - MRP), que tinha como base computadores da IBM/360. Por volta de 1970, a expressão MRP tornou-se comum, e sua utilização permitiu melhorar a produtividade e a qualidade de áreas produtivas. À medida que as empresas utilizavam esses sistemas, percebeu-se que não seria suficiente apenas determinar os materiais necessários para produção, mas que seria preciso, também, planejar a capacidade de produção com o intuito de fazer um gerenciamento de situações de ociosidade e sobrecarga da produção (AUDY; CIDRAL; ANDRADE, 2011). Planejar a capacidade de produção ampliou o escopo do MRP, e em meados de 1980, o modelo passou a se chamar MRP II (Manufacturing Resource Planning), sendo definido como um modelo efetivo para fazer o planejamento de todos os recursos de uma empresa de manufatura. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 6 O próximo passo para evoluir os sistemas utilizados pelas empresas foi a integração de todas as funções empresariais, visando ao planejamento de recursos corporativos. Com isso, a partir de 1990, os modelos de gestão passaram a ser identificados como Enterprise Resource Planning (ERP). Curiosidade O ERP integra processos de negócio em uma única arquitetura. Atualmente, podemos afirmar que a gestão empresarial é caracterizada por uma profusão de modelos que dão ênfase a diferentes aspectos organizacionais. Sistema ERP (Planejamento dos Recursos da Empresa) Fonte: Plataforma Deduca (2020). Resumindo: • O primeiro ciclo evolutivo nos modelos da gestão da produção foi marcado pelo uso dos sistemas de processamento de listas de materiais (BOM). • O segundo ciclo evolutivo nos modelos da gestão da produção teve o MRP como item de maior expressão. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 7 • O terceiro ciclo evolutivo nos modelos da gestão da produção foi caracteriza- do pelo uso do MRP II. • O quarto ciclo evolutivo nos modelos da gestão da produção se caracterizou pela utilização do ERP. Perspectivas atuais da integração de processos intra e interorganizacionais As tecnologias baseadas na WEB facilitam a movimentação de informações para fora da empresa (intraorganizacional), ou seja, facilita a movimentação por parte de fornecedores e consumidores. Temos então os negócios eletrônicos (e-business), que abrangem três tipos de estágios: E-commerce Inclui transações de venda e compras que são realizadas pela empresa. E-business Trata de melhorar o desempenho nos negócios através do uso da Web, e pelo uso de padrões de conexão entre fornecedores e consumidores. E-partnering É o estabelecimento de alianças estratégias entre empresas, de forma que elas possam compartilhar os benefícios e melhorias provenientes do uso dos recursos de e-business. Assim, é possível considerarmos que o desafio atual da evolução das soluções tecnológicas é definir uma arquitetura que seja capaz de integrar o ERP ao e-business, com intuito de potencializar as vantagens competitivas. Algumas soluções adotadas incluem a integração do ERP ao SCM (Supply Chain Management) e CRM (Customer Relationship Management). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 8 Sistemas de SCM: São sistemas de informação que permitem diversas organizações se integrarem. Isso resulta em um compartilhamento de padrões e recurso, e uma integração entre os sistemas ERP da empresa e os sistemas ERP dos clientes e fornecedores. O SCM, gerenciamento de cadeia de suprimentos, de forma mais específica, é um sistema que inclui o planejamento, execução e o controle de atividades que envolvem a compra e abastecimento de matéria-prima, envolve também a conversão de matéria-prima em produtos acabados / finalizados para os clientes. O objetivo do SCM é reduzir os custos e otimizar o serviço ao cliente. Sistemas CRM: São sistemas de informação que fornecem suporte para o atendimento de clientes com objetivo de conquistar sua fidelidade. Esses sistemas incluem desde centrais de atendimento até o desenvolvimento de soluções para identificar o comportamento dos consumidores, através de técnicas de data mining e data warehouse. Fechamento Desse ponto de vista de suporte à integração entre processos de negócios e funções empresariais, os sistemas de informação são elementos que articulam a evolução da TI e a evolução dos modelos de negócio. Nesse sentido, os sistemas de informação proporcionam uma integração cada vez maior entre processos de uma organização, integrando processos de fornecedores e clientes. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 9 Referências AUDY, J. N.; CIDRAL, A.; ANDRADE, G. K. Fundamentos de sistemas de informação. Porto Alegre: Bookman, 2011. STAIR, R. M.; REYNOLDS, G. W. Princípios de sistemas de informação. São Paulo: Cengage, 2016. REZENDE, D. A.; ABREU, A. F. Tecnologia da informação aplicada a sistemas de informação empresariais. São Paulo: Atlas, 2013. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Organização e funções básicas dos componentes de um Sistema de Computação: Parte I Licensed to JONH ADLER MS RIBEIRO - jonhadler@gmail.com - 005.932.555-00 SST Schirigatti, J. L., Ancelmo, J. R.; Organização e funções básicas dos componentes de um Sistema de Computação: Parte I / Autor: Jackson Luis Schirigatti, José Roberto Ancelmo Local: Florianópolis, 2020. nº de p. : 10 páginas Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Organização e funções básicas dos componentes de um Sistema de Computação: Parte I 3 Apresentação Estudar a arquitetura e a organização de um computador é enxergá-lo por dentro, a sua organização, seus dispositivos e para que funcionam. Agora você estudará como os dispositivos e processadores estão organizados num computador e como a memória trabalha. Também entenderá como funcionam as filas de endereçamento, como o computador consegue fazer mil tarefas ao mesmo tempo e ainda deixar o processador livre para que a máquina responda de maneira satisfatória. Dispositivos E/S e Unidade Central de Processamento (CPU) O hardware de um computador é composto por um conjunto de três componentes básicos, os quais são combinados sistematicamente a fim de armazenar uma série de dados e, posteriormente, processá-los em forma de resultados, sendo que, para cada aplicação particular desejada, é possível arquitetar uma configuração lógica diferente desses componentes. No entanto, independentemente da aplicação projetada, para que esse comportamento funcional do sistema ocorra, é indispensável que haja a troca e a interpretação de dados e sinais de controle entre os seus componentes lógicos. Assim, dependendo do sinal fornecido a partir de um dado, o computador será capaz de executar diferentes funções. Para isso, faz-se necessário um componente de entrada e saída (E/S) interconectado ao sistema que seja capaz de introduzir os dados de modo que sejam geradas instruções a serem processadas e, posteriormente, reproduzidas ao usuário. Cada componente E/S é capaz de controlar um ou mais dispositivos periféricos, também conhecidos como dispositivos input/output (I/O), pelos quais é possível introduzir e/ ou extrair dados, por meio da interação do processador com o homem. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 4 Os dispositivos de entrada correspondem aos equipamentos pelos quais é possível, especificamente, introduzir dados no computador, por exemplo: teclado, mouse, scanners, disquetes, HDs externos, microfone, câmera, mesa gráfica etc. Comumente, todos os dispositivos de entrada são capazes de codificar as informações fornecidas pelo homem em forma de dados que possam ser, posteriormente, processados pelo sistema digital do computador. Por sua vez, os dispositivos de saída correspondem aos equipamentos pelos quais é possível, especificamente, extrair dados do computador, como monitor de vídeo, impressora, caixas de som, fones de ouvido, entre outros. Ao contrário dos dispositivos de entrada, essa classe de equipamentos é responsável por decodificar os dados gerados pelo sistema digital do computador em forma de informações que podem ser percebidas de maneira inteligível pelo usuário. Ainda, existem dispositivos E/S que funcionam tanto para entrada quanto para a saída de dados, sendo, portanto, chamados de dispositivos híbridos. São exemplos desses dispositivos os drives de CD e DVD-ROM, pen drives e os modens. No entanto, para que os dados fornecidos pelos dispositivos de entrada sejam convertidos efetivamente em resultados pelo dispositivo de saída, é necessário que haja um componente intermediário presente no sistema que seja capaz de interpretar esses dados e, consequentemente, gerar sinais de controle correspondentes. A esse componente damos o nome de Unidade Central de Processamento (CPU). Conhecida popularmente como microprocessador, a unidade central de processamento (CPU) é o componente mais importante do sistema computacional, pois é ela quem executará os programas armazenados na memória principal, buscando e interpretando cada instrução fornecida pelo dispositivo de entrada de dados, a fim de devolvê-los em forma de informações acessíveis ao usuário por meio dos dispositivos de saída. De modo geral, cada processador é composto por um circuito integrado próprio, o qual pode ser dividido, basicamente, em dois grandes módulos: a unidade de controle (UC) e a unidade lógica e aritmética (ULA). Enquanto a UC responsabiliza-se por supervisionar todas as operações do computador sob a direção de um programa armazenado, a ULA realiza todas as operações matemáticas e comparações lógicas sobre um conjunto de dados. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 5 Esquematização do processamento de dados Unidade Central de Processamento (CPU) Dispositivo de Entrada Dispositivo de Saída Unidade de Memória Fonte: Adaptada de Stallings (2002). Para isso, a UC determina, primeiramente, qual instrução será executada pelo computador e, depois, procura essa instrução na memória interna, gerando um sinal que será interpretado pela ULA. A execução dessas instruções ocorre, na maioria das vezes, de modo sequencial por meio de algoritmos escritos a partir de uma linguagem de programação que são compilados e geram um código programado responsável pelo processamento dos dados. A instrução é então executada por outras unidades do computador sob a direção da UC, caracterizando o que chamamos de Ciclo de Instrução. Ciclo de instrução e endereçamento de memória O ciclo de instrução pode ser entendido tipicamente como uma sequência de passos, em que, a cada passo, uma operação lógica ou aritmética é executada pela ULA sobre algum dado a partir das instruções fornecidas pela memória do sistema. Para isso, o circuito realiza uma busca nos registradores da UC, os quais são responsáveis por receber, guardar o endereço da próxima instrução a ser executada e transferi-la na direção de algum dispositivo de controle. Desse modo, para cada ciclo de instrução, o microprocessador realiza dois processos respectivos: um ciclo de busca e um ciclo de execução. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 6 Esquematização do Ciclo de Instrução Básico Busca da próxima instrução ciclo de busca ciclo de execução PARADAExecução da instruçãoINÍCIO Fonte: Adaptada de Stallings (2002). A partir do esquema apresentado, pode-se observar que a execução de um programa se encerra somente se a máquina for desligada, se ocorrer algum erro irrecuperável ou se for executada uma instrução de programa que pare a operação do computador. Do contrário, enquanto novos dados forem inseridos no sistema, o ciclo de instrução permanecerá ininterrupto. Ainda, cada CPU de computador pode executar vários ciclos de busca e execução diferentes de acordo com o conjunto de informações que forem guardadas nos registradores. Cada registrador compreende uma posição de memória identificada por um endereço específico, capaz de guardar informações temporárias (sequências de bits = palavra) que podem ser deslocadas dentro de um mesmo registrador ou transferidas entre dois registradores, a fim de serem interpretadas como uma instrução ou como um dado. O modo específico pelo qual esse processo ocorre será explicado detalhadamente mais adiante. Bit: Descendente das palavras “dígito binário” (binary digit), o bit corresponde à menor unidade de medida de transmissão de dados usada na área da computação e informática. Saiba mais Tipicamente, os registradores são endereçados sequencialmente e, juntos, constituem um subsistema de memória da Memória lnterna, denominado Memória RAM (Random Access Memory). Um endereço de memória identifica uma locação física na memória interna de um computador, apontando para o local onde os dados estão armazenados. É como um endereço residencial o qual indica onde você reside. Licensed to JONH ADLER M SRIBEIRO - jonhadler@gmail.com - 005.932.555-00 7 Nessa analogia, o espaço de endereçamento corresponde à área onde sua moradia está fixada, como o seu bairro ou a sua cidade, por exemplo. Aqui, o espaço é extremamente importante, porque, ainda que existam duas “Av. Brasil, 120”, cada um pertence a uma cidade diferente (São Paulo e Rio de Janeiro, por exemplo), ou seja, correspondem a espaços de endereçamento diferentes. O mesmo acontece com o endereçamento da memória. A memória RAM é dividida em linhas (Row) e colunas (Column). O acesso é feito enviando os valores CAS (Columm Adress Strobe) e RAS (Row Adress Strobe), que correspondem a esses endereços de linha e coluna. Combinados os dois endereços, é acessado o bit de dados desejado. Para acesso a uma determinada posição, seja para gravar ou ler dados, o controlador de memória primeiro gera o valor de RAS ou o número da linha que está relacionada à posição, sendo gerado em seguida o valor de CAS, que corresponde à coluna dessa posição. Veja o exemplo: Modelo de endereçamento de memória 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 Valor RAS: "9 linha" Bit a ser acessado Legenda: Exemplo de Endereçamento de Memória. Fonte: Rodrigues (2014) De modo geral, a memória principal de um sistema de computação é arquitetada hierarquicamente, sendo que os registradores estão no topo dessa hierarquia. Isso porque os registradores são o meio mais rápido de se armazenar um dado ou instrução e, por isso, também compreendem o componente mais caro de uma Memória. É a capacidade de armazenamento dos registradores (n bits) que irá ditar Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 8 o tamanho da memória interna e, consequentemente, limitará o tipo de serviço que o computador poderá executar. Alguns registradores mais comuns são: • Acumulador (AC): responsável por armazenar os resultados de um cálculo. • Registrador de endereçamento da memória (Memory address register – MAR): especifica o endereço da memória que deverá ser usado pela próxima instrução de leitura ou escrito. • Registrador de dados da memória (Memory data register – MDR): contém o dado a ser lido ou escrito na memória. • Registrador de instrução (Instruction Register – IR): armazena a próxima ins- trução que deverá ser interpretada e executada. • Contador de programa (Program Counter – PC): usado para guardar o ende- reço da próxima instrução a ser buscada na memória. • Registradores de propósito gerais (R): são aqueles capazes de armazenar di- versos tipos de dados, podendo ser utilizados para a manipulação de cálculos, contagens, armazenamento, ponteiros, entre outros. Modos de execução do processador Levando-se em conta os conhecimentos adquiridos no decorrer desta unidade, podemos ter uma visão mais detalhada do processo de execução do processador, no qual: no início de cada ciclo, o processador busca uma instrução primária guardada no endereço de memória do PC que irá informar o endereço da próxima instrução a ser executada e assim por diante. Considere um sistema de computação no qual cada palavra de memória contenha 16 bits e, a partir daí, suponha que o PC possui o endereço 200. O microprocessador irá buscar a próxima instrução na posição de memória 200 e, a cada novo ciclo de instrução, buscará as instruções nas posições seguintes: 201, 202, 203, e assim por diante. Saiba mais Cada instrução é carregada simultaneamente no IR que, por sua vez, contém uma sequência de bits que especificam a ação que a UC deverá executar. A partir daí, Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 9 um sinal é enviado para a ULA, a qual interpreta a instrução armazenada no IR e a devolve para a UC a fim de executar a ação requisitada. Em geral, essas ações podem ser classificadas em quatro categorias: • Processador-memória: ação de transferência de dados do componente de processamento para o componente de memória e vice-versa. • Processador-E/S: ação de transferência de dados entre o componente de pro- cessamento e um dispositivo periférico de entrada e saída. • Processamento de dados: execução de operações lógicas ou aritméticas so- bre os dados. • Controle: ação em que a sequência de informações pode ser alterada. Nes- ses casos, o programador pode desenvolver um programa não sequencial de modo que, ao buscar uma instrução na posição de memória de endereço 256, seja transmitido um sinal para que a próxima busca seja direcionada para a posição de memória de endereço 182. Desse modo, no ciclo seguinte, a ins- trução será obtida no endereço 182, e não no endereço 257 como previsto. Conclui-se, portanto, que um ciclo de instrução pode envolver mais de uma referência, podendo não só especificar uma interação entre o processador e a memória, como também entre o processador e um componente E/S e, ainda, entre um componente E/S e a memória. Fechamento Entendemos que a Arquitetura de Computadores basicamente corresponde ao comportamento funcional de um sistema computacional. Já a Organização de Computadores cuida da estrutura interna do computador (ex. frequência do relógio ou tamanho da memória física). Trabalhar com arquitetura e organização de computadores é trabalhar com vários níveis de funções, e tomamos por exemplo o nível mais alto, onde o usuário executa programas e o nível mais baixo, que consiste em transistores e fios. Estudamos a memória principal, que nada mais é que um sistema de computação que possui uma hierarquia, cujos registradores são os primeiros alocados no topo dessa hierarquia. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 10 Os registradores têm capacidade de armazenamento (n bits) que, de certa maneira, determina o tamanho da memória interna e, consequentemente, limitará o tipo de serviço que o computador poderá executar. Referências STALLINGS, W. Arquitetura e organização de computadores. São Paulo: Prentice Hall, 2002. RODRIGUES, Bruno Rafael de Oliveira. Métodos de acesso de dados. Arquitetura de Computadores. Disponível em: http://slideplayer.com.br/slide/298336/. Acesso 26 mar 2020. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 Organização e funções básicas dos componentes de um sistema de computação: Parte II Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 SST ANCELMO, J. Organização e funções básicas dos componentes de um sistema de computação: Parte II / José Ancelmo Ano: 2020 nº de p.: 10 páginas Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 3 Organização e funções básicas dos componentes de um sistema de computação: Parte II Apresentação Neste material, vamos nos dedicar a conhecer melhor aquilo que está dentro de um computador, seus componentes e suas funcionalidades. Começaremos pela memória, passaremos pelos processadores e características, até, por fim, compreendermos a organização RAID. Tipos de memória Na informática, “memória” é um termo genérico utilizado para designar tanto as partes de um sistema de computação quanto de um dispositivo periférico (E/S), nas quais é possível armazenar dados e programas. Embora o seu conceito seja aparentemente simples, a memória é, provavelmente, o componente do computador que apresenta um maior número de variedade em relação ao tipo, tecnologias, organizações, desempenhos e custos. De modo geral, toda memória permite a realização de dois tipos de operações: escrita (armazenamento da informação na memória) e leitura (recuperação da informação armazenada). No caso da memória primária, por exemplo, essas operações são realizadas por intermédio da CPU e efetuadas através dos registradores. Atenção O uso de mais de um nível de memória explora o fato de que existe uma variedade de tipos de memória que utilizam a mesma tecnologia, porém diferem quantoà velocidade e custo. Desse modo, é possível combinar memórias menores, mais caras e mais rápidas com memórias maiores, mais baratas e mais lentas. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 4 Principais diferenças entre as memórias internas e externas Memória RAM Memória ROM Localização Interna / primária Externa / Secundária Capacidade Bytes ou palavras Bytes Tecnologia Semicondutores Mídias Magnéticas ou Ópticas Volatilidade Sim Não Categoria Leitura e Escrita Somente leitura Método de Acesso Direto Indireto Fonte: Elaborada pelo autor (2020). A memória interna (RAM) corresponde à memória que o processador precisa acessar para enviar dados e, assim, executar suas ações. De acesso mais rápido, porém com uma capacidade mais restrita, esse tipo de memória armazena informações temporariamente durante um processamento realizado pela CPU, ou seja, na falta de energia ou quando o computador for desligado, todos os dados serão perdidos. Embora a memória interna seja geralmente identificada apenas como a memória principal, outras formas de memória interna também fazem parte do sistema de computação, como os registradores e a memória cache, sobre a qual falaremos a seguir. Do ponto de vista físico, a memória cache pode ser considerada uma pequena peça presente dentro do circuito interno do processador, onde, sem observar arquiteturas específicas, poderíamos imaginá-la como um pequeno módulo contendo os seus próprios subcomponentes. Já, do ponto de vista funcional, esta compreende um tipo de memória de linguagem simples e objetiva que trabalha em conjunto com o processador, organizando a movimentação de dados entre a memória principal e seus registradores a fim de potencializar o seu desempenho. Algumas operações e tarefas de programas podem ser complexas e demandam um grande tempo e robustez de processamento para sua execução. Desse modo, o processador organiza a execução dos cálculos de dados através de forma inteligente e eficaz onde, para realizar as ações de um operador/usuário, a CPU divide as informações a serem processadas entre dados e instruções. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 5 Memória Fonte: Plataforma Deduca (2020). Conhecida como memória secundária ou, ainda, memória de mercado, a memória externa é popularmente denominada de Memória ROM (Read Only Memory). Ao contrário da memória RAM, a memória ROM é utilizada para armazenar dados e/ou instruções permanentes ou que raramente serão alterados, de modo que, ainda que o computador seja desligado, essas informações continuarão salvas. Para isso, a memória ROM é fabricada com um chip de armazenamento que possui um software próprio não editável, o qual não permite que a memória seja alterada por um programa do usuário, tornando-se, portanto, uma memória somente de leitura. A esse conjunto de instruções operacionais (hardware + software) dá-se o nome de firmware. Assim como a memória cache, a utilização da memória externa na hierarquia de um computador visa contribuir com a melhora do desempenho do sistema e, para isso, atua essencialmente de duas maneiras: Forma 1 As operações de escrita em disco são agrupadas, ou seja, em vez do processador realizar diversas transferências contendo uma pequena quantidade de dados, são feitas poucas transferências em grandes blocos de dados; Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 6 Forma 2 Alguns dados a serem escritos em um disco podem ser referenciados novamente pelo programa antes que seja realizada a próxima transferência de dados da memória cache para esse mesmo disco. Dos sistemas de memória externa, o disco magnético é por muitos considerado o mais importante até hoje, por compor a base de quase todos os sistemas de computação em uso na atualidade. O disco magnético é composto por um prato circular de metal, plástico ou outro material rígido que, por sua vez, é revestido por um material que possa ser magnetizado, no qual ocorrerá a escrita e a leitura dos dados por meio de uma bobina, denominada cabeçote, ou também cabeça de leitura e gravação. Para que esse processo ocorra, o cabeçote é mantido imóvel enquanto o prato gira embaixo dele. Elementos do disco magnético Fonte: Plataforma Deduca (2020). A escrita, nesse sistema, é realizada através de pulsos de corrente elétrica transmitidos do cabeçote para o disco que gravam os dados magnéticos digitais na sua superfície localizada logo abaixo do prato. Nesse sistema, a indução de correntes positivas gera padrões magnéticos diferentes da indução de correntes negativas, possibilitando assim, diferentes impressões digitais da informação a ser armazenada. Já o processo de leitura ocorre pela reprodução dessa informação armazenada no prato, que quando em movimento, a superfície logo abaixo do Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 7 cabeçote emite uma corrente idêntica à que fora transmitida no momento da gravação desses dados. A transferência de dados para o disco ocorre em forma de blocos, que por sua vez comumente têm dimensões de armazenamento inferior ao de uma trilha. São denominadas setores as regiões do mesmo tamanho de um bloco, tipicamente dispostas entre 10 a 100 setores por trilha, que podem ter tamanho fixo ou variável. Setores adjacentes contam com espaços internos à trilha (ou espaços entre setores) para evitar impor requisitos de precisão do posicionamento do disco exagerados ao sistema. Para permitir a existência de um mecanismo que identifique um setor dentro de uma trilha, o disco é formatado com alguns dados extras, invisíveis para o usuário, que permitem identificar o início e o fim de cada setor, e o início de cada trilha. Organização dos dados no disco magnético Setores Trilhas Espaço entre Trilhas Espaço entre Setores Fonte: Adaptada de Stallings (2002). No tópico a seguir, vamos estudar as características dos processadores atuais. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 8 Características dos processadores atuais Atualmente, a maioria dos sistemas de computação é fabricada em torno de processadores que buscam maior velocidade na realização de suas atividades. Para atingir esse objetivo, os processadores se utilizam de uma tecnologia denominada pipeline, na qual a CPU se divide em várias partes funcionais distintas (estágios), cada uma correspondendo a uma determinada atividade. Assim, várias instruções são realizadas de forma simultânea, embora em estágios diferentes. Modelo com visão expandida de um Pipeline de Instrução de dois estágios Espera Instrução Instrução Descarte Resultado Novo Endereço Espera Busca Execução Fonte: Elaborada pela autora (2020). Tomando como base um ciclo de instrução com dois estágios (busca e execução da instrução), como mostra o modelo acima, existem dois momentos durante a execução de uma instrução em que a memória principal não está sendo usada. Desse modo, esse intervalo pode ser usado para buscar a próxima instrução, concomitantemente com a execução da instrução em curso. A pipeline tem dois estágios independentes. O primeiro busca a instrução e a guarda em uma área de armazenamento temporário enquanto o segundo está livre e, então, o primeiro passa para ele a instrução armazenada. Por sua vez, enquanto o segundo está executando a instrução enviada, o primeiro tira proveito de ciclos de memória que não são usados para buscar e armazenar a próxima instrução. Esse processo é chamado de “busca antecipada de instrução” (instruction prefetch) ou “superposição de busca” (fetch overlap) e é a partir dele que, portanto, a execução de instruções é acelerada. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 9 Características e organização RAID Assim como acontece com a programação de processadores e da memória primária, a melhoria no desempenho de memórias secundáriastambém tem sido alvo da preocupação dos projetistas dessa geração. No entanto, sabe-se que, como em todas as outras áreas da programação, os dispositivos de um sistema de computação podem ser melhorados até certo ponto, portanto, para conseguir ganhos adicionais de desempenho, são utilizados componentes em paralelo ao sistema. Em relação à tecnologia de armazenamento de discos, houve uma sensível melhora no espelhamento de vários hard disks, onde um bloco de dados a ser acessado é distribuído em diversos discos. Com isso, os dados podem ser organizados de diferentes maneiras, podendo ser empregada alguma redundância para melhorar a confiabilidade dos resultados. Para isso, adota-se um padrão para o projeto de banco de dados de vários discos, conhecido como RAID. Do inglês Redundant Array of Independent Disks (RAID), os arranjos redundantes de disco independentes constituem parte da capacidade física de armazenamento de dados de um sistema de computação, na qual informações repetidas sobre os dados são guardadas no restante da capacidade de armazenamento de memória. Essa informação redundante possibilita a regeneração de dados em caso de falha de um dos elementos do arranjo de discos ou em um dos caminhos de dados. Atenção De modo geral, o esquema RAID consiste em sete níveis que variam de zero a seis, os quais implicam em uma relação hierárquica e, ao mesmo tempo, designam diferentes arquiteturas de projeto com três características em comum: • o RAID consiste em um agrupamento de unidade de discos físicos, entendido pelo sistema operacional como uma única unidade de disco lógico; • os dados são distribuídos pelas unidades de discos físicos do agrupamento; • a capacidade de armazenamento redundando é utilizada para armazenar in- formação de paridade, garantindo a recuperação dos dados em caso de falha em algum disco. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 10 Fechamento Nesta unidade, você aprendeu: quais são os componentes de um sistema de computação e suas funções; como ocorre a interconexão entre os componentes do sistema de computação; como ocorre a execução de um processamento de dados; quais os tipos de memórias que compõem um sistema e seu funcionamento; as características da Organização RAID; e sobre os diferentes tipos de mídia (magnética e óptica). Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 11 Referências STALLINGS, W. Arquitetura e organização de computadores. São Paulo: Prentice Hall, 2002. Licensed to JONH ADLER M S RIBEIRO - jonhadler@gmail.com - 005.932.555-00 1.Conceitos básicos de arquitetura.pdf (p.1-12) 2.Arquitetura e classificação do sistemas de computação.pdf (p.13-23) 3.Conceitos básicos de arquitetura de computadores sem relação à Entrada e Saída.pdf (p.24-34) 4.Sistemas+Integrados.pdf (p.35-43) 5.Organização e funções básicas dos componentes de um sistema de computação - Parte I.pdf (p.44-53) 6.Organização e funções básicas dos componentes de um sistema de computação - Parte II.pdf (p.54-64)
Compartilhar