Khaoz_Of_Kosmos
Power Member
Caso ainda não tenham percebido (não devem ter visto o Carmack a falar no url do último post que postei) quando alguém quer utilizar os SPEs não é só dizer "faz isto" e pronto, 7 SPEs a funcionar a fazer o que queremos sem nos termos de preocupar e assim aproveitar 100% do processador... NADA DISSO!!! Os SPEs, para além de partilharem memória entre eles, são concorrentes e (o problema) bloqueia o acesso uns dos outros, ou seja, quando um SPE está a "falar" com o PPE os outros esperam, quando um SPE está a ler ou escrever na memória, os outros esperam. (quando digo espero não quer dizer que não possam processar nada, simplesmente não podem aceder a nada que seja externa ao próprio SPE).
Para agravar os SPEs ainda são processadores especializados em cálculo vectorial o que era bom se não existisse só uma PPE, neste caso, a maioria das tarefas a serem feitas pelo CELL terão de ser feitas na PPE e algumas poderão, com algum trabalho e muita engenharia, ser distribuídas pelos SPEs.
Em certas situações os SPEs são ideais, noutras são muito maus. Tudo depende da forma como os aproveitam e da forma como desenham as aplicações.
A conclusão que tiro (principalmente depois de fazer o trabalho de sistemas operativos lol) é que multi-core é muito melhor apesar de em poucas ocasiões os SPEs poderem estar à frente, muito poucas vezes isso vai acontecer e muitas vezes os programadores não vão ser suficientemente empenhados para as prever (assim que os prazos de desenvolvimento apertarem, esta vai ser uma das coisas a ficar para trás).
Até as placas gráficas se estão a tornar (algumas já são) processadores generalistas com algumas instruções específicas para cálculo de apoio a CG (Computação Gráfica). O facto de terem tirado a Fixed Pipeline das placas é a prova disso. O caminho que se está a seguir são muitos processadores GERAIS e não especializar tudo, isto acontece porque assim é mais fácil distribuir tarefas e aproveitar os recursos porque, por exemplo, se tivermos uma boa placa gráfica e em certas alturas esta não estiver a ser utilizada (raramente acontece é mesmo só para explicar) mas ainda temos muitos cálculos de física para fazer, então podemos libertar CPU passando esses cálculos para a gráfica, etc etc ela não é específica para gráficos logo pode ser utilizada para outra coisa, de outra forma a gráfica ficava à espera que o CPU termina-se o cálculo de física...
O que pode acontecer (e até acho que já está a acontecer) é que em vez de muitas empresas desenvolverem a sua tecnologia "in-house" vão começar a pagar por motores de jogo muito estudados e poderosos. Isto era tudo muito bom e deixava os programadores preocuparem-se só com o código do jogo etc etc se não fosse os motores com este tipo de tecnologia serem mesmo muito caros. Isto vai provocar um aumento no custo de produção (apesar de diminuir o tempo) e vai também, o que é muito grave, impedir muitos "software houses" independentes e novas de aparecer. Se hoje já é difícil entrar no desenvolvimento de jogos, daqui para a frente... Mas acredito que possa acontecer algo do género, software houses a desenvolver jogos mais baratos (mas não menos bons ou divertidos) para Wii, PC e XNA + XBLA e depois serem subsidiadas por empresas muito grandes para desenvolver a ideia para a 360 e PS3. Hoje já acontece isto mas não em tão grande escala.
Conclusão, muita coisa vai mudar... vamos lá ver se para melhor!
Para agravar os SPEs ainda são processadores especializados em cálculo vectorial o que era bom se não existisse só uma PPE, neste caso, a maioria das tarefas a serem feitas pelo CELL terão de ser feitas na PPE e algumas poderão, com algum trabalho e muita engenharia, ser distribuídas pelos SPEs.
Em certas situações os SPEs são ideais, noutras são muito maus. Tudo depende da forma como os aproveitam e da forma como desenham as aplicações.
A conclusão que tiro (principalmente depois de fazer o trabalho de sistemas operativos lol) é que multi-core é muito melhor apesar de em poucas ocasiões os SPEs poderem estar à frente, muito poucas vezes isso vai acontecer e muitas vezes os programadores não vão ser suficientemente empenhados para as prever (assim que os prazos de desenvolvimento apertarem, esta vai ser uma das coisas a ficar para trás).
Até as placas gráficas se estão a tornar (algumas já são) processadores generalistas com algumas instruções específicas para cálculo de apoio a CG (Computação Gráfica). O facto de terem tirado a Fixed Pipeline das placas é a prova disso. O caminho que se está a seguir são muitos processadores GERAIS e não especializar tudo, isto acontece porque assim é mais fácil distribuir tarefas e aproveitar os recursos porque, por exemplo, se tivermos uma boa placa gráfica e em certas alturas esta não estiver a ser utilizada (raramente acontece é mesmo só para explicar) mas ainda temos muitos cálculos de física para fazer, então podemos libertar CPU passando esses cálculos para a gráfica, etc etc ela não é específica para gráficos logo pode ser utilizada para outra coisa, de outra forma a gráfica ficava à espera que o CPU termina-se o cálculo de física...
O que pode acontecer (e até acho que já está a acontecer) é que em vez de muitas empresas desenvolverem a sua tecnologia "in-house" vão começar a pagar por motores de jogo muito estudados e poderosos. Isto era tudo muito bom e deixava os programadores preocuparem-se só com o código do jogo etc etc se não fosse os motores com este tipo de tecnologia serem mesmo muito caros. Isto vai provocar um aumento no custo de produção (apesar de diminuir o tempo) e vai também, o que é muito grave, impedir muitos "software houses" independentes e novas de aparecer. Se hoje já é difícil entrar no desenvolvimento de jogos, daqui para a frente... Mas acredito que possa acontecer algo do género, software houses a desenvolver jogos mais baratos (mas não menos bons ou divertidos) para Wii, PC e XNA + XBLA e depois serem subsidiadas por empresas muito grandes para desenvolver a ideia para a 360 e PS3. Hoje já acontece isto mas não em tão grande escala.
Conclusão, muita coisa vai mudar... vamos lá ver se para melhor!