Pesquisar neste blogue
terça-feira, 8 de abril de 2025
Podcast e vídeo sobre Sistemas Digitais criado com recurso a AIs
quarta-feira, 5 de março de 2025
Resumo extraído do Capítulo 1 do livro "Logic and Computer Design Fundamentals" de Morris Mano
O Capítulo 1 do livro "Logic and Computer Design Fundamentals" de Morris Mano aborda os conceitos fundamentais dos sistemas digitais e da representação da informação.
Capítulo 1 – Sistemas Digitais e Representação da Informação
Este capítulo introduz os conceitos fundamentais dos sistemas digitais, abordando a natureza da informação e como esta é representada e processada nos computadores. Começa por diferenciar sistemas analógicos e digitais, explicando por que os computadores modernos utilizam representação digital. Apresenta também as diferentes camadas de abstração no design computacional, os sistemas de numeração utilizados para manipulação de dados e os códigos binários usados para representar informação.
1.1 Introdução aos Sistemas Digitais
Os sistemas digitais são baseados na manipulação de informação representada por valores discretos. O termo “digital” vem do latim digitus (dedo), pois os primeiros computadores foram concebidos para processar números inteiros representados como dígitos.
Os sistemas digitais utilizam circuitos lógicos para processar dados binários, onde cada valor pode ser representado por 0 (falso) e 1 (verdadeiro). Esta abordagem diferencia-se dos sistemas analógicos, que trabalham com sinais contínuos.
1.1.1 Computadores Digitais e a Importância do Binário
O computador digital é um sistema programável capaz de executar uma sequência de instruções armazenadas na memória. Ele processa informação usando circuitos lógicos binários, que operam com dois estados elétricos distintos (0 e 1). Essa escolha deve-se a:
- Simplicidade de implementação: os circuitos eletrónicos podem ser projetados para reconhecer apenas dois níveis de tensão.
- Maior resistência a ruído: sistemas digitais podem interpretar corretamente os valores, mesmo com pequenas variações na tensão.
- Facilidade de armazenamento e processamento: as operações aritméticas e lógicas podem ser realizadas de forma eficiente com números binários.
Os computadores modernos são sistemas digitais de uso geral, capazes de executar várias tarefas, desde cálculos numéricos até processamento de texto e multimédia.
1.2 Representação da Informação
A informação pode ser classificada como contínua (analógica) ou discreta (digital). Os computadores lidam essencialmente com informação discreta, mas podem converter sinais analógicos para digital e vice-versa.
1.2.1 Sinais Analógicos vs. Sinais Digitais
- Sinal analógico: varia de forma contínua dentro de um intervalo. Exemplo: temperatura, pressão, corrente elétrica.
- Sinal digital: assume apenas um conjunto finito de valores distintos. Exemplo: valores binários 0 e 1.
Para converter sinais analógicos em digitais, usa-se um Conversor Analógico-Digital (ADC). O processo de conversão envolve:
- Amostragem: medir o sinal analógico em intervalos de tempo fixos.
- Quantização: atribuir um valor discreto ao sinal medido.
- Codificação: representar o valor quantizado num sistema binário.
1.3 Arquitetura de um Computador Digital
Um computador digital é composto por diferentes componentes interligados. A arquitetura básica inclui:
- Unidade Central de Processamento (CPU): processa dados e executa instruções.
- Memória: armazena programas e dados temporários e permanentes.
- Dispositivos de Entrada/Saída (I/O): permitem a interação do computador com o utilizador e outros sistemas.
- Barramento (Bus): interliga os componentes, permitindo a transferência de dados.
1.3.1 Modelo de um Computador Digital
Um computador digital é um sistema que executa instruções armazenadas na memória. A sua estrutura básica inclui:
- Memória: armazena programas e dados.
- Datapath: executa operações aritméticas e lógicas.
- Unidade de Controlo: gere a execução das instruções e o fluxo de informação.
- Entrada e Saída: permitem a comunicação com o utilizador e outros sistemas.
1.3.2 Sistemas Embebidos (Embedded Systems)
Além dos computadores pessoais, existem sistemas embebidos, que são dispositivos computacionais especializados em tarefas específicas. Exemplos incluem:
- Microcontroladores em automóveis.
- Sensores em eletrodomésticos.
- Dispositivos médicos.
Os sistemas embebidos utilizam software dedicado, muitas vezes armazenado permanentemente, para desempenhar funções específicas.
1.4 Camadas de Abstração no Design de Computadores
Para lidar com a complexidade dos sistemas computacionais, o design é organizado em camadas de abstração, onde cada nível esconde os detalhes do nível inferior:
- Algoritmos: descrevem o que precisa ser feito para resolver um problema.
- Linguagens de Programação: traduzem os algoritmos para código executável.
- Sistemas Operativos: gerem os recursos do computador e executam os programas.
- Arquitetura do Conjunto de Instruções (ISA): define as operações que o processador pode executar.
- Microarquitetura: descreve a implementação interna do processador.
- Transferência de Registos: define como os dados circulam dentro do processador.
- Portas Lógicas: implementam operações básicas.
- Circuitos Transistorizados: realizam a computação física.
Este modelo permite a especialização em diferentes níveis do design de computadores.
1.5 Sistemas de Numeração
Os computadores manipulam números em diferentes bases numéricas:
- Decimal (Base 10): utilizado pelos humanos.
- Binário (Base 2): usado internamente nos circuitos digitais.
- Octal (Base 8) e Hexadecimal (Base 16): formas compactas de representar números binários.
1.5.1 Conversão entre Bases
A conversão entre sistemas de numeração é essencial para a comunicação entre humanos e computadores. Os principais métodos incluem:
- Conversão de Decimal para Binário: dividir sucessivamente por 2.
- Conversão de Binário para Decimal: expandir o número como uma soma de potências de 2.
- Conversão entre Binário, Octal e Hexadecimal: agrupar bits em conjuntos de 3 (octal) ou 4 (hexadecimal).
1.6 Representação de Dados no Computador
Os computadores representam números, caracteres e outros tipos de dados através de códigos binários.
1.6.1 Código BCD (Binary-Coded Decimal)
O BCD representa números decimais com 4 bits por dígito decimal. Por exemplo, o número 185 em BCD seria:
(185)10 = (0001 1000 0101)BCD
1.6.2 Código ASCII
O ASCII (American Standard Code for Information Interchange) é um código de 7 bits que representa caracteres alfanuméricos e símbolos especiais. Exemplo:
'A' = 01000001
'B' = 01000010
1.7 Operações Aritméticas em Binário
Os computadores realizam operações matemáticas usando números binários. Algumas regras básicas incluem:
- Adição binária: segue regras similares à adição decimal, mas com base 2.
- Subtração binária: pode usar o método do complemento para facilitar os cálculos.
- Multiplicação binária: baseada em deslocamentos e somas sucessivas.
- Divisão binária: semelhante à divisão decimal, mas operando em binário.