Ir ao conteúdo
  • Cadastre-se

Amd Atrapalha Programas


leoap

Posts recomendados

Pessoal estou postando minha dúvida aqui porque gostaria da opnião de todos vocês que tem prática em programação. Meu problema é o seguinte, o programador de que desenvolveu o programa para minha empresa instalou em meu servidor que é um AMD Athlon 1700 com 256 de RAM e placa Soyo um programa chamado NetWare que controla a rede, com o win95 que nem chega a ser carregado devido a intervenção deste programa. Como ele é um programa de Dos ele limita os nomes de arquivos a 8 digitos, o que é bastante inconveniente principalmente para nomes de arquivos de texto ou planilhas. A justificativa do programador foi que teve que colocar este programa porque ao tentar por o NT ou o Win 2000 Server eles ficavam instaveis causando problemas e isto devido ao processador ser AMD. Recentemente tive problemas com meu banco de dados devido a quedas de energia e o programador disse que foi por causa do processador e que a queda de energia também poderia ter causado isso mas colocou a culpa maior no processador ao invés do nobreak.

Vocês que desenvolvem programas e banco de dados e que já instalaram varios servidores NT ou 2000 Server acham possível que os processadores da AMD sejam culpados por tais problemas ou é apenas incompetência do programador que diz que sabe e não sabe nada usando isso de desculpa.

Alguem também poderia me dar uma luz sobre o que eu poderia fazer pra ter uma rede melhor e mais confiável. Tenho cinco máquinas usando a rede:

- 1 Servidor (AMD Athlon 1700 256 ram 15 gb)

- 1 estação (AMD Athlon 1700 256 ram 40 gb)

- 2 estações (AMD K6II 500 128 ram 15 gb)

- 1 estação (Pentium 233 128 ram 4gb)

rede com aquele cabo azul (não lembro o nome) com varios fios e com um modem 3Com roteador 4 portas e 1 switch de 8 portas fazendo a comunicação entre eles.

Desde já agradeço. Leonardo.

Link para o comentário
Compartilhar em outros sites

A justificativa do programador foi que teve que colocar este programa porque ao tentar por o NT ou o Win 2000 Server eles ficavam instaveis causando problemas e isto devido ao processador ser AMD.

Bobagem

programador disse que foi por causa do processador

+ bobagem ainda

acham possível que os processadores da AMD sejam culpados por tais problemas ou é apenas incompetência do programador que diz que sabe e não sabe nada usando isso de desculpa.

A segunda opção é a mais correta

Alguem também poderia me dar uma luz sobre o que eu poderia fazer pra ter uma rede melhor e mais confiável.

1 - demita os incompetentes que botam a culpa no processador...

2 - Verifique fonte e ventilação dos micros, isso causa vários problemas...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Postado Originalmente por leoap@04 dez 2003, 13:47

A justificativa do programador foi que teve que colocar este programa porque ao tentar por o NT ou o Win 2000 Server eles ficavam instaveis causando problemas e isto devido ao processador ser AMD.

É por causa desse tipo de "profissional" é que a imagem de quem trabalha com desenvolvimento de software anda tão denegrida. A observação deste "programador" não tem o menor fundamento.

Eu não aguento esse tipo de coisa, dá vontade de rir de tanto chorar...

:(:P

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Postado Originalmente por ccs1201@04 dez 2003, 19:17

Pura bobagem.

O cara faz um serviço mal feito e coloca a culpa no processador, não teve nem capacidade de compilar o programa para outro Sistema Operacional e fala um monte de bobagem.  :angry:

Pois é, as diferenças entre as versões do Windows são mínimas e não inviabilizam o desenvolvimento de um sistema. O que causa problemas é justamente o profissional não estar devidamente capacitado para desenvolver em plataformas diferentes.

Mas eu acho que o que tá pegando aí é que o programador deve estar desenvolvendo em Clipper ou outra linguagem para ambiente DOS. O ideal seria ele tratar de se atualizar e investir um pouco em aprendizado de ferramentas de desenvolvimento para Windows mais atuais e eficientes.

O programador foi "esperto", na minha opinião: tratou de "arrumar a casa" do jeito dele, e do jeito que ele sabe dominar (Clipper com Win95) julgando que o cliente não entenderia bulhufas e acharia tudo muito bom.

Agora culpar processador é a desculpa mais ridícula que ele poderia dar...

:rolleyes:

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por cwbs@04 dez 2003, 21:08

Mas eu acho que o que tá pegando aí é que o programador deve estar desenvolvendo em Clipper ou outra linguagem para ambiente DOS.

Agora, fala sério...

Encomendar um programa hoje e o sujeito fazer em Clipper é como contratar um arquiteto e o cara fazer paredes usando pedra, e colocar um barraco de madeira no quintal como banheiro...

Link para o comentário
Compartilhar em outros sites

Todas as instruções MMX e SSE são suportadas pelos Athlons (como se um especialista desse tipo soubesse usar MMX)

Não tenho experiência com MMX e SSE... mas sei que existem cursos na Intel (ainda por cima na faixa) que ensinam a otimizar programas no mais baixo nível possível... somente para processadores Intel... por isso "suponho" que se rebaixar a esse nível, esses programas "podem" não funcionar em um processador AMD...

Obs: Meu ex-professor já fez esse curso...

Encomendar um programa hoje e o sujeito fazer em Clipper é como contratar um arquiteto e o cara fazer paredes usando pedra, e colocar um barraco de madeira no quintal como banheiro...

Eu não tenho a mínima ideia de como programa em Clipper, Turbo C para Dos e Similares... pois comecei a mexer em computador a partir de 1998...

Mas até hoje, já me vieram 3 pessoas perguntando para mim se eu podia atualizar o sistema deles feito em Clipper... aí eu perguntei:

"Porque atualizar um sistema em Clipper???"

A última pessoa argumentou o seguinte:

"Meus 10 computadores 386, 8MB RAM... usam um programa em Clipper... para gerenciar carros em estacionamentos... e funciona muito bem... mas preciso atualizar alguns dados..."

Ou seja, não há necessidade de gastar uma "fortuna" de dinheiro comprando computadores pentium 4, com acesso a Internet e tudo mais... se um monitor de 10 polegadas com DOS funciona muito BEM... para gerenciar um estacionamento de carros...

Ou seja, perdi mais um cliente... foras outros clientes que pedem para mexer em Cobol... inclusive a empresa do meu pai tem um sistema em Cobol... que eles usam faz uns 10 anos... eu tenho até medo de chegar perto... hehehehe

Link para o comentário
Compartilhar em outros sites

Olá meu caro, na minha opnião você deveria contratar um profissional mais atualizado pois assim você estará aproveitando melhor os recursos que seu computador disponibiliza. É verdade que devido a essas instruções MMX e SSE existem algumas incompatibilidades relativas, mas, o que este rapaz lhe disse é completamente irrelevante aqui, ele deve apenas estar desatualizado e culpou sua máquina nova.

Link para o comentário
Compartilhar em outros sites

Pessoal!

Já fui administrador de redes Netware e SEI o seguinte:

1) Servidores Netware são muito sensíveis a quedas de energia, podendo facilmente perder muuuitos arquivos numa eventualidade dessas, por isso um bom no-break é FUNDAMENTAL para o servidor;

2) Desde a versão 4 (o Netware já está na versão 6 se não estou enganado) o Netware dispõe de suporte a nomes longos, mas não é instalado na instalação padrão. Portanto, é preciso algum conhecimento para fazer uma instalação "não padrão";

3) Se o programa que roda nas estações for em Clipper, é IMPORTANTE que elas também tenham no-break, pois com qualquer queda de energia (ou mesmo "reset" no micro) com o sistema rodando, é certo que irá ocorrer corrupção de arquivos, exigindo a intervensão de um técnico/programador;

4) SO´s que rodam como servidores são bastante exigentes em relação ao hardware, particularmente a placa mãe, componentes de origem duvidosa que funcionam como um computador pessoal facilmente darão problema quando usados como servidor. O Netware costumava ser mais "leve" que outros SO's por geralmente funcionar apenas como servidor de arquivo (Como com programas em Clipper).

Resumindo tudo isso, o tal "programador" tirou "o seu" da reta!!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Postado Originalmente por AzaZell@04 dez 2003, 21:58

Não tenho experiência com MMX e SSE... mas sei que existem cursos na Intel (ainda por cima na faixa) que ensinam a otimizar programas no mais baixo nível possível... somente para processadores Intel... por isso "suponho" que se rebaixar a esse nível, esses programas "podem" não funcionar em um processador AMD...

Obs: Meu ex-professor já fez esse curso...

Eu não tenho a mínima ideia de como programa em Clipper, Turbo C para Dos e Similares... pois comecei a mexer em computador a partir de 1998...

Mas até hoje, já me vieram 3 pessoas perguntando para mim se eu podia atualizar o sistema deles feito em Clipper... aí eu perguntei:

"Porque atualizar um sistema em Clipper???"

A última pessoa argumentou o seguinte:

"Meus 10 computadores 386, 8MB RAM... usam um programa em Clipper... para gerenciar carros em estacionamentos... e funciona muito bem... mas preciso atualizar alguns dados..."

Ou seja, não há necessidade de gastar uma "fortuna" de dinheiro comprando computadores pentium 4, com acesso a Internet e tudo mais... se um monitor de 10 polegadas com DOS funciona muito BEM... para gerenciar um estacionamento de carros...

Ou seja, perdi mais um cliente... foras outros clientes que pedem para mexer em Cobol... inclusive a empresa do meu pai tem um sistema em Cobol... que eles usam faz uns 10 anos... eu tenho até medo de chegar perto... hehehehe

Quando no processador está escrito que ele tem suporte a instruções MMX, SSE, SSE2, 3DNow!, etc, é porque esse suporte é 100% testado. A única coisa que pode acontecer é ser mais rápido ou mais lento do que o da outra marca. Para usar esse nome é preciso estar em conforme com a patente.

Só que compiladores Clipper, Cobol, etc, são muito velhos e não são voltados para alto desempenho (acho que nem aceitam BASM, quanto menos instruções SIMD, o que poderia gerar problema para inserir o código otimizado). Tem centenas de técnicas de otimização antes de um programador ver a necessidade de usar otimizações em assembler (difícil manter atualizado).

Pode ter certeza que ele não usou nada disso. Tem vários motivos que podem estar te causando problemas. Um deles pode ser o péssimo suporte a drivers que é dado ao Windows 95 (que é um sistema morto), assim você pode ter muitos problemas usando um equipamento novo.

Olha, a grande maioria das pessoas aqui usam a combinação Athlon + Windows 2k/XP.

Eu acho que o programador ai é bem atrasado. Usar Cliper/Win95/Netware a essa altura do campeonato é dessas coisas que não dá pra entender. Não sou do ramo, mas pode ter certeza que isso já foi abandonado faz bastante tempo.

Link para o comentário
Compartilhar em outros sites

^_^ ... pegando o barco navegando... tenho uma curiosida. esse MMX,.. é software ou hardware, não sei aonde li onde dizia ser software, isto é verdade?!

e programas compilados especificamentes para processadores da AMD, já vi alguns... há alguma diferença tão sensível em relação aos da Intel?!

Obrigado!

Link para o comentário
Compartilhar em outros sites

Posso lhe dizer que o MMX são instruçoes inseridadas diretamente no processador mas elas na ralidade são programas porém pode se disser que o processador da suporte a instruções MMX por hardware devido ao fato delas estarem embutidas no processador não necessitando assim de programa para interpretar as informações. ;)

Link para o comentário
Compartilhar em outros sites

Aqui vai um exemplo de como seria um código otimizado para MMX.

Obs: vejam que a instrução em Assembly é diferente... logo, não funcionaria em processadores não compatíveis com MMX. Seria a mesma coisa que querer jogar um jogo com instruções OpenGL, sem ter uma placa compatível com OpenGL.


...

//Código C, soma 2 vetores unsigned short com 4 elementos e
//guarda em um terceiro vetor

typedef struct {
unsigned short indice[4]; //unsigned short tem 2 Bytes
}
VETOR4UW;

VETOR4UW exemplo( VETOR4UW vetorA, VETOR4UW vetorB ) {

VETOR4UW vetorC;

vetorC.indice[0] = vetorA.indice[0] + vetorB.indice[0];
vetorC.indice[1] = vetorA.indice[1] + vetorB.indice[1];
vetorC.indice[2] = vetorA.indice[2] + vetorB.indice[2];
vetorC.indice[3] = vetorA.indice[3] + vetorB.indice[3];

return vetorC;
}

...



...

;Código gerado em Assembly sem
;otimização MMX
   push ebp
   push esi
   push edi
   sub esp,64
   mov si,word ptr 80[esp]
   mov di,word ptr 88[esp]
   mov ebp,esp
   add di,si
   mov word ptr [ebp],di
   mov si,word ptr 82[esp]
   mov di,word ptr 90[esp]
   add di,si
   mov word ptr 2[ebp],di
   mov si,word ptr 84[esp]
   mov di,word ptr 92[esp]
   add di,si
   mov word ptr 4[ebp],di
   mov si,word ptr 86[esp]
   mov di,word ptr 94[esp]
   add di,si
   mov word ptr 6[ebp],di
   mov eax,dword ptr [esp]
   mov edx,dword ptr 4[esp]
   add esp,64
   pop edi
   pop esi
   pop ebp
   ret 16
   
...
   



...

;Código em Assembly com
;otimização MMX
  paddw mm0,mm1;Instrução Assembly PADDW do MMX, registradores mm1,mm0
  ret
;Obs: "muito" melhor do que sem MMX!!!

...

Link para o comentário
Compartilhar em outros sites

Olá Azazell,

Eu entendo que se um processador não for compatível com as instruções MMX de nada adiantará utilizá-las. Eu acho que o que o SledgeHammer disse foi que os processadores Athlon e posteriores já são compatíveis com MMX, e são mesmo.

Dizer que um processador é "MMX" não é necessariamente dizer que seja um Intel. Significa que ele reconhece as instruções MMX e se beneficia desta otimização. A Intel foi a precursora do MMX mas, hoje, não são só os seus processadores que tem suporte a essas instruções.

Os processadores AMD além de ter suporte às instruções MMX, MMX-2 e outras, tem suas instruções próprias como 3DNow! e outras atualizações. Como a Intel não gosta de colocar em seus processadores as otimizações criadas por outros fabricantes de processadores (talvez por que eles achem que não precisam) torna, pelo menos em potencial, os processadores AMD até melhores que os da Intel, pois eles além de ter suas próprias otimizações eles incluem as otimizações dos outros processadores também.

As instruções MMX são estáticas, ou seja, não importa o processador, pode ser PII, PIII, PIV, Athlon, Athlon XP, Athlon MP, a forma de "trabalho" dos processadores com instruções MMX são as mesmas, não justificando um determinado programa otimizado para MMX funcionar em um processador e em outro não. Talvez o programa tenha além das otimizações MMX algum recurso que seja específico de determinado grupo de processadores (ou de um determinado processador). Aí faria sentido.

Só para ficar mais claro os "Windows" desde o 98 já têm suporte às instruções MMX e funcionam da mesma maneira em qualquer processador independete de ser Intel, AMD ou outro qualquer.

Valeu!

Fabiano

Link para o comentário
Compartilhar em outros sites

Eu acho que o que o SledgeHammer disse foi que os processadores Athlon e posteriores já são compatíveis com MMX, e são mesmo.

Sim, eu sei que qualquer fabricante que fale que um processador é compatível com uma determinada tecnologia, ele terá que seguir a especificação a risca... assim como alguns processadores Cyrix são compatíveis com a arquitetura x86 e os últimos modelos de processadores da AMD já são compatíveis também com SSE2.

O que eu quis dizer é o seguinte, se você tentar usar uma tecnologia mas essa tecnologia não é suportada, ela não vai funcionar... Ex: uma aplicação que usa instruções SSE2, não vai funcionar nos Palominos... assim como uma instrução 3DNow não vai funcionar no Pentium II.

Só para ficar mais claro os "Windows" desde o 98 já têm suporte às instruções MMX e funcionam da mesma maneira em qualquer processador independete de ser Intel, AMD ou outro qualquer.

Você quer dizer que um processador K5 pode executar instruções MMX se estiver usando o Windows 98?

Link para o comentário
Compartilhar em outros sites

Olá de novo,

É claro que se o processador não tiver suporte às instruções MMX o aplicativo (no caso o Windows98) não vai poder se beneficiar desta tecnologia. Eu disse que o win98 e posteriores já reconhecem esta tecnologia e a acionam quando o processador tem este suporte. Se o suporte fosse diferente para cada processador deveria, então, haver um "Windows Intel" e um "Windows AMD" por exemplo.

Entendido?

Valeu!

Fabiano

Link para o comentário
Compartilhar em outros sites

É claro que se o processador não tiver suporte às instruções MMX o aplicativo (no caso o Windows98) não vai poder se beneficiar desta tecnologia. Eu disse que o win98 e posteriores já reconhecem esta tecnologia e a acionam quando o processador tem este suporte. Se o suporte fosse diferente para cada processador deveria, então, haver um "Windows Intel" e um "Windows AMD" por exemplo.

Putz, vou tentar supor o que você disse... porque realmente não consegui entender direto o que você falou...

1- Lembre-se que é possível emular, desde a arquitetura de um NeoGeo até a de um celular Motorola... nos computadores atuais. Inclusive já fiz projetos para celulares usando somente emulador.

Por isso perguntei se o Win98 emularia a arquitetura MMX.

2- Windows Intel, Windows AMD???

As instruções Assembly não são codificadas diretamente no processador?

3- A pergunta do tópico ficou estranha ao colocar a palavra "Atrapalha"... e a resposta , é que se um aplicativo usa códigos que não é suportado por um outro processador/placa de video/ etc... , de fato não irá funcionar... Exemplo: se você usar funções OpenGl e sua placa não der suporte para o mesmo... a aplicação não vai funcionar...

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por AzaZell@23 dez 2003, 01:09

É claro que se o processador não tiver suporte às instruções MMX o aplicativo (no caso o Windows98) não vai poder se beneficiar desta tecnologia. Eu disse que o win98 e posteriores já reconhecem esta tecnologia e a acionam quando o processador tem este suporte. Se o suporte fosse diferente para cada processador deveria, então, haver um "Windows Intel" e um "Windows AMD" por exemplo.

Putz, vou tentar supor o que você disse... porque realmente não consegui entender direto o que você falou...

1- Lembre-se que é possível emular, desde a arquitetura de um NeoGeo até a de um celular Motorola... nos computadores atuais. Inclusive já fiz projetos para celulares usando somente emulador.

Por isso perguntei se o Win98 emularia a arquitetura MMX.

2- Windows Intel, Windows AMD???

As instruções Assembly não são codificadas diretamente no processador?

3- A pergunta do tópico ficou estranha ao colocar a palavra "Atrapalha"... e a resposta , é que se um aplicativo usa códigos que não é suportado por um outro processador/placa de video/ etc... , de fato não irá funcionar... Exemplo: se você usar funções OpenGl e sua placa não der suporte para o mesmo... a aplicação não vai funcionar...

:huh: Sou Leigo Plus! no assunto... mas já ouvi falar de um falso OpenGL, um arquivo que engana 'simula' uma dessas placas... existe mesmo tal arquivo???

Seria para rodar certos jogos?

Obrigado! :xmas:

Link para o comentário
Compartilhar em outros sites

Oi Azazell,

Vou tentar ser mais claro, vamos lá:

1- Quanto aos emuladores a história é diferente. Você precisa de um emulador quando o seu processador não dá suporte a uma tecnologia mas você precisa usar um aplicativo qualquer que necessita de tal tecnologia. O "efeito colateral" dos emuladores é a perda significativa de performance de tais aplicativos, por motivos óbvios. Um aplicativo que necessite da tecnologia MMX por exemplo, será executado muito mais rapidamente em um processador que tenha suporte a esta tecnologia. Se o processador não tiver esse suporte é melhor, então, nem fazer uso desta tecnologia por dois motivos. 1) Se não tiver o tal emulador o aplicativo não vai funcionar mesmo e 2) Se o aplicativo reconhecer que o processador não suporta esta tecnologia seria mais eficiente (mais rápido) usar apenas a tecnologia deste processador para não ter que gastar tempo de processamento emulando uma tecnologia não existente naquele processador, sem falar de mais memória também. O Windows funciona assim. Ele primeiro verifica se o processador suporta MMX e tecnologias mais recentes (depende da versão do windows claro) para saber se faz sentido tentar utilizá-las. Mesmo que o windows viesse com emulador para cada tipo de tecnologia utilizada o mesmo não usaria deste emulador a não ser que fosse de extrema necessidade (em algum caso que a performance não seria o fator crucial por exemplo), senão, não faria sentido tentar utilizar esta tecnologia;

2- O que é executado no processador é linguagem de máquina pura. Assembly é apenas uma linguagem mais próxima da linguagem de máquina mas "entendível" humanamente. Isso por que quanto mais próximo da linguagem de máquina você programar, potencialmente, melhor aproveitamento dos recursos de seu processador você vai utilizar significando, potencialmente, maior performance. Inclusive existem Assemblys para todo tipo de processador (é claro). Você não pode programar em Assembly x86 e colocar para rodar em um Alpha ou Power PC por exemplo. A linguagem Assembly é voltada para o tipo do processador utilizado. Quanto aos Windows Intel e AMD que eu citei eu quis dizer que se a tecnologia fosse proprietária a cada tipo de processador você teria sim que ter um Windows para cada um. Um Windows que suportasse as intruções MMX e outro que suportasse as instruções 3DNow! por exemplo, ou utilizasse eternamene o Windows 95 que não suporta nenhuma destas tecnologias.

3- Neste caso você está completo de razão. Se um aplicativo foi feito para utilizar impreterivelmente de uma tecnologia que não está presente naquele processador ele não vai funcionar mesmo. O Windows é um caso mais "inteligente" pois ele sabe reconhecer o tipo do processador e vai poder tomar a decisão de qual tecnologia utilizar. Mas se um programa foi feito para determinada tecnologia isto deverá estar claro em sua especificação. Aqueles dizeres "Equipamento mínimo para o uso". Um bom exemplo são os jogos atuais que deixam claro que o equipamento mínimo seria, por exemplo, uma placa de vídeo com no mínimo tanto de memória e com tecnologia tal, processador tal, e por aí vai. Você sabe que se o seu equipamento não suportar ao menos uma das tecnologias descritas ele não será um candidato à execução deste jogo.

Espero ter conseguido elucidar o suficiente os tópicos para seu entendimento.

Valeu!

Fabiano

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...