Arquivo de etiquetas: multicore


Olá.

Uma dúvida que muita gente tem é: o que é um core? o que significa dual-core, quad-core? Tentarei descrever em termos simples o que isto significa e o que eles implicam. Resumidamente um core (ou núcleo em português) é um dispositivo que é capaz de executar instruções, em termos gerais estas instruções são o código dos programas. Naturalmente os computadores já são capazes de executar diversos programas “ao mesmo tempo”, o que eles fazem é alternar a execução entre um programa e outro de forma muito rápida inperceptivel ao usuário o que faz parecer que os programas estão executando todos ao mesmo tempo.

Se o computador possuir mais de um núcleo ai sim é possível ao processador executar mais de um programa ao mesmo tempo, cada programa (processo/thread) poderá executar em um core diferente, o que torna o desempenho maior. Alguns programas são construídos de forma a utilizar os dois cores simultaneamente, ou seja um mesmo programa executando em mais de um núcleo…

Veja que não estamos falando de “Core 2″, mas sim de dual-core, quad-core. O termo Core 2 refere-se a uma nova linha de processadores da intel [3], dessa forma core e core 2 não são a mesma coisa e não precisam andar sempre juntos, existem por exemplo processadores da AMD que possuem mais de um core, ex: Athlon 64 x2.

Veja estes links para mais detalhes:

[1] O que é dual-core

[2] A plataforma core

[3] Core 2

[]‘s JT.

Os ventos estão mudando na computação… a computação multicore está se tornando cada dia mais presente, a computação em núvem está tornando as coisas mais comodas… enfim novos problemas estão surgindo, novas línguagens de programação também.

Veja está notícia: http://www.technologyreview.com/computing/25854/page1/

Veja a página do evento “Emerging Languages Camp”: http://emerginglangs.com/about/

Google has launched Go, a new systems programming language born with concurrency, simplicity, and performance in mind.

What about multicore programming with Go? It promotes lightweight concurrency allowing developers to create sets of lightweight communicating processes. Go calls them goroutines. This way, you can run many concurrent goroutines and you don’t need to worry about stack overflows. Go promotes sharing memory by communicating. Goroutines aren’t threads, they are functions running in parallel with other goroutines in the same address space. It is very easy to launch parallel functions using the goroutines. This is one of the most interesting features offered by the language. It really simplifies concurrency for systems programming.

If you want to test this new programming language, your starting point is Go’s main page.

 

Cheers, John.

Blog no WordPress.com. | Tema: Motion até volcanic.
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.