quinta-feira, 26 de janeiro de 2017

Interrupções de tarefas

Na Ciência da Computação, uma interrupção é um sinal de um dispositivo que tipicamente resulta numa troca de contextos, isto é, o processador para de fazer o que está fazendo para atender o dispositivo que pediu a interrupção.
Computadores digitais geralmente oferecem uma maneira de iniciar rotinas de software em resposta a eventos electrónicos assíncronos. Esses eventos são sinalizados para o processador através de pedidos de interrupção (IRQs). O processamento da interrupção compõe uma troca de contexto para uma rotina de software especificamente escrita para tratar a interrupção. Essa rotina é chamada rotina de serviço de interrupção, ou tratador de interrupção (interrupt handler). Os endereços dessas rotinas são chamados vetores de interrupção e são armazenados geralmente numa tabela na memória RAM, permitindo a sua modificação caso seja necessário. 
As Interrupções foram concebidas para evitar o desperdício de tempo computacional em loops de software (chamados polling loops) esperando os eventos que serão disparados por dispositivos. Ao invés de ficarem parados á espera do evento acontecer, os processadores tornaram-se capazes de realizar outras tarefas enquanto os eventos estão pendentes. A interrupção avisa ao processador quando o evento ocorreu, permitindo dessa forma uma acomodação eficiente para dispositivos mais lentos.

ULA ou ALU e UC

A unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é um circuito digital que realiza operações lógicas e aritméticas. A ULA é uma peça fundamental da unidade central de processamento (CPU), e até dos mais simples microprocessadores. É na verdade, uma "grande calculadora eletrônica" do tipo desenvolvido durante a II Guerra Mundial, e a sua tecnologia já estava disponível quando os primeiros computadores modernos foram construídos.
A unidade de controlo (UC) é responsável pela interpretação das instruções do programa e pelo sequenciamento temporal das atividades necessárias para a sua execução; E tem como função: 
  • Procurar instruções na memória principal;
  • Determinar o tipo dessas instruções;

Hierarquia de memória

Na arquitectura de computadores, hierarquia de memória normalmente refere-se a uma tabela ou pirâmide que faz relação entre vários tipos de memória. Tais memórias são categorizadas entre si através da comparação das suas características.
Como se poderia esperar, as 3 características principais da memória-custo, capacidade, tempo de acesso.Uma variedade de tecnologias é utilizada para a implementação de sistemas de memória.
  • Tempo de acesso mais rápido, custo por bit maior.
  • Capacidade maior, custo por bit menor.
  • Capacidade maior, tempo de acesso maior.

Principais memórias organizadas tipicamente numa hierarquia de memórias por tempo de acesso

Registrador → Cache → Memória RAM → Memória secundária
Registrador: Memória temporária usada pelo processador no processamento das instruções.

EPROM/ROM: Memória onde se guardam as instruções de inicialização dos computadores.

Cache: Armazena partes da memória principal que são usados frequentemente pelos programas.

Memória RAM: Memória principal do computador, sendo diretamente endereçável pelo processador.

Memória secundária: Memória de armazenamento permanente.