Uma visão elementar de Arquitetura de Computadores | Parte 1
Nota do Autor: 🖋️
Neste primeiro artigo, vou buscar me deixar em voos baixos e não me estender muito, já que é para ser de forma elementar, eu diria.
Creio que este artigo no momento foi o que demorei mais para fazer, estive até intercalando entre outros artigos até terminar este.
Com conceitos fundamentais, em um próximo artigo irei narrar histórias de conceitos mais avançados, que vão além da superfície.
Como, por exemplo:
- Primeiras arquiteturas
- Arquitetura de "Von Neumann vs Harvard"
- Como são os processadores e transistores
Mas antes de nadar, devemos aprender a boiar, não que essa analogia faça muito sentido.
Evolução dos Computadores 💻
Elementos Computacionais 🔧
Temos que primeiro definir o que é um computador
. Ele é uma máquina que recebe determinadas entradas e, com base em seus algoritmos
, produz determinadas saídas.
Algoritmos são sequências de instruções lógicas e finitas ⚙️
Os elementos são:
Softwares 🖥️
- Parte lógica do computador, são os algoritmos
Aquilo que você xinga
Hardware 🔌
- Parte física da máquina, aquela em que é usada para transmitir, guardar e ser o esqueleto do computador.
Aquilo que você chuta
Elementos do Hardware 🔧
Eles são classificados em 3 tipos básicos e essenciais:
Processador -> CPU <- Memória
/ \
|
Entrada/Saída
Os computadores se dividem em dois tipos: 🔖
Eles são divididos com base na sua forma de funcionamento: analógico e digital, onde:
Analógicos:
É o tipo de computador em que ele trabalha de maneira que não usa números e sim outras formas, como unicamente dois valores de uma corrente de energia.
Digital:
Aquele que usa um sistema de dígitos, ou seja, usam números (sendo de uma base binária: 0 e 1). 🔢
[ Analógico ] => Medem
[ Digital ] => Calcula
Gerações de Computadores 🕰️
Os computadores podem ser divididos em gerações por causa da tecnologia que eles usam.
Geração Zero
Geração base, foi até a Segunda Guerra (1932 - 1945), os computadores eram:
- Essencialmente mecânicos e alguns tinham engrenagens eletromecânicas.
- Exemplos: Máquina de Pascal
💡 Assista esse vídeo sobre como funcionava a máquina: https://www.youtube.com/watch?app=desktop&v=CJ7o-ir4R_E
Primeira Geração
Geração que apareceu impulsionada pela segunda grande guerra (1945 - 1955)
- Essencialmente usaram as
válvulas
, usando-as ao invés dosrelés
(um componente mecânico que era mais lento que as válvulas).- Exemplos: ENIAC
💡 Veja mais sobre o Eniac: https://youtu.be/6X2B8Z_DCo0?si=1rCeBGrN48Yal49_
- Algumas desvantagens de seu uso são:
- Que eram enormes, ou seja, ocupavam muito espaço.
- Gastavam muita energia.
- Pouca confiabilidade.
Esses computadores para entrada/saída e armazenagem de dados usavam os cartões perfurados.
Modelo de Von Neumann
Foi um matemático que contribuiu para a criação da forma como se faz a arquitetura de computadores. O modelo que ele inventou foi usado como base para os modelos posteriores e que são usados hoje.
Modelo:
____________ _______________
| ______ Memória _________ |
| | | |
Unidade Unidade Aritmética e
de Controle Lógica
[ Acumuladores/Comutadores ]
| |
Entrada |
Saída
💡 Veja mais em:
Segunda Geração
Também conhecida como Geração dos Transistores, logo, deixaram de usar as válvulas e começou o processo de miniaturização dos componentes eletrônicos.
Assim, temos que os transistores trouxeram:
- Menor tamanho aos computadores.
- Consumo de energia caiu.
- Menos aquecimento.
- Tornou-se mais confiável que as válvulas.
Confira em: Manchester's Experimental Transistor Computer, the First Computer to Use Mainly Transistors as Switches
💡 Veja mais em: From Transistors To Tetris Part 1 : Computer Architecture
Terceira Geração
Conhecida pelo advento dos Circuitos Integrados (CI), assim esses circuitos contêm vários e vários transistores que estão miniaturizados em um único componente, então acabou se tornando mais acessível para os públicos além dos militares, empresas e universidades.
Fonte: https://computerscience.chemeketa.edu/cs160Reader/HistoryOfComputers/Generation3.html
💡 Veja mais:
Quarta Geração (Atual)
A miniaturização dos chips para uma larga escala e integração dos mesmos. Nasce então o LSI (Large Scale Integration), visando aumentar o poder de processamento dos processadores
.
Que por sua vez, nessa geração, tomou o nome de microprocessadores
, criado inicialmente pela INTEL. Eles vieram como uma solução poderosa que continha todos os componentes que um computador precisava de um processador: unidade central de processamento, controladores de memória e de E/S.
Fonte: https://chauman4.weebly.com/fourth-generation-computers.html
🗒️ Nota:
Um ponto importante para levantar é que dependendo do material ou do escritor
podemos ter mais de 5 gerações, o que não está errado, mas iremos nos abster nessas principais.
Sistema Numérico
Os sistemas de numeração são ferramentas essenciais para representar quantidades e realizar cálculos matemáticos. No dia a dia, utilizamos predominantemente o sistema decimal, com base em 10 símbolos (0 a 9). No entanto, diversos outros sistemas de numeração foram desenvolvidos ao longo da história, cada um com suas características e aplicações específicas.
💡 Para saber mais, vá neste artigo que também escrevi: Sistemas Numéricos para Computeiros
Componentes Básicos de um PC 💻
Neste caso, iremos abordar o lado do hardware, ou seja, a parte física.
Componentes 🔧
- São eles:
CPU | Memória | Dispositivos de Entrada e Saída | Barramentos
- Esses componentes são conectados por
Barramentos
(são "estradas" ou cabos que ligam os componentes)
----------------------
CPU | Memória | E/S |
----------------------
| | |
| | |
---------------------
| Barramentos |
---------------------
CPU 🧠
A CPU é a Unidade de Processamento Central, ela executa e processa os dados e atividades a serem feitas.
Memória 💾
A memória é responsável por guardar as informações do computador, sendo elas voláteis ou não voláteis.
Memórias voláteis são aquelas que precisam armazenar informações enquanto o PC está ligado. Já as memórias não voláteis guardam as informações mesmo com o computador desligado.
- Existem dois tipos de classificação de memórias em relação à sua ordem. São elas:
- Ordem Primária = são memórias responsáveis por guardar os programas a serem executados e outras informações importantes, focadas em serem acessadas.
- Exemplo: RAM, Cache
- Ordem Secundária = são memórias que armazenam os dados permanentemente, focadas em apenas armazenar.
- Exemplo: HD, SSD
- Ordem Primária = são memórias responsáveis por guardar os programas a serem executados e outras informações importantes, focadas em serem acessadas.
E/S 🔌
São dispositivos responsáveis pela interação humano
e computador
.
Servem para entrada e saída de dados.
- Exemplos
- Entrada: Webcam, Teclado, Mouse
- Saída: Monitor, Caixa de Som
Barramento 🔗
São fios ou caminhos condutores que passam pelo computador e interligam os componentes.
Tabela Verdade 🔍
O que seria Tabela Verdade?
A Tabela Verdade é a forma como podemos obter valores de expressões booleanas de todas as possíveis combinações.
Expressões Booleanas são aquelas que possuem apenas dois valores lógicos: verdadeiro (true) ou falso (false).
Ela ajuda na construção de circuitos e na verificação de proposições lógicas.
Lógica Proposicional
É a linguagem que usamos para manipular proposições
.
Proposições
São afirmações que podem ser avaliadas em dois únicos valores: verdadeiro
ou falso
. Pode-se classificar as proposições em dois tipos: simples
e compostas
.
Elas possuem uma regra de representação, que é: devem usar letras minúsculas.
Normalmente se usa:
p
,q
,r
, etc.
- Exemplo: p = "Sou o Douglas"; q = "Você não é o Douglas".
Simples
É quando existe uma única proposição.
- Exemplo: "Está chovendo" (verdadeiro ou Falso)
Compostas
É quando se tem mais de uma proposição, ligadas por conectivos lógicos
.
- Exemplo: "Está chovendo ou está nublado" (com o uso do
ou
se liga duas proposições e assim se estabelece determinada regra do conectivo que está sendo usado)
Conectivos Lógicos
São partículas usadas para combinar e modificar proposições e assim criar expressões booleanas.
Alguns Conectivos
- Negação (¬ ou ~): ele nega a sentença, logo o que é verdadeiro fica falso e o que é falso se torna verdadeiro.
- Exemplo: p = "Gustavo é antissocial"; ~p = "Gustavo não é antissocial"
p | q | ~p | ~q |
---|---|---|---|
V | F | F | V |
F | V | V | F |
V | V | F | F |
F | F | V | V |
- Conjunção (^): esse conectivo diz que para ser verdadeiro, as duas proposições devem ser verdadeiras.
- Exemplo: p = verdadeiro; q = verdadeiro; p ^ q = Verdadeiro
p | q | p ^ q |
---|---|---|
V | F | F |
F | V | F |
V | V | V |
F | F | F |
- Disjunção (v): é o conectivo em que apenas uma precisa ser verdadeira para que a expressão resulte em verdadeiro.
- Exemplo: p = verdadeiro; q = falso; p v q = verdadeiro
p | q | p v q |
---|---|---|
V | F | V |
F | V | V |
V | V | V |
F | F | F |
- Condicional (se...então) (->): é o conectivo em que se baseia em que para ser verdadeiro, a condição
p
deve ser verdadeira para que a proposiçãoq
seja verdadeira.- Exemplo: p = verdadeiro; q = verdadeiro; p -> q = verdadeiro
p | q | p -> q |
---|---|---|
V | F | F |
F | V | V |
V | V | V |
F | F | V |
- Bicondicional (se somente se) (<->): é o conectivo em que a condição estabelecida equivale para as duas proposições, ou seja, será verdadeiro se as duas forem atendidas.
- Exemplo: p = "Vou gastar"; q = "tiver dinheiro"; p <-> q = verdadeiro = "Vou gastar, se somente se, tiver dinheiro"
p | q | p <-> q |
---|---|---|
V | F | F |
F | V | F |
V | V | V |
F | F | V |
Tabela de Conectivos
Conectivo | Valor |
---|---|
~ | Será verdadeiro se for falso e falso se for verdadeiro |
^ | Será verdadeiro se ambas forem verdadeiras |
v | Se uma ou as duas forem verdadeiras então resulta em verdadeiro |
-> | Se a primeira for verdadeira e a segunda for falsa então resulta em falso, senão é verdadeiro |
<-> | Só será verdadeiro se as duas tiverem o mesmo valor, senão é falso |