ARQUITETURA DE COMPUTADORES
Com o surgimento dos multicores tornou-se necessário algumas adaptações a nível de arquitetura para o melhor aproveitamento dos seus núcleos, e as primeiras a serem feitas tem como objetivo melhorar o paralelismo a nível de threads e assim criar uma arquitetura que propicie o chamado paralelismo ao nível do chip.
Algumas vantagens da arquitetura são: a melhor localização dos dados em se comparando com outras arquiteturas de multiprocessamento; a melhor comunicação entre as unidades e o número reduzido de quantidade de espaço e energia necessários.
A arquitetura é geralmente um SMP, ou seja, um multiprocessamento simétrico; implementado em um circuito VLSI - Very Large Scale Integration. Essa é uma arquitetura onde dois ou mais processadores idênticos são ligados a uma única memória principal. Porém ao SMP existem outras alternativas de se criar uma arquitetura com variantes para o tratamento da memória ou até mesmo a comunicação entre os diversos núcleos presentes no processador.
Exemplos de implementação
Modelo Arquitetural de von Newman
As primeiras máquinas de computação tinham programas fixos. Alguns computadores muito simples ainda usam este projeto, quer para fins de simplicidade ou de formação. Por exemplo, uma calculadora de mesa (em princípio) é um programa de computador fixo. Ele pode fazer a matemática básica, mas não pode ser usado como um processador de texto ou um emulador de console de videogame. Alterar o programa de uma máquina de programa fixo exige re-ligação, re-estruturação ou re-projetar a máquina. Os primeiros computadores não eram tão "programados", como eles foram "desenhados". Era um processo trabalhoso, começando com fluxogramas e cédulas de papel, seguido de desenhos detalhados de engenharia e, em seguida o processo muitas vezes penoso fisicamente de re-ligação e re-construção da máquina. Podendo levar três semanas para criar um programa no ENIAC e começar a trabalhar.
A ideia do computador de programa