segunda-feira, 9 de junho de 2008

RISC x CISC

A principal diferença entre processadores que utilizam arquiteturas RISC (Reduced Instruction Set Computer) e os que utilizam arquiteturas CISC (Complex Instruction Set Computer) é que nas arquiteturas RISC é executado um conjunto simples de instruções enquanto nas arquiteturas CISC a cada instrução, podem ser executadas diversas operações de baixo nível, tais como carga a partir da memória, operação aritmética e armazenamento em memória, todas em uma simples instrução.

Um processador baseado em estrutura RISC mantém constante o tamanho da instrução, descarta endereçamento no modo indireto e retém somente aquelas instruções que podem ser sobrepostas e executadas em apenas um ciclo de máquina, ou menos. Um chip RISC processa instruções bem mais rápido que o seu concorrente CISC, além de ter um custo de fabricação menor.

Exemplos de Arquiteturas

RISC
Power, ARM, DEC Alpha, MIPS, HP PA-RISC, SPARC, Intel i960, AMD 29000, Motorola 88000, Altera Nios II.
CISC
System/360, VAX, PDP - 11, família Motorola 68000, Intel x86

sexta-feira, 6 de junho de 2008

Where To

Alguns taxistas da cidade de São Paulo tem o hábito de perguntar aos seus passageiros recém chegados de outras cidades, se esses tem alguma preferência sobre os diversos caminhos para chegar ao destino desejado. Esses taxistas deveriam utilizar roteadores equipados com GPS, ou quem sabe ter acesso a tabelas de rotas, semelhante àquelas utilizadas por roteadores.

Uma tabela de rotas utiliza a mesma solução usada em mapas de entrega de mercadorias. Sempre que um nó necessita enviar dados para um outro nó de rede, é necessário saber para onde deve ser enviado. Se um dispositivo não puder conectar-se diretamente ao disposito de saída, então é necessário encontrar um modo de enviar o pacote de dados. Se um nó não sabe como enviar o pacote, então ele envia um pacote IP ao gateway daquela rede local. Devido a essa complexidade, um gateway necessita manter rastreado o modo como distribuir esses pacotes de dados. Para isto é utilizada uma tabela de rotas, semelhante aos mapas mentais utilizados pelos taxistas. É um banco de dados o qual mantém informação sobre diversos caminhos, como um mapa, e fornece esta informação ao nó solicitante.

Quem tem boca vai à Roma, mas pode demorar muito e você ainda corre o risco de passar diversas vezes pelo mesmo lugar. O roteamento de Belman-Ford, também conhecido como Ford-Fulkerson ou de vetor de distância (quantidade de saltos ou de estações) é um exemplo de que um de seus vizinhos pode estar mais perto de Roma do que você. Esse tipo de roteamento utiliza o protocolo RIP, já obsoleto. Cada vizinho possui com informações sobre a quantos saltos estão os seus vizinhos.

Ir de carro, da cidade do Rio de Janeiro à de São Paulo, pode ser mais rápido que ir de avião. Tudo depende das condições do tráfego e do clima, no momento da viagem. Essas condições podem mudar a qualquer momento e, portanto, você tem pouco tempo para tomar a melhor decisão. O roteador de vetor de enlace possui esse comportamento, ou seja, além incorporar o comportamento dos roteadores de vetor de distância, toma decisões baseadas em desempenho da rede. A distância entre origem e destino dos pacotes é medida em saltos e tempo-de-resposta. Este tipo de roteamento utilizado o protocolo OSPF e é ideal para rotear pacotes que necessitam trafegar por meios físicos de diferentes desempenhos.

Quando penso no modo como os roteadores funcionam, inevitavelmente, penso que os atuais aparelhos de telefonia celular deveriam ser equipados com esses protocolos de roteamento e encaminhamento de voz e de dados. Se esses aparelhos são capazes de ouvir as antenas das operadoras de telefonia móvel, então devem ser capazes de ouvir e repassar, gratuitamente, mensagens captadas de celulares vizinhos.