Curso Livre de Arquitetura de Computadores/Caderno 1: Arquitetura e Organização de Computadores

Arquitetura editar

Quando se fala em arquitetura de computadores, relacionam-se atributos palpáveis a um programador. Exemplos desses atributos são: número de bits (geralmente usados para representação de dados como números, caracteres entre outros), técnicas de endereçamento de memória, técnicas de leitura de discos, entre outros. Tudo isso pode ser relacionado diretamente a software. Um bom exemplo para arquitetura de computador e organização é o novo modelo CSD (Computation Storage Device) ou SmartCSD desenvolvido pela Xilinx em parceria com a Samsung.[1]. A estrutura dele é igual a de um SSD (Solid-state drive) convencional, porém o que muda é que ele contém um chip de pré-processamento de informações dentro dele para compactar e descompactar arquivos, fazendo com que ele obtenha uma capacidade muito maior de armazenar dados. E ainda contando com uma memória RAM integrada para processamento das informações enquanto o processador integrado trabalha na compactação e obtenção dos dados.[2]

Organização editar

Para o termo Organização de computadores, relacionam-se atributos mais diretos ao hardware, como montagem das trilhas de comunicação entre os componentes, interfaces entre os periféricos e a tecnologia, sinais de controle entre outros.[2]

O assunto geral resume-se a um projeto arquitetural, ela define o custo e a capacidade do computador construído. Pois, de acordo com o projeto arquitetural será gasto mais esforço na arquitetura realizando as interfaces, as melhorias de acesso ou será gasto mais esforço na organização como por exemplo melhores lugares para os componentes de forma com que o barramento seja o menor possível para que a informação transite de forma mais rápida, mesmo sendo ínfima a diferença, para um cálculo isso já pode mudar bastante.[2]

Todo o planejamento que o projetista precisa fazer em cada nível, é baseado em dois pilares importantes: Estrutura e Função.

Estrutura editar

A estrutura engloba como os componentes vão se relacionar, ou seja, como funciona a comunicação entre eles. Os quatro principais componentes estruturais de um computador são:

  • Unidade central de processamento (CPU ou comumente chamado de processador): Unidade responsável pelo controle e processamento do computador;
  • Memória principal (RAM): Um componente de memória volátil para armazenar os programas e execuções de forma mais rápida; (Curiosidade que a memória secundária é a de acesso mais lento para armazenagem dos dados não-volátil também conhecida como HD ou HDD (hard disk drive ou disco rígido) hoje também difundida em SSD;
  • E/S (Entrada/saída): Dispositivos que movimentam os dados entre o computador e o ambiente externo;
  • Interconexão do sistema: Mecanismo de comunicação entre os componentes internos, que podem ser, CPU, memória principal e E/S, como por exemplo barramentos, que são uma série de fios condutores aos quais os componentes se conectam.[2]

Na sequência, as quatro das principais composições de uma CPU

  • Unidade de controle: controla a operação;
  • Unidade aritmética e lógica (ALU): responsável pelo processamento dos dados;
  • Registradores: Oferece armazenamento interno a CPU, o que quer dizer que enquanto um dado é processado ele pode acessar alguns dados a mais diretamente do registrador, isso faz com que não precise ser solicitado a memória primária e nem a secundária. Fazendo com que não haja um gargalo para solicitar a informação nem para recebê-la, já que ela já vai estar no próprio conjunto chamado de CPU.
  • Interconexão da CPU: O mecanismo que tratará da comunicação entre os três citados acima, a junção dos componentes para o trabalho em harmonia.[2]

Função editar

Já a função é relacionada a operação individual para com a estrutura no geral. Para ela são considerados quatro funções básicas:

  • Processamento de dados;
  • Armazenamento de dados;
  • Movimentação de dados;
  • Controle.

Essas funções base, detém o necessário para que a máquina seja considerada um computador, desde receber um dado, processá-lo, armazenado e movimentá-lo entre todas as funções anteriores. Imagine um fluxo como uma pessoa digitando, essa é a movimentação dos dados entrando, após isso esse conteúdo digitado é enviado para o controle analisar o que deve ser feito com ele. O conteúdo será processado e por fim armazenado para que após todos os passos base ele possa ser consultado novamente.[2]

Referências

  1. Torabzadehkashi, M., Rezaei, S., HeydariGorji, A., Bobarshad, H., Alves, V., & Bagherzadeh, N. (2019). Computational storage: an efficient and scalable platform for big data and HPC applications. Journal of Big Data, 6(1), 100 - https://link.springer.com/article/10.1186/s40537-019-0265-5
  2. 2,0 2,1 2,2 2,3 2,4 2,5 STALLINGS, W. Arquitetura e Organização de Computadores. 8 ed. - https://github.com/xstpl/Livros-1/raw/master/Arquitetura%20e%20Organiza%C3%A7%C3%A3o%20de%20Computadores%20-%208%C2%AA%20Ed.pdf