<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Arquitetura e Organização de Computadores by Roxton</title>
      <link>https://padlet.com/judsonreis/Bookmarks</link>
      <description>Fórum Engenharia de Software</description>
      <language>en-us</language>
      <pubDate>2022-02-09 02:41:02 UTC</pubDate>
      <lastBuildDate>2022-02-09 03:03:54 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>Processadores</title>
         <author>judsonreis</author>
         <link>https://padlet.com/judsonreis/Bookmarks/wish/2036951330</link>
         <description><![CDATA[<div>O processador, também chamado de CPU, é um Hardware mais importante do computador.<br>É nele onde que ocorre o processamento dos dados e os cálculos matemáticos para funcionar toda a infraestrutura.<br>Uma analogia simples, o processador seria o cérebro. &nbsp;&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-02-09 02:52:14 UTC</pubDate>
         <guid>https://padlet.com/judsonreis/Bookmarks/wish/2036951330</guid>
      </item>
      <item>
         <title>b)Inovações em processadores</title>
         <author>judsonreis</author>
         <link>https://padlet.com/judsonreis/Bookmarks/wish/2036958627</link>
         <description><![CDATA[<div>a litografia de 5 nm se torne mais popular, chegando também aos smartphones intermediários. Além disso, de acordo com rumores recentes, Samsung já está trabalhado na litografia de 3 nm e a TSMC, uma multinacional taiwanesa que fabrica semicondutores, já está desenvolvendo processo de 2 nm.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-02-09 02:57:01 UTC</pubDate>
         <guid>https://padlet.com/judsonreis/Bookmarks/wish/2036958627</guid>
      </item>
      <item>
         <title>c)Segurança em processadores</title>
         <author>judsonreis</author>
         <link>https://padlet.com/judsonreis/Bookmarks/wish/2036962747</link>
         <description><![CDATA[<div>O mais interessante que o processador apresentou em algumas situações vulnerabilidade.<br>Meltdown furtava informações nesse estado de acordo com o que estava disponível lá, a LVI permite que códigos sejam injetados de forma que o processador execute funções determinadas ou aloque dados específicos. Em testes, o time de especialistas foi capaz de extrair uma chave de criptografia a partir de um dos enclaves do processador, enquanto uma segunda linha de pesquisa especula sobre a utilização de um ataque remoto, que também levaria a esse fim por meio, por exemplo, do acesso a um site malicioso usando códigos JavaScript.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-02-09 02:59:57 UTC</pubDate>
         <guid>https://padlet.com/judsonreis/Bookmarks/wish/2036962747</guid>
      </item>
      <item>
         <title>d)Outras partes importantes e interessantes em nossos computadores - GPU</title>
         <author>judsonreis</author>
         <link>https://padlet.com/judsonreis/Bookmarks/wish/2036967669</link>
         <description><![CDATA[<div>O início da computação era sombrio. Não que o clima fosse sinistro, mas sim porque a tela era praticamente toda preta, com apenas algumas instruções em forma de texto aparecendo. Nos primeiros estÁgios da computação pessoal, o processamento do que devia aparecer na tela ficava a cargo do processador, que também precisava lidar com uma série de outras tarefas. Nesta altura, isto não influenciava muito pois gerar as imagens e enviar era uma tarefa leve, dada a simplicidade que é criar uma imagem com apenas texto.<br><br></div><div><br></div><div>A coisa muda de figura com a chegada de interfaces grÁficas. Como a interação com uma simples tela preta com texto não é nem um pouco intuitiva, começam a surgir sistemas baseados na parte visual, com interações amigÁveis através de elementos como desenhos, botões e setas, como a<strong> Xerox 810 Star</strong>, de 1981. E o trabalho do processador com imagens, que antes se limitava a jogar o texto na tela, passou a ser algo mais complexo como rastrear pontos, preencher polígonos e renderizar imagens. Era muita coisa para um processador só.<br><br></div><div>O caminho foi a criação de uma outra central de processamento, que se encarregasse apenas disso. Um dos primeiros projetos conhecidos, neste campo, é o <strong>PGA </strong>(Professional Graphics Controller) da <strong>IBM</strong>, lançado em 1984. Com três PCBs (aquelas plaquinhas verdes em que grudamos os componentes), a placa de vídeo utilizava uma CPU Intel 8088 e memórias próprias para processar os grÁficos no computador, operando na resolução fantÁstica de 640x480 pixels e com uma paleta de 256 cores. Isso não é nada mal, considerando que o padrão da época ainda era, na maioria das vezes, o EGA, com resolução de 640Ã—350 e 64 cores (sendo que só conseguia exibir no mÁximo 16 por vez!). Apesar do avanço que representava, a PGA não alcançou muito sucesso, principalmente por falta de compatibilidade com a maioria dos softwares. Ainda era cedo para a GPU ganhar um espaço próprio.<br><br></div><div><br><strong><em>Xerox 810 Star (1981) e a PGA (1984)<br></em></strong><br></div><div>Ainda na era "pré-placa de vídeo", começam a surgir importantes empresas desenvolvedoras de chips de processamento grÁfico que, apesar de não possuir uma placa própria, jÁ estavam inseridos no computador, em locais como na placa-mãe. A <strong>Silicon Graphics Inc.</strong> (SGI) é uma das principais empresas da época, e seria pioneira do mercado com a criação de algo indispensÁvel para a evolução das placas de vídeo: as APIs.<br><br></div><div><br>- Continua após a publicidade -<br><br></div><div><strong><em>APIs<br></em></strong>Para entender o funcionamento e evolução das placas de vídeo, é muito importante compreender como funcionam as APIs. Uma Application Programming Interface, ou Interface de Programação de Aplicativos é uma espécie de grande biblioteca com vÁrios elementos bÁsicos para a construção de programas. Isto pode ser janelas, efeitos de luz, transparências, elementos lógicos e todo tipo de item necessÁrio para construção de um software, servindo também como uma "ponte" que liga diversos códigos e programas através destes elementos em comum.<br><br></div><div> <strong><em>Cada API possui um conjunto de recursos que influenciam no resultado final da renderização<br></em></strong><br></div><div>A API é importante pois determina quais efeitos serão possíveis em uma placa de vídeo, de acordo com as APIs que ela suporta. A SGI criou a interface <strong>IRIS GL</strong>, que daria origem a uma utilizada até hoje, a <strong>OpenGL</strong>. Outro exemplo de API importantíssima é o <strong>DirectX</strong> que, dependendo da versão que a placa suporta, irÁ tornar possível alguns efeitos mais complexos, como o uso do Tessellation com a versão 11, ou pode até mesmo tornar um jogo incompatível com um sistema, como uma placa com suporte a DirectX 9 tentando rodar um game que que utiliza a versão 10. As APIs resolveriam o principal problema da PGA: a incompatibildiade dos programas. Com a consolidação de APIs como DirectX e OpenGL, praticamente se extinguiu a dificuldade em encontrar aplicativos compatíveis com determinadas placas de vídeo.<br><br></div><div>Além das APIs, a SGI foi uma das primeiras empresas a evoluir o conceito de pipeline. Mas vamos com calma, isto veremos lÁ na parte sobre como funciona a placa de vídeo.<br><br></div><div>{break::A GPU ganha vida própria}Apesar da pouca adoção da PGA, os chips grÁficos continuaram evoluindo, mas realizando apenas parte do processo grÁfico, que ainda era iniciado pela CPU. Empresas como <strong>3dfx</strong>, <strong>Nvidia</strong>, <strong>ATi </strong>e <strong>Matrox</strong> iniciariam a fabricação de placas de vídeo com tecnologia 3D, mas assim como as primeiras GPUs, precisaram de algo que impulsionasse o consumo.<br><br></div><div>Assim como a interface grÁfica havia feito com as primeiras GPUs, uma geração de games daria "razão de existir" para as primeiras placas de vídeo. Jogos como <strong>Wolfenstein 3D</strong>, <strong>Doom </strong>e <strong>Quake</strong> embalariam as vendas, mostrando o diferencial que esta parte do hardware faz para a experiência de uso de um computador.<br><br></div><div>Neste contexto surgiu aquela que é considerada a primeira placa de vídeo 3D, a <strong>3dfx Voodoo</strong>. A 3dfx, formada por ex-membros da SGI, desenvolveriam uma API própria baseada em OpenGL, a Glide. A empresa não focava na fabricação placas próprias, atuando muito mais como OEM, ou seja, fornecendo o chip grÁfico a outras empresas, para que elas criassem seus próprios projetos e produtos com o chip Voodoo. Este é um modelo de negócio seguido até hoje pelas principais fabricantes.<br><br></div><div> <strong><em>Placa da Diamond com o chip Voodoo 1<br></em></strong><br></div><div><br>- Continua após a publicidade -<br><br></div><div>Uma nova geração de chips grÁficos passaria a assumir cada vez mais funções que antes cabiam ao processador, como a iluminação das imagens e as formas dos objetos. Em 1999 a Nvidia cunharia o termo GPU, durante o lançamento da GeForce 256. Esta época marca a consolidação desta indústria, com a chegada de modelos como a própria <strong>GeForce 256</strong> e a <strong>ATI 7500</strong>, enfim acessíveis para a maioria dos usuÁrios domésticos.<br><br></div><div>{break::Como funciona a GPU}Como vimos ao longo da evolução da GPU, a placa de vídeo foi progressivamente tirando a carga de trabalho da CPU, se especializando na criação dos grÁficos que surgirão na tela. Para criar estas imagens, a GPU faz uma série de operação, um passo a passo para então chegar ao resultado final: a pipeline.<br><br></div><div>A pipeline pode ser entendida com a metÁfora de uma linha de produção: em cada etapa, são adicionados elementos até chegar ao produto final. No caso das placas de vídeo, primeiro elas precisam identificar a posição dos elementos, ou seja, os vetores, montando uma espécie de esqueleto dos objetos. Depois, ela precisa aplicar as texturas sobre estes modelos e, por fim, compor a cena com elementos como efeito de luz (e conseguentemente, de sombra) na cena. Assim que a placa monta a cena, ela envia para o monitor o que cada pixel deve exibir.<br><br></div><div> <strong><em>EstÁgios de renderização, com o posicionamento e molde dos elementos, aplicação das texturas e aplicação de filtros<br></em></strong><br></div><div>É aqui que temos o principal critério para avaliar a capacidade de uma placa de vídeo: a quantidade de vezes por segundo que ela é capaz de compor a cena e "despachar" para o monitor, ou seja, o número de quadros por segundo (FPS) que ela consegue entregar.<br><br></div><div>Outro fator importante é que aqui vemos a forma como a qualidade grÁfica configurada nos jogos influi no desempenho. Se você aumenta a resolução, que nada mais é que aumentar o número de pontos (pixels) que irão compor a imagem, a placa de vídeo precisa se preocupar em renderizar mais informação, aumentando a carga de trabalho da placa e, conseguentemente, diminuindo o número de quadros que ela consegue enviar ao monitor a cada segundo. Outro fator são os filtros: quanto mais efeitos você incluir, mais etapas serão necessÁrias para finalizar a produção (renderização) da imagem, fazendo com que a placa também perca performance.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-02-09 03:03:32 UTC</pubDate>
         <guid>https://padlet.com/judsonreis/Bookmarks/wish/2036967669</guid>
      </item>
   </channel>
</rss>
