DEV Community

Cover image for Dia 14 - 1.4 Sob as tampas
Matheus Gomes
Matheus Gomes

Posted on

Dia 14 - 1.4 Sob as tampas

Esse post fala sobre o capítulo 1.4 do livro "Organização e Projeto de Computadores: Interface Hardware/Software"

-

"O hardware de qualquer computador realiza as mesmas funções básicas: entrada, saída, processamento e armazenamento de dados."

Com essa frase, iniciamos o principal tema do livro: Como essas funções são realizadas.

Os cinco componentes do computador:

São eles: entrada, saída, memória, caminho de dados e controle.

Os cinco componentes do computador
"O processador obtém instruções e dados da memória. A entrada escreve dados na memória e a saída lê os dados desta. O controle envia os sinais que determinam as operações do caminho de dados, da memória, da entrada e da saída."

O restante do capítulo se prolonga em como os hardwares funcionam baseados na definição acima. Desde monitores até circuitos integrados.

Arquitetura do conjunto de instruções

É uma abstração que inclui tudo que os programadores precisam saber para fazer um programa em linguagem de máquina binária funcionar corretamente (um exemplo é a arquitetura x86, desenvolvida pela Intel, e amplamente usada).

O sistema operacional geralmente guarda os detalhes das funções de baixo nível do sistema para que os programadores de aplicações não precisem se preocupar com esses detalhes.

A junção do conjunto de instruções e da interface do sistema operacional é chamada de interface binária de aplicação (ABI). (Define um padrão para a portabilidade binária entre computadores).

Conceitos de memória:

Memória volátil: Conserva os dados apenas quando há alimentação de energia.
Memória não volátil: Os dados são conservados mesmo com ausência de energia.

Memória principal: É usada para armazenar programas enquanto estão sendo executados (DRAM).
Memória secundária: Memória não volátil usada para armazenar programas e dados entre execuções. (por ex. HDD).

### Comunicação entre computadores
As redes constituem o backbone dos sistemas de computação atual.

Vantagens

Comunicação: Informações trocadas em alta velocidade entre computadores.
Compartilhamento de recursos: Os dispositivos I/O podem ser compartilhados pelos computadores que compõem a rede.
Acesso remoto: Conexão a computadores por meio de longas dintâncias.

Por fim, o capítulo finaliza com o seguinte desafio:

A memória semicondutora DRAM, a memória flash e o armazenamento de
disco diferem significativamente. Para cada tecnologia, descreva a principal diferença quanto a cada um dos seguintes aspectos: volatilidade, tempo de acesso relativo aproximado e custo relativo aproximado em comparação com a DRAM.

Em resumo, DRAM é volátil, então, perde dados quando não há energia. Seu tempo de acesso é rápido e o custo, nesse caso, serve como base de comparação (considerado médio). A memória flash é não volátil mas seu tempo de acesso é mais lento que o da DRAM, com um custo mais barato. O armazenamento em disco também é não volátil, possui um tempo de acesso muito mais lento que a DRAM e mais lento que a memoria em flash, e seu custo é o mais barato.

Agent.ai Challenge image

Congrats to the Agent.ai Challenge Winners 🏆

The wait is over! We are excited to announce the winners of the Agent.ai Challenge.

From meal planners to fundraising automators to comprehensive stock analysts, our team of judges hung out with a lot of agents and had a lot to deliberate over. There were so many creative and innovative submissions, it is always so difficult to select our winners.

Read more →

Top comments (0)

Agent.ai Challenge image

Congrats to the Agent.ai Challenge Winners 🏆

The wait is over! We are excited to announce the winners of the Agent.ai Challenge.

From meal planners to fundraising automators to comprehensive stock analysts, our team of judges hung out with a lot of agents and had a lot to deliberate over. There were so many creative and innovative submissions, it is always so difficult to select our winners.

Read more →

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay