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

Prévia do material em texto

Resumo dos Conceitos Básicos
Conceitos Básicos Definições
· Processamento de dados é uma série de atividades para produzir informações a partir de dados.
· Dados são a matéria-prima obtida de fontes diversas e informação é o resultado do processamento desses dados.
· O processo de "Dias de venda em estoque" exemplifica a transformação de dados (estoque e vendas) em informação.
Conceitos Básicos Hardware
· Hardware inclui chips, processador, memória (RAM, HD, SSD), barramento e monitor de vídeo.
Conceitos Básicos Software
· Software abrange sistema operacional, navegador, aplicativos, ferramentas de desenvolvimento, banco de dados e antivírus.
Conceitos Básicos Computadores Digitais
· Computadores digitais executam tarefas seguindo sequências de instruções (algoritmos).
· Internamente, caracteres são representados por códigos binários convertidos em sinais de tensão elétrica.
· O hardware é binário pois controla a passagem de corrente elétrica através de transistores.
· A Máquina de Von Neumann é um modelo de máquina digital binária desenvolvida em 1946.
· Em mídias magnéticas, o bit é representado pela orientação magnética.
· Em mídias óticas, o bit é representado pela transição entre pulsos luminosos.
Conceitos Básicos Histórico
· A evolução dos computadores passou por dispositivos mecânicos (ábacos), eletromecânicos (cartão Hollerith) e eletrônicos.
· Os computadores evoluíram com válvulas, transistores, circuitos integrados e integração em larga escala (chips).
Conceitos Básicos Classes de Computadores
· Supercomputadores são utilizados para processamento de dados em larga escala, especialmente em pesquisas e computação científica.
· Supercomputadores também são usados em datacenters de nuvem (cloud computing).
· Exemplos de supercomputadores incluem o Grifo 04 (Petrobras) e o Galileu (UFRJ e Petrobras), usados para exploração de petróleo.
· O supercomputador Tupã (INPE) tem aplicação na área de pesquisa e possui uma velocidade máxima de 258 TFlop/s.
· FLOPs significa "Floating-point Operations Per Second".
· Mainframes são computadores de grande porte usados para processamento de dados em larga escala, tanto comercial quanto científico.
· Microcomputadores oferecem boa relação custo/benefício para uso pessoal e em pequenas organizações e apresentam escalabilidade.
· Servidores oferecem maior escala de processamento, serviços de armazenamento e segurança, podendo substituir mainframes em certas condições.
· Computadores embarcados são utilizados em diversas aplicações (industriais, veiculares, etc.), operando em tempo real com baixo consumo de energia.
Conceitos Básicos Organização e Arquitetura do Computador
· Projetistas de computadores determinam requisitos, maximizam desempenho e observam restrições de custo e prazo.
· Eles projetam a arquitetura do conjunto de instruções (ISA) e a organização funcional da máquina.
· Projetistas também precisam ter familiaridade com o sistema operacional e compiladores.
· As tarefas do projetista incluem projetar a implementação, os circuitos integrados, a potência de processamento e o sistema de resfriamento.
· ISA (Instruction Set Architecture) é a primeira camada de software que atua sobre o hardware, na fronteira entre hardware e software.
· Um bom projeto de ISA deve definir um conjunto de instruções eficientes para tecnologias atuais e futuras, com boa relação custo-benefício. 
· Um bom projeto de ISA deve fornecer uma interface eficiente com o compilador e o hardware.
· O ISA define o aspecto da máquina para um programador da linguagem de máquina.
· O projetista do compilador deve conhecer o modelo de memória, registradores, tipos de dados e instruções disponíveis no ISA.
Resumo da Estrutura de Hardware
· A estrutura do hardware é um tópico central na ciência da computação.
· A arquitetura genérica de um computador envolve componentes básicos como processador, memória, e dispositivos de entrada e saída.
Componentes Básicos
· Dispositivos de entrada incluem teclado, mouse, scanner, entre outros.
· Dispositivos de saída incluem monitor, impressora, gravador de mídias óticas, etc.
· A memória principal (RAM) pode ser de vários tipos, como DDR4, que opera em altas frequências, e DDR4 DIMM. 
Memória Principal (RAM)
· Memórias DDR-SDRAM transferem dois dados no mesmo ciclo de clock, sendo teoricamente mais rápidas que SDRAM comum.
· SDRAM trabalha sincronizada com os ciclos da placa mãe sem tempo de espera.
· As memórias são compostas por células que contêm uma informação (um byte), com endereçamento sequencial.
Conteúdo Extra
As memórias SDR e DDR são tipos de RAM (Random Access Memory) síncronas (SDRAM - Synchronous Dynamic Random-Access Memory). A principal distinção entre elas reside na forma como transferem dados.
SDR (Single Data Rate SDRAM)
· Características Distintas: 
· Taxa de Transferência: A SDR SDRAM transfere dados apenas uma vez por ciclo de clock. Ou seja, ela envia dados na borda de subida do sinal de clock.
· Simplicidade: É uma tecnologia mais antiga e mais simples, operando de forma mais direta em relação ao clock do sistema.
· Pinos: Geralmente encontrada em módulos DIMM (Dual In-line Memory Module) de 168 pinos.
· Tensão de Operação: Variava, mas era comum em 3.3V.
· Versões: 
· As versões de SDR eram identificadas pela frequência do clock (ex: PC66, PC100, PC133), indicando 66MHz, 100MHz e 133MHz, respectivamente. A taxa de transferência de dados era a mesma da frequência do clock.
DDR (Double Data Rate SDRAM)
· Características Distintas: 
· Taxa de Transferência: A principal inovação da DDR SDRAM é a capacidade de transferir dados duas vezes por ciclo de clock – uma vez na borda de subida e outra na borda de descida do sinal de clock. Isso efetivamente dobra a largura de banda em comparação com a SDR à mesma frequência de clock.
· Pré-fetch (Pré-busca): Para atingir o "double data rate", a DDR utiliza uma técnica de pré-busca que duplica o buffer de dados, permitindo que mais dados sejam enviados por ciclo de clock.
· Largura de Banda: Consequentemente, oferece o dobro da largura de banda teórica de uma SDR SDRAM rodando na mesma frequência de clock nominal.
· Tensão de Operação: Tendem a operar em tensões mais baixas para economizar energia.
· Pinos: Os módulos DIMM para DDR1 geralmente têm 184 pinos, e as versões subsequentes possuem diferentes contagens de pinos para evitar incompatibilidade.
· Versões: 
· DDR1 (ou simplesmente DDR): Operava em frequências de clock como 100MHz, 133MHz, 166MHz e 200MHz, mas, devido à taxa dupla, as taxas de dados eram 200MT/s (Megatransfers por segundo), 266MT/s, 333MT/s e 400MT/s (referidas como DDR-200, DDR-266, DDR-333, DDR-400, etc.). Tensão comum de 2.5V.
· DDR2: Aprimorou a pré-busca para 4 bits por ciclo (o dobro da DDR1) e permitiu frequências de clock internas mais altas e tensões mais baixas (ex: 1.8V). As taxas de dados mais comuns eram 400MT/s a 800MT/s (DDR2-400 a DDR2-800).
· DDR3: Aumentou a pré-busca para 8 bits e introduziu frequências de clock ainda maiores, além de operar com menor tensão (ex: 1.5V). As taxas de dados comuns eram de 800MT/s a 2133MT/s (DDR3-800 a DDR3-2133).
· DDR4: Melhorou ainda mais a densidade, a velocidade e a eficiência energética. A pré-busca continua em 8 bits, mas a arquitetura interna é mais otimizada. Opera com tensões ainda mais baixas (ex: 1.2V). Taxas de dados típicas variam de 2133MT/s a 3200MT/s (DDR4-2133 a DDR4-3200) e além.
· DDR5: É a versão mais recente, com foco em densidades e velocidades muito maiores, eficiência energética aprimorada e novos recursos como dois canais independentes por módulo DIMM. Opera com tensões ainda mais baixas (ex: 1.1V).
Características Similares (SDR e DDR):
· Síncronas (SDRAM): Ambas são SDRAM, o que significa que são sincronizadas com o clock do sistema, permitindo transferências de dados mais previsíveis e eficientes em comparação com a DRAM assíncrona mais antiga.
· Volatilidade: Ambas são memórias voláteis, o que significa que perdem seus dados quando a energia é desligada.
· Uso em SistemasComputacionais: Ambas foram e são amplamente utilizadas como memória principal (RAM) em computadores pessoais, servidores e outros sistemas eletrônicos.
· Tecnologia de Transistor: Ambas utilizam transistores e capacitores para armazenar bits de dados, necessitando de refrescamento periódico.
Em resumo, a evolução da SDR para DDR e suas subsequentes gerações (DDR2, DDR3, DDR4, DDR5) foi impulsionada pela necessidade de maior largura de banda e menor consumo de energia, principalmente através da transferência de mais dados por ciclo de clock e da redução da tensão de operação.
Nomes e velocidades das memórias DDR4
As memórias DDR4 são identificadas seguindo dois padrões de nomes:
· DDR4-XXXX: o XXXX informa a taxa de megatransfers por segundo (MT/s) do pente de memória. Relembrando, trata-se de um parâmetro que indica o número máximo de dados transferidos por vez, com 1 MT/s correspondendo a 1 milhão de transferências por segundo;
· PC4-YYYYY: o YYYYY faz alusão à largura de banda máxima da memória, parâmetro dado em megabytes por segundo (MB/s) ou gigabytes por segundo (GB/s).
A tabela a seguir informa as características dos principais tipos de memória DDR4 do mercado
	Nomenclatura
	Clock interno
	Clock externo
	Taxa transf.
	Largura banda
	DDR4-1600 /
PC4-12800
	200 MHz
	800 MHz
	1.600 MT/s
	12,8 GB/s
	DDR4-1866 /
PC4-14900
	233 MHz
	933 MHz
	1.866 MT/s
	14,9 GB/s
	DDR4-2133 /
PC4-17000
	266 MHz
	1.066 MHz
	2.133 MT/s
	17 GB/s
	DDR4-2400 /
PC4-19200
	300 MHz
	1.200 MHz
	2.400 MT/s
	19,2 GB/s
	DDR4-2666 /
PC4-21300
	333 MHz
	1.333 MHz
	2.666 MT/s
	21,3 GB/s
	DDR4-2933 /
PC4-23466
	366 MHz
	1.466 MHz
	2.933 MT/s
	23,4 GB/s
	DDR4-3200 /
PC4-25600
	400 MHz
	1.600 MHz
	3.200 MT/s
	25,6 GB/s
Você pode encontrar módulos DDR4 cuja identificação no formato DDR4-XXXX tem uma letra adicional no final, como em DDR4-1600K ou em DDR4-2933W. Essas letras fazem referência aos parâmetros de temporização e latência da memória.
Os parâmetros são geralmente apresentados em uma sequência como tCL-tRCD-tRP-tRAS-CR, medidos em ciclos de clock:
· tCL (CAS Latency): É o tempo entre o envio de um comando de leitura (sinal CAS) e a disponibilização dos dados correspondentes. No exemplo, o valor é 5 ciclos. Este é um dos parâmetros mais comuns e pode ser visto como CLx (ex: CL9, CL11).
· tRCD (RAS to CAS Delay): Indica o intervalo entre a ativação da linha (RAS) e da coluna (CAS) de um dado específico. No exemplo, o valor é 4 ciclos.
· tRP (RAS Precharge): Representa o tempo necessário para desativar o acesso a uma linha e ativar o acesso a uma nova linha. No exemplo, o valor é 4 ciclos.
· tRAS (Active to Precharge Delay): É o intervalo necessário entre um comando de ativar uma linha e a próxima ação de ativação de linha. No exemplo, o valor é 15 ciclos.
· CR (Command Rate): Indica o tempo entre a ativação do sinal Chip Select (CS) e qualquer outro comando. Geralmente é 1T ou 2T (ciclos de clock). No exemplo, é 1T.
Esses parâmetros são informados pelos fabricantes e podem ser verificados com softwares como o CPU-Z.
Parâmetros adicionais: são especialmente relevantes para a prática de overclock (fazer a memória operar acima de suas especificações de fábrica):
· tRC (Row Cycle): Tempo total para completar um ciclo de acesso a uma linha da memória.
· tRFC (Row Refresh Cycle): Tempo necessário para a execução dos ciclos de refresh da memória (importante para DRAM, que precisa ser periodicamente refrescada).
· tRTP (Read to Precharge Delay): Tempo entre uma operação de leitura concluída e a ativação do próximo sinal.
· tRRD (Row To Row Delay): Tempo que o controlador espera após uma nova linha ter sido ativada.
· tWR (Write Recovery): Tempo necessário para que o controlador de memória comece uma nova operação de escrita após uma operação de escrita anterior.
· tWTR (Write to Read Delay): Tempo necessário para que o controlador de memória comece operações de leitura após ter efetuado uma operação de escrita.
Em resumo, a temporização e a latência da RAM são conjuntos de valores (em ciclos de clock) que definem a agilidade com que a memória pode responder a comandos de leitura e escrita. Valores menores indicam maior velocidade.
Memória Secundária
· Memória secundária refere-se às memórias que não são a RAM.
· Exemplos de memórias secundárias: HDs, SSDs, mídias óticas, pendrives e fitas magnéticas.
Processador
· O processador é capaz de entender e realizar operações definidas por instruções de máquina (UCP ou CPU).
· Linguagem de máquina (L1) consiste em instruções simples e de baixo nível, não adequadas para humanos.
· Linguagem fonte (L2) consiste em instruções de alto nível, apropriadas para humanos.
Linguagens de Máquina e Fonte
· Programas em L2 (linguagem fonte) precisam ser traduzidos para L1 (linguagem objeto) para serem executados pelo hardware.
· A tradução pode ocorrer por compilação, onde o programa em L2 é lido integralmente e transformado em uma cópia em L1 (programa objeto).
· A tradução pode ocorrer por interpretação, onde o programa em L2 é lido linha a linha, interpretado, depurado e executado.
Função do Computador Ciclo Básico
· O processador executa operações primitivas em um ciclo de instrução.
· O ciclo básico envolve buscar a instrução na memória, interpretá-la, buscar operandos (se houver) e executar a operação.
Barramento
· O barramento interliga todos os componentes, permitindo a comunicação entre eles.
· É constituído de fiação para deslocamento de sinais elétricos.
· A comunicação entre dispositivos é bilateral, exigindo que os demais esperem sua vez.
Tipos de Barramento
· Existem três tipos de barramentos: de dados, de endereços e de controle.
· Às vezes, existem dois barramentos na placa mãe: um de alta e outro de baixa velocidade.
· Para evitar colisões quando processador e placa controladora de E/S usam o barramento simultaneamente, utiliza-se arbitragem.
Arbitragem de Barramento
· A arbitragem pode ser centralizada, onde um chip ("Árbitro do Barramento") decide quem usa o barramento.
· Na arbitragem centralizada, dispositivos de E/S geralmente têm preferência.
· A arbitragem também pode ser distribuída, onde não há um árbitro central.
Arbitragem Distribuída
· Na arbitragem distribuída, o Barramento de Requisições prioriza os dispositivos.
· Cada dispositivo monitora as linhas de requisição para saber quando é sua vez de usar o barramento.
· Para usar o barramento, o dispositivo verifica se o Barramento de Ocupado está livre e se está recebendo o sinal da Linha de Arbitragem.
PCI (Peripheral Component Interconnect)
· O PCI foi lançado pela Intel em 1992.
· Periféricos de alta banda passante podem se conectar diretamente ao barramento PCI.
· O PCI teve um efeito unificador sobre os diversos barramentos existentes nos anos 90.
PCI Express
· O barramento PCI Express usa comunicação serial, permitindo o envio de dados em duas direções simultaneamente.
· No PCI, os dados são enviados paralelos e em uma única direção por vez.
Hierarquia de Memória
· A apresentação aborda a memória secundária, com foco em discos magnéticos e SSDs.
· Explica a organização e o endereçamento de HDs, incluindo trilhas, setores e cilindros.
· Discute o tempo de acesso em HDs, considerando tempo de seek e latência rotacional.
Hierarquia de Memória: Memória Secundária: Discos Magnéticos (HD)
· Discos magnéticos (HDs) são compostos por pratos de alumínio cobertos por material magnetizável.
· A cabeça de leitura/gravação flutua sobre a superfície do prato em um colchão de ar.
· Cada superfície dos discos é logicamente organizada em trilhas e setores.
Hierarquia de Memória: Memória Secundária: Discos Magnéticos (HD): Organização Endereçamento
· As trilhas são anéis magnéticos concêntricos na superfície do disco, com a trilha mais interna sendo a trilha 0.
· Setores são segmentos dentro das trilhas onde os dados são armazenados.
· Em HDs com múltiplos discos, surge o conceito de cilindro, que é o conjunto de trilhas de mesmo endereço em diferentes superfícies.
Hierarquia de Memória: Memória Secundária:Discos Magnéticos (HD): Organização Endereçamento (Tempo de Acesso)
· O tempo total de acesso (TTA) é a soma do tempo de Seek (TS) e o tempo de Latência Rotacional (TLR): TTA = TS + TLR.
· O Tempo de Seek (TS) varia entre 5 a 15 ms e o Tempo de Latência Rotacional (TLR) entre 4 a 8 ms (para discos de 7.200 rpm).
· O tempo de latência pode variar de 0 a uma rotação completa do disco, dependendo da posição da cabeça no momento da leitura/gravação.
Hierarquia de Memória: Memória Secundária: SSD (Solid State Drive)
· Um SSD é composto por uma placa de circuito impresso, chips de memória flash NAND, cache DRAM, controlador de memória e interface.
· A memória flash NAND pode ser baseada em tecnologia Single Level Cell (SLC) ou Multi Level Cell (MLC).
· A NAND SLC armazena um bit por célula, tem maior resistência, mas é mais cara, enquanto a MLC NAND armazena dois bits por célula, tem menor resistência, mas é mais barata e com maior capacidade.
Hierarquia de Memória: Memória Secundária: Discos Magnéticos: Tecnologias IDE, EIDE e SCSI
· Discos IDE (Integrated Drive Electronics) integraram a placa controladora ao drive.
· Discos EIDE (Extended Integrated Drive Electronics) substituíram os IDE controlando até 4 dispositivos simultaneamente e oferecendo maior taxa de transferência.
· Discos SCSI (Small Computer System Interface) utilizam um barramento integrado na controladora, podendo controlar até 7 dispositivos e oferecendo alta taxa de transferência.
Discos RAID ​
· RAID: Tecnologia que utiliza múltiplos discos para melhorar performance e tolerância a falhas. Os discos são vistos como um único disco pelo sistema operacional.
· Níveis de RAID: 
· RAID 0: Paralelismo sem tolerância a falhas. Divide arquivos em sub-arquivos gravados simultaneamente.
· RAID 1: Tolerância a falhas com cópias redundantes (drive primário e backup). ​
· RAID 2: Usa 7 drives sincronizados e o algoritmo de Distância de Hamming para correção de erros.
· RAID 3: Simplificação do nível 2, com bits de paridade para correção de bytes. ​
· RAID 4: Trabalha com faixas e bits de paridade em um drive específico. ​
· RAID 5: Distribui uniformemente os bits de paridade entre os drives, eliminando problemas do nível 4. ​
Discos Ópticos (CD-ROM)
· Desenvolvido por Philips e Sony em 1980, com capacidade de 650-700 MB. ​
· Gravação: Feita por laser infravermelho, criando pits (depressões) e lands (áreas planas). ​ Transições pit/land representam dados binários.
· Estrutura: Dados gravados em espiral, com 22.188 voltas que medem 5,6 km se esticadas. ​ Velocidade de rotação varia de 530 RPM (centro) a 200 RPM (borda). ​
· Correção de erros: Algoritmo aumenta os bits por byte e reduz eficiência para 28%.
Para calcular a capacidade de armazenamento de um disco óptico em bits, utiliza-se a fórmula:
Passo a passo:
1. Determine a frequência (f): É a taxa de gravação do feixe laser, medida em Hertz (Hz). No exemplo do documento, a frequência é de 6 MHz, que equivale a 6 x 10⁶ Hz.
2. Determine o tempo (t): É o período de gravação, geralmente dado em segundos. No exemplo, o tempo é de 1 hora, que corresponde a 3.600 segundos. ​
3. Multiplique f por t: ​
· f = 6 x 10⁶ Hz ​
· t = 3.600 s ​
· c = f x t = (6 x 10⁶) x (3.600) = 21,6 x 10⁹ bits ​
Resultado: ​
A capacidade de armazenamento do disco óptico no exemplo é 21,6 bilhões de bits (ou 20 Gbits).
Este cálculo é baseado na densidade de gravação do laser e no tempo total de gravação.
Fatores para cálculo de base 10:
Unidades de tempo do SI
Discos Ópticos (CD, CD-R, CD-ROM, CD-RW)
Os CDs são discos ópticos de policarbonato que utilizam uma camada de reflexão para armazenar dados. Quando se trata de CD-R, os dados são gravados permanentemente; portanto, ele é um disco gravável. Já os CD-ROMs são discos de leitura que armazenam dados pré-gravados, enquanto os CD-RW são regraváveis, permitindo que os dados sejam apagados e reescritos.
Para armazenar dados em um CD, utilizam-se pits (depressões) que são impressos para representar dados binários. A gravação requer um laser de alta potência que vai de 8 a 16 mW, enquanto a leitura utiliza uma potência baixa, que permite que a luz do laser reflita na superfície do disco e reconheça os pits. Todos esses discos são criados com material de policarbonato, com o CD-R apresentando uma camada de tinta entre o policarbonato e a camada reflexiva que simula os pits na gravação
Discos Ópticos (DVD, DVD-R)
Os DVDs também são discos ópticos, semelhantes aos CDs, mas com maior capacidade de armazenamento e tecnologia de gravação. Um DVD pode conter até 4,7 GB em uma única camada ou 8,5 GB em duas camadas. O DVD-R é um disco que permite gravação única, ou seja, uma vez gravado, não pode ser regravado.
A gravação em DVDs utiliza um laser vermelho com comprimento de onda de 650 nm, que permite pits menores (0,4 mícron contra 0,8 mícron nos CDs) e uma espiral mais apertada. Para leitura, utiliza-se a mesma tecnologia da gravação, com um laser de baixa potência. Os DVDs também são feitos de policarbonato, semelhante aos CDs, mas com uma configuração de camada diferente que proporciona uma capacidade maior de armazenamento
Discos Ópticos (BD - Blu-ray Disc, BD-RW)
Os Blu-ray Discs (BD) possuem uma tecnologia superior, utilizando um laser azul-violeta com comprimento de onda de 405 nm. Isso permite uma densidade de armazenamento muito maior, capaz de armazenar até 25 GB em uma única camada e 50 GB em duas camadas. O BD-RW é regravável, assim como o CD-RW e o DVD-RW.
A gravação de dados em BDs envolve a criação de pits em uma camada de material diferente, frequentemente feita de papel para descarte mais ecológico. A leitura é realizada com um laser de potência baixa, de forma similar aos outros tipos de discos, mas com a vantagem de permitir uma transferência de dados mais rápida, alcançando até 36 Mbps
Comparação Resumida
Material Utilizado:
· CD, CD-R, CD-ROM, CD-RW: Policabonato.
· DVD, DVD-R: Policabonato.
· BD, BD-RW: Papel (principalmente no BD) e policabonato.
Potência Necessária:
· CD e variantes (CD-R, CD-ROM, CD-RW): 8 a 16 mW para escrita; potência baixa para leitura.
· DVD e variantes (DVD-R): Laser vermelho padrão.
· BD e BD-RW: Laser azul-violeta de 405 nm para gravação e leitura com potência baixa.
Capacidade de Armazenamento:
· CD: Até 700 MB.
· DVD: Até 17 GB em duas camadas.
· BD: Até 50 GB em duas camadas.
Taxa de Transferência de Dados:
· CD: Aproximadamente 1,2 Mbps.
· DVD: Até 11 Mbps.
· BD: Até 36 Mbps.
Horas de Vídeo Armazenadas:
· CD: Não projetado para vídeo.
· DVD: 6 horas em SD (padrão) ou 2 horas em HD (alta definição).
· BD: Até 9 horas em HD em um disco de 50 GB.
Essa comparação resume as principais características dos discos ópticos, destacando suas diferenças e similaridades em armazenamento e tecnologia utilizada.
Arquitetura de Computadores Modernos: Hierarquia de Memória (Parte 1)
· Apresenta a hierarquia de memória em computadores modernos, focando em memória principal (RAM), cache e registradores.
· Aborda os diferentes tipos de memórias e suas características, como tempo de acesso e capacidade.
Hierarquia de Memória: Arquitetura Genérica
· Descreve a organização hierárquica da memória, incluindo registradores, memória cache, memória principal (RAM) e memória secundária.
· Apresenta um diagrama mostrando a interação entre processador e os diferentes níveis de memória.
· Menciona que cada tipo de memória possui características distintas como tempo de acesso, capacidade, aplicabilidade e volatilidade.
Registradores
· Registradores são memórias de pequeno porte localizadas próximas ao processador, permitindo acesso rápido sem usar o barramento.
· Eles armazenam resultados temporários e dados de controle necessários ao processador.
· Existem registradores de dois tipos: gerais e específicos.
Registradores: Tipos
· Registradores gerais funcionam como um rascunho para armazenar valores temporários durante o processamento.
· Registradores específicos armazenam sempre o mesmo tipo de dado.
Registradores: Gerais (Exemplos)
· O Registradorde Instruções (RI) contém a instrução a ser executada.
· O Registrador Contador de Programa (CP) contém o endereço da próxima instrução a ser executada.
Memória Cache: Características
· A memória cache tem pequena capacidade, mas alta velocidade de acesso.
· Ela reduz o tempo de acesso entre o processador e a memória RAM.
Memória Cache: Utilização e Técnicas
· A utilização da memória cache combina grande capacidade (RAM) com acesso mais lento e pequenas memórias (cache) com acesso rápido.
· Isso proporciona grande capacidade de armazenamento e agilidade no acesso aos dados.
Memória Cache: Conceito
· Palavras de memória mais usadas são armazenadas na cache, enquanto as menos usadas permanecem na RAM.
Memória Cache: Tipos
· Memória cache unificada hospeda instruções e dados, necessitando reescrever o conteúdo na memória principal.
· Memória cache dividida possui caches separadas para instruções e dados, com reescrita apenas no cache de dados.
Memória Cache: Múltiplos Níveis
· Processadores modernos utilizam múltiplos níveis de cache (L1, L2, L3) para otimizar o acesso aos dados.
Memória Cache: Nomenclatura
· A nomenclatura x86 para processadores é derivada de uma família de processadores desenvolvida pela Intel.
Memória Cache: Organização
· A organização da memória cache é fundamental para o desempenho do sistema.
Memória RAM (Random Access Memory)
· A RAM é onde programas e dados são armazenados para o processador ler e gravar informações.
· O processador interage com a RAM para agilizar a execução dos processos.
· Para que um programa seja executado, seu código e dados devem estar na RAM.
Memória RAM: Organização
· A RAM é o depósito de trabalho do processador, onde instruções e dados necessários para a execução devem estar armazenados.
· Um processo é um programa em execução.
· A palavra é a unidade de informação do processador/RAM, representando o valor de um dado ou instrução, e é constituída por bytes.
Memória RAM: Organização (continuação)
· A organização da RAM inclui endereço, conteúdo e posição na memória.
· A unidade de armazenamento é um conjunto de bits, enquanto a unidade de transferência é a quantidade de bits transferida em uma operação de leitura ou gravação.
· Fabricantes adotam o padrão de 8 bits por byte para máquinas comerciais.
Memória RAM: Organização (continuação)
· A quantidade de endereços gerenciáveis em uma RAM está ligada à quantidade de bits destinados ao controle de endereços, seguindo a relação 2^k.
· Onde k é a quantidade de bits destinados ao controle de endereçamentos.
· Isso se refere à quantidade de endereços acessíveis, não à capacidade total da RAM.
Memória RAM: Capacidade
· Adotando N como capacidade da memória em bytes, M como bits/byte e T como total de bits armazenáveis, se M=8, então N=256 endereços possíveis.
· Nesse caso, T = N x M = 256 x 8 = 2.048 bits = 2 Kb.
Memória RAM: Operações com o Processador
· O processador se comunica com a memória para ler ou gravar bytes, utilizando os registradores específicos RI e CP.
Memória RAM: Operações com o Processador (Registradores)
· Registrador de Instruções (RI): Contém a instrução a ser executada.
· Registrador Contador de Programa (CP): Contém o endereço da próxima instrução a ser executada.
Memória RAM: Operações com o Processador (Barramentos)
· A comunicação entre dispositivos ocorre através de três barramentos: dados, endereços e controle.
· Barramento de Dados: transfere os dados.
· Barramento de Endereços: transfere os endereços de acesso à RAM.
· Barramento de Controle: transfere os sinais de controle das operações.
Memória RAM: Operações com o Processador (Estrutura Simplificada)
· A estrutura interna do processador, de forma simplificada, inclui a Unidade de Controle (UC) e os registradores CP e RI.
Memória RAM: Operações com o Processador (Leitura)
· Para ler um byte na RAM, o processador carrega o endereço desejado, envia um sinal de leitura, a controladora da memória "puxa" o endereço, a memória carrega o conteúdo no RI e a UC "puxa" o conteúdo.
Memória RAM: Operações com o Processador (Escrita)
· Para gravar um byte na RAM, o processador carrega o endereço no CP e o conteúdo no RI, envia um sinal de armazenamento, a controladora "puxa" o endereço e o conteúdo, e armazena-o no endereço solicitado.
Arquitetura de Computadores Modernos: Hierarquia de Memória (Parte 1)
· Reitera o tema da hierarquia de memória, focando em RAM, cache e registradores.
Dispositivos de Entrada e Saída (I/O)
Dispositivos de Entrada/Saída
· Exemplos de dispositivos de E/S incluem HDs, impressoras, mouses, teclados, SSDs, entre outros.
· Monitores LCD usam cristais líquidos que fluem como líquidos, mas têm estrutura espacial como um cristal.
· Monitores LCD podem ser monocromáticos ou coloridos.
Monitores LCD (Liquid Crystal Display)
· Placas traseiras e frontais contêm ranhuras que alinham as moléculas do LCD.
· Polarizadores horizontais e verticais controlam a passagem da luz através da tela.
· A ausência de campo elétrico faz com que a tela LCD fique branca.
Impressoras: Jato de Tinta
· Cabeças de impressão móveis espalham tinta sobre o papel através de pequenos orifícios.
· O pingo de tinta é aquecido eletricamente até a ebulição, lançando a tinta no papel.
· A velocidade de impressão é limitada pela frequência com que o ciclo de aquecimento/resfriamento pode ser repetido.
Impressoras: Laser
· O tambor rotativo é o dispositivo central de uma impressora laser.
· O laser escaneia o tambor, descarregando eletricamente os pontos de incidência.
· O toner adere aos pontos carregados do tambor, transferindo a imagem para o papel.
Métodos para Realização de Operações de E/S
· Por programa: o processador questiona repetidamente se o dispositivo está pronto.
· Por interrupção: a interface avisa o processador quando os dados estão prontos.
· Por Acesso Direto à Memória (DMA): a transferência de dados ocorre com pouco acesso ao processador.
Arquitetura do Sistema Operacional
Introdução
O documento aborda a arquitetura dos sistemas operacionais (SO), destacando sua importância na interação entre usuários e hardware, e seus objetivos principais: conveniência e eficiência.
Conveniência: um S.O torna um computador mais conveniente para uso
Eficiência: um S.O permite que os recursos do sistema computacional sejam usados de uma maneira eficiente
Funções do Sistema Operacional
1. Interface entre Usuário e Computador:
· O SO atua como mediador, ocultando os detalhes do hardware e oferecendo uma interface conveniente para os programadores.
· As chamadas de sistema permitem que aplicações acessem serviços do SO, como ler dados de arquivos.
2. Gerenciamento de Recursos:
· O SO é responsável por gerenciar os recursos do computador, como movimento, armazenamento e processamento de dados.
· Ele controla a execução de processos e garante que os recursos sejam utilizados de forma eficiente.
Escalonamento de Processos
· O SO gerencia o escalonamento de processos na memória, alternando entre diferentes processos conforme necessário.
· Existem três razões principais para a troca de execução entre processos:
i. Chamada de serviço emitida pelo processo.
ii. Interrupção gerada pelo hardware.
iii. Evento externo que requer atenção.
Gerenciamento de Memória
· Em sistemas de uniprogramação, a memória é dividida entre o SO e o programa em execução.
· Em sistemas de multiprogramação, a memória é subdividida para acomodar múltiplos processos, utilizando um esquema de troca de processos (swapping).
· O SO pode gerenciar a memória de forma dinâmica, trazendo processos da fila de disco conforme necessário.
Memória Virtual
· A memória virtual utiliza a técnica de paginação, permitindo que a memória física seja menor que o espaço de endereçamento.
· O controle da memória virtual é feito por meio de uma Tabela de Paginação, que indica se uma página está na memória ou não.
Conclusão
O documento fornece uma visão abrangente sobre a arquitetura dos sistemas operacionais, enfatizando suas funções essenciais e a importância do gerenciamentoeficiente de recursos e memória para o desempenho do sistema computacional.
Conjunto de Instruções
Uma instrução de máquina, também conhecida como instrução de computador, determina a operação do processador. O conjunto de instruções é a coleção de todas as instruções que um processador pode executar. Cada instrução contém as informações necessárias para sua execução. Os elementos de uma instrução de máquina, que definem as etapas envolvidas na execução, incluem:
· Código de operação (opcode): Especifica a operação a ser realizada (ex: ADD, E/S). É um código binário representado por abreviações mnemônicas.
· Referência a operando fonte: A operação pode envolver um ou mais operandos de entrada.
· Referência a operando de resultado: A operação deve produzir um resultado.
· Referência à próxima instrução: Indica ao processador onde buscar a próxima instrução após a conclusão da execução da instrução atual. O endereço pode ser real ou virtual. Geralmente, a próxima instrução é a que segue imediatamente a atual, não sendo necessária uma referência explícita. Se uma referência explícita for necessária, um endereço de memória principal ou virtual deve ser fornecido.
Os operandos fonte e resultado podem estar em quatro áreas:
· Memória principal ou virtual: O endereço da memória principal ou virtual deve ser fornecido.
· Registradores do processador: Um processador contém um ou mais registradores que podem ser referenciados por instruções de máquina. Se houver apenas um registrador, a referência pode ser implícita; se houver mais de um, cada um tem um nome ou número exclusivo que deve estar na instrução.
· Imediato: O valor do operando está contido em um campo da própria instrução que está sendo executada.
· Dispositivo de E/S: A instrução deve especificar o módulo e o dispositivo de E/S. Se a E/S mapeada na memória for usada, é um endereço de memória principal ou virtual.
As instruções de máquina operam sobre dados, que podem ser classificados em:
· Endereços.
· Números.
· Caracteres.
· Dados lógicos.
Endereços são uma forma de dados, e cálculos podem ser necessários para determinar o endereço da memória principal ou virtual. Outros tipos de dados comuns são números, caracteres e dados lógicos. Algumas máquinas também definem tipos de dados ou estruturas de dados especializadas, como operações sobre listas ou strings de caracteres.
O documento também compara os tipos de dados dos processadores Intel x86 e ARM. A principal diferença está na complexidade: o x86 tem uma arquitetura mais complexa, enquanto o ARM é baseado na arquitetura RISC (Reduced Instruction Set Computer), que é mais simples. O x86 pode lidar com tipos de dados de 8, 16, 32, 64 e 128 bits, organizados em palavras. As máquinas Intel 80x86 usam o estilo little-endian, onde o byte menos significativo é armazenado no endereço mais baixo. Bytes e palavras são chamados de tipos de dados gerais.
Conteúdo Extra de Conjunto de Instruções
Tipos de Arquiteturas de Conjunto de Instruções
Existem diversas filosofias de design para arquiteturas de conjunto de instruções, cada uma com suas características e otimizações. As principais são:
· CISC (Complex Instruction Set Computer):
· Funcionamento Técnico: Processadores CISC utilizam um conjunto de instruções grande e complexo, onde uma única instrução pode realizar múltiplas operações de baixo nível (como carregar da memória, realizar uma operação aritmética e armazenar o resultado de volta na memória). Essas instruções complexas podem variar em tamanho e tempo de execução, e frequentemente manipulam operandos diretamente na memória. 
· Exemplo: A arquitetura Intel x86 é um exemplo notável de CISC, que pode lidar com tipos de dados de 8, 16, 32, 64 e 128 bits. 
· RISC (Reduced Instruction Set Computer):
· Funcionamento Técnico: Processadores RISC operam com um conjunto de instruções menor e mais simples, onde cada instrução executa uma única e bem definida operação. As instruções são geralmente de tamanho fixo, e as operações de acesso à memória são separadas das operações aritméticas/lógicas (load/store architecture). O paralelismo é frequentemente explorado através de pipelines profundos e um maior número de registradores. 
· Exemplo: A arquitetura ARM (Advanced RISC Machine) é baseada na filosofia RISC. 
· VLIW (Very Long Instruction Word):
· Funcionamento Técnico: Nesta arquitetura, o compilador desempenha um papel crucial, identificando operações independentes e empacotando-as em uma única instrução muito longa (Very Long Instruction Word). O hardware então executa essas múltiplas operações em paralelo, eliminando a necessidade de um agendador de instruções complexo no processador. A performance é altamente dependente da capacidade do compilador de encontrar e agrupar instruções paralelas.
· MISC (Minimal Instruction Set Computer):
· Funcionamento Técnico: Uma extensão da ideia RISC, onde o objetivo é ter um conjunto de instruções ainda mais reduzido e simples, com poucas instruções muito básicas. Programas mais complexos são construídos a partir de sequências mais longas dessas instruções mínimas.
· OISC (One Instruction Set Computer):
· Funcionamento Técnico: Representa o extremo do minimalismo, onde o processador possui apenas uma única instrução. Essa instrução, como "subtract and branch if less than or equal to zero" (SUBLEQ), é projetada para ser universalmente aplicável, permitindo a emulação de todas as operações computacionais através de sequências repetidas da mesma instrução.
· EPIC (Explicitly Parallel Instruction Computing):
· Funcionamento Técnico: É uma arquitetura onde o compilador é responsável por explicitar o paralelismo no código de máquina. Semelhante ao VLIW, o compilador empacota grupos de instruções que podem ser executadas em paralelo, mas com um mecanismo de template que indica quais instruções podem ser executadas em paralelo e quais dependências existem. O hardware então executa essas "instruções agrupadas" em paralelo.
· TTA (Transport Triggered Architecture):
· Funcionamento Técnico: Nesta arquitetura, as operações não são explicitamente chamadas. Em vez disso, o movimento de dados para um registrador funcional específico (como um registrador de soma) implicitamente aciona a operação associada a esse registrador. Isso simplifica o design da unidade de controle e a lógica de decodificação de instruções.
	Característica
	CISC
	RISC
	VLIW
	MISC/OISC
	EPIC
	TTA
	Complexidade da Instrução
	Alta
	Baixa
	N/A (compilador)
	Muito baixa
	N/A (compilador)
	Baixa
	Tamanho do Conjunto de Instruções
	Grande
	Pequeno
	N/A (compilador)
	Mínimo
	N/A (compilador)
	Pequeno
	Ciclos por Instrução
	Variável, geralmente >1
	Fixa, geralmente 1
	Variável (depende do agrupamento)
	Fixa, geralmente 1
	Variável (depende do agrupamento)
	Fixa, geralmente 1
	Complexidade do Hardware
	Alta
	Baixa
	Média (unidades funcionais)
	Muito baixa
	Média (unidades funcionais)
	Baixa
	Complexidade do Compilador
	Baixa
	Média
	Alta
	Média
	Alta
	Média
Contextos de Aplicação:
· CISC:
· Vantagens: Pode reduzir o tamanho do código de máquina (devido a instruções mais poderosas), o que era importante quando a memória era cara. Boas para compatibilidade legada e para tarefas que se beneficiam de operações complexas que mapeiam diretamente para instruções de hardware.
· Melhor Contexto: Sistemas legados, computadores de propósito geral (onde a compatibilidade e a densidade de código são importantes), desktops e servidores.
· RISC:
· Vantagens: Permitem pipelining mais eficiente e paralelismo no hardware devido à simplicidade e tamanho fixo das instruções. Menor consumo de energia e maior previsibilidade de desempenho.
· Melhor Contexto: Dispositivos móveis, sistemas embarcados, supercomputadores (onde a eficiência energética e o paralelismo são cruciais), servidores de alta performance. A arquitetura ARM, por exemplo, domina o mercado de smartphones. 
· VLIW/EPIC:
· Vantagens: Podem alcançar alto paralelismo sem a complexidade de hardware de agendamento dinâmico. Otimizadas para tarefas que podem ser bemanalisadas e paralelizadas em tempo de compilação.
· Melhor Contexto: Processamento de sinais digitais (DSP), multimídia, e sistemas de computação de alto desempenho onde o compilador pode extrair muito paralelismo e o tempo de execução é previsível. O Intel Itanium foi uma tentativa de popularizar o EPIC em servidores.
· MISC/OISC:
· Vantagens: Simplicidade extrema de hardware, ideal para pesquisa teórica em teoria da computação e para sistemas com restrições de recursos extremamente severas, como microcontroladores muito básicos ou ambientes educacionais.
· Melhor Contexto: Nichos muito específicos, como pesquisa em computação teórica, ou hardware experimental/educacional de baixíssimo custo.
· TTA:
· Vantagens: Simplifica muito a lógica de controle do processador, potencialmente reduzindo o consumo de energia e o custo de design.
· Melhor Contexto: Sistemas embarcados de baixo consumo, hardware customizado, ou processadores para tarefas específicas onde a simplificação do hardware é uma prioridade.
Em resumo, a escolha da arquitetura de conjunto de instruções depende do equilíbrio desejado entre complexidade de hardware, complexidade do compilador, desempenho, consumo de energia e o tipo de aplicação a ser executada. Enquanto CISC e RISC continuam sendo as dominantes, as outras arquiteturas exploram diferentes caminhos para otimizar aspectos específicos do design do processador.
Processadores
Estrutura Básica de um Processador
Um processador é composto por:
· Unidade de Controle (UC): Responsável por controlar a movimentação de dados e instruções que entram e saem do processador, além de controlar a operação da ULA.
· Unidade Lógico Aritmética (ULA): É a parte do computador que realiza as operações lógicas e aritméticas sobre os dados. Todos os outros componentes do sistema de computação (unidade de controle, registradores, memória, E/S) existem principalmente para trazer dados para a ULA processar e levar os resultados de volta. A ULA e todos os componentes eletrônicos são baseados em dispositivos lógicos digitais que armazenam dígitos binários e realizam operações lógicas booleanas simples. A ULA realiza operações lógicas como "and", "or", "nor", etc., e operações aritméticas.
· Registradores: São memórias de pequena capacidade de armazenamento, porém de alta velocidade de acesso. Eles armazenam resultados temporários e dados de controle necessários à Unidade de Controle (UC). O processador precisa de uma pequena memória interna para armazenar dados temporariamente, como a posição da última instrução executada e instruções e dados durante a execução de uma instrução. Os registradores são um conjunto desses locais de armazenamento internos. 
· Registradores Gerais: Funcionam como um "rascunho" da UC para armazenar valores temporários entre operações.
· Registradores Específicos: Armazenam sempre o mesmo tipo de dado.
Organização do Processador
Para executar suas tarefas, um processador deve atender a alguns requisitos essenciais:
1. Busca da instrução: O processador lê uma instrução da memória (registrador, cache ou memória principal).
2. Interpretação da instrução: A instrução é decodificada para determinar qual ação é necessária.
3. Busca dos dados: A execução de uma instrução pode exigir a leitura de dados da memória ou de um módulo de E/S.
4. Processamento dos dados: A execução de uma instrução pode exigir a realização de alguma operação aritmética ou lógica com os dados.
5. Escrita dos dados: Os resultados de uma execução podem precisar ser gravados na memória ou em um módulo de E/S.
Pipeline (Processamento em Pipeline)
O que é: O pipeline é uma técnica de implementação de processadores que permite a execução de múltiplas instruções de forma sobreposta, ou seja, em paralelo. Em vez de uma instrução completar todas as suas fases antes que a próxima comece, diferentes instruções estão em diferentes fases de execução simultaneamente.
Como funciona: Imagine a execução de uma instrução dividida em várias fases, como:
1. Busca da instrução (Fetch): A instrução é lida da memória.
2. Decodificação da instrução (Decode): A instrução é interpretada e os operandos são identificados.
3. Execução (Execute): A operação real é realizada (ex: adição, subtração).
4. Acesso à memória (Memory Access): Se necessário, dados são lidos ou gravados na memória.
5. Gravação do resultado (Write-back): O resultado da operação é salvo em um registrador.
Em um processador sem pipeline, a próxima instrução só começaria a fase 1 depois que a instrução atual tivesse completado a fase 5. Com pipeline, enquanto a Instrução 1 está na fase 3, a Instrução 2 pode estar na fase 2, e a Instrução 3 na fase 1. Isso aumenta o throughput (número de instruções concluídas por unidade de tempo), mas não necessariamente reduz o tempo para uma única instrução (latência).
Vantagens: Aumento significativo da taxa de transferência de instruções, melhor utilização dos recursos de hardware do processador. 
Desvantagens: A complexidade do hardware aumenta, e desafios como "bolhas" (quando uma fase do pipeline fica ociosa) e "hazards" (dependências entre instruções que podem causar atrasos) precisam ser gerenciados com técnicas como forwarding e stalling.
ARM (Advanced RISC Machine)
O que é: ARM é uma família de arquiteturas de conjunto de instruções (ISA) baseadas no princípio RISC (Reduced Instruction Set Computer). Diferente da Intel x86, a ARM licencia seu projeto de arquitetura para outras empresas que então projetam e fabricam seus próprios chips ARM.
Como funciona:
· Filosofia RISC: A arquitetura ARM adere estritamente aos princípios RISC, o que significa que suas instruções são simples, de tamanho fixo e executam operações elementares. Operações complexas são realizadas por sequências de instruções simples.
· Load/Store Architecture: As operações de memória (carregar e armazenar dados) são separadas das operações aritméticas e lógicas. Os dados devem ser carregados para os registradores antes de serem processados e armazenados de volta na memória.
· Registradores: Possui um grande número de registradores de propósito geral (tipicamente 16 ou mais), o que minimiza a necessidade de acessar a memória e melhora a eficiência.
· Pipelining Eficaz: Devido à simplicidade e regularidade das instruções, a arquitetura ARM é altamente adequada para o uso eficiente de técnicas de pipeline, permitindo um alto grau de paralelismo.
· Eficiência Energética: O design RISC e o foco em simplicidade levam a processadores que são altamente eficientes em termos de energia, o que é crucial para dispositivos alimentados por bateria.
Exemplo: A arquitetura ARM é baseada na RISC.
Vantagens: Alta eficiência energética, ideal para dispositivos móveis e sistemas embarcados. Menor complexidade de hardware em comparação com CISC. Desvantagens: Pode exigir mais instruções para realizar uma tarefa complexa em comparação com CISC, o que pode levar a um tamanho de código ligeiramente maior em alguns casos (embora compiladores modernos minimizem isso).
Para mais detalhes sobre as diferenças entre ARM e x86, o documento menciona que o x86 é desenvolvido a partir de uma arquitetura mais complexa, enquanto o ARM é baseado na RISC, que tem como objetivo ser mais simples.
Paralelismo e Máquinas paralelas
Resumo Geral de Arquitetura de Computadores Modernos:
A arquitetura de computadores modernos busca otimizar o processamento de informações através de dois conceitos principais: o design eficiente de Conjuntos de Instruções e a aplicação do Paralelismo.
1. Conjunto de Instruções e Elementos do Processador 
A operação de um processador é definida por suas instruções de máquina, que formam o conjunto de instruções do processador. Cada instrução contém informações essenciais para sua execução, incluindo:
· Código de Operação (Opcode): Especifica a operação a ser realizada, como ADD ou E/S, usando um código binário e mnemônicos.
· Referência a Operando Fonte: Indica os dados de entrada para a operação.
· Referência a Operando de Resultado: Aponta para onde o resultadoda operação será armazenado.
· Referência à Próxima Instrução: Informa o processador sobre onde buscar a próxima instrução, que geralmente é a seguinte na sequência, mas pode ser um endereço explícito.
Os operandos (dados) podem ser encontrados em quatro áreas:
· Memória principal ou virtual: Acessados por um endereço específico.
· Registradores do processador: Pequenas memórias de alta velocidade dentro do processador, referenciadas por nome ou número.
· Imediato: O valor do operando está contido na própria instrução.
· Dispositivo de E/S: A instrução especifica o módulo e o dispositivo de entrada/saída.
Os tipos de operandos (dados) sobre os quais as instruções operam incluem endereços, números, caracteres e dados lógicos.
A estrutura básica de um processador consiste em:
· Unidade de Controle (UC): Gerencia o fluxo de dados e instruções, controlando a operação da ULA.
· Unidade Lógico Aritmética (ULA): Realiza as operações lógicas (AND, OR) e aritméticas (adição, subtração) sobre os dados. É o "coração" computacional do processador, com todos os outros componentes existindo para alimentá-la com dados e receber os resultados. A ULA é baseada em dispositivos lógicos digitais que manipulam dígitos binários.
· Registradores: São memórias internas de alta velocidade e pequena capacidade, usadas para armazenamento temporário de dados e informações de controle necessárias à UC. Existem Registradores Gerais (para armazenamento temporário de valores) e Registradores Específicos (que armazenam um tipo de dado constante).
A organização do processador segue um ciclo de cinco requisitos fundamentais para a execução de instruções: busca da instrução, interpretação da instrução, busca dos dados, processamento dos dados e escrita dos dados.
2. Tipos de Arquiteturas de Conjunto de Instruções
As filosofias de design dos conjuntos de instruções influenciam diretamente a complexidade e o desempenho dos processadores:
· CISC (Complex Instruction Set Computer): Processadores com um conjunto de instruções grande e complexo, onde uma única instrução pode realizar múltiplas operações de baixo nível. O Intel x86 é um exemplo notável, capaz de lidar com diversos tamanhos de dados (8, 16, 32, 64 e 128 bits) e utilizando o estilo little-endian para armazenamento de bytes.
· RISC (Reduced Instruction Set Computer): Processadores com um conjunto de instruções menor e mais simples, onde cada instrução executa uma única operação, geralmente em um único ciclo de clock. A arquitetura ARM (Advanced RISC Machine) é um exemplo de RISC, destacando-se pela simplicidade em comparação com a complexidade do x86.
3. Paralelismo e Máquinas Paralelas 
Para acelerar o processamento, o paralelismo é aplicado em dois níveis:
· Paralelismo no Nível das Instruções: Visa fazer com que a máquina execute mais instruções por segundo, otimizando a execução dentro do próprio processador.
· Processador Pipeline de 5 Estágios: Divide a execução de uma instrução em fases sequenciais (busca de instrução, decodificação, busca de operando, execução e escrita), permitindo que múltiplas instruções estejam em diferentes estágios simultaneamente.
· Arquitetura Superescalar com Pipeline: Permite que o processador inicie a execução de várias instruções em paralelo por ciclo de clock, utilizando múltiplas unidades funcionais (como ULAs, LOAD, STORE, Ponto Flutuante) em paralelo, aumentando significativamente o throughput.
· Paralelismo no Nível dos Processadores: Obtido pela utilização de vários processadores trabalhando em conjunto para resolver o mesmo problema.
· Processador Matricial: Uma Unidade de Controle centralizada coordena uma matriz de múltiplos processadores, cada um com sua própria memória local.
· Multiprocessadores: Vários processadores compartilham uma mesma memória principal, comunicando-se através de um barramento.
· Multicomputadores: Consiste em máquinas independentes, cada uma com seu próprio processador e memória, interconectadas por uma rede.
Em suma, a "Arquitetura de Computadores Modernos" visa aprimorar o desempenho através de um design inteligente do conjunto de instruções e da implementação de diversas formas de paralelismo, tanto dentro de um único processador quanto na coordenação de múltiplos processadores.
image1.png
image2.png

Mais conteúdos dessa disciplina