JOGO VELHA MODO REAL - X86

Software e Hardware para linha x86

Moderadores: andre_luis, 51

Mensagempor msamsoniuk » 29 Nov 2008 13:27

segundo as lendas, o nome eh referencia a um dos mais importantes projetistas da intel, que trouxe a tecnologia de processamento vetorial e processamento superscalar para o ocidente:

http://www.theregister.co.uk/1999/06/07 ... hnologies/

Djalma Toledo Rodrigues escreveu:O mais espantoso ainda foi a IBM haver aceito a proposta de Bill Gates.

E a IBM que éra uma companhia extremamente fechada, nos computadores de grande porte, implementou o PC com 8086 e a segui 8088 da Intel que era extremamente aberta e com uma extraordinária capacidade de divulgação a época.

Atualmente a IBM tem participação na Intel.
Aliaís foi a IBM quem "sugeriu" a Intel colocar o nome de Pentium nos uP já que números não podem ser patenteados.
.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 30 Nov 2008 08:55

Djalma,

A IBM aceitou a proposta porque queria entrar no mundo dos computadores pessoais, pois a Apple estava dominando, assim teve que apelar para a intel.
Saiu até um filme na decada de 80 explicando esta história, "Piratas do vale do silicio".
Na epoca testei um AppleIIplus de 1 Mhz(que possuo até hoje) e um IBM XT 4,77Mhz, rodando a mesma aplicação grafica, adivinha quem foi mais rapido??

Marcelo,

Uma boa parte desta lambança, pode ser visto no wikipedia. O unico que teve o saco de criar algo foi o que fez o CP/M8 e o QDOS depois só foi remendos e adaptações. A versão 16bits do sistema existia no inicio apenas para testar uma motherboard com o prototipo do 8086. Digamos, não foi feito um sistema do zero para ser vendido e utilizado. Depois adaptaram, como vc diz, o CPM/86 ou o msdos que eram a mesma coisa.
Outro problema que tinham na epoca era que os PCs usavam um S.O. monotarefa.
A historia da Apple pode ser vista no site :

www.folklore.org

Na epoca o Tio Bill no desespero comprou se nao me engano 3 Macintosh para fazer engenharia reversa, para criar uma interface grafica para o PC da IBM(surgimento do windows).
A interface grafica da Apple surgiu de uma ideia que foi engavetada pela Xerox, que na época os grandes diretores da Xerox, pensaram que o mouse e a interface não serviriam para nada. Após uma visita do pessoal da Apple na Xerox, absorvera e executaram esta ideia.
O Apple II já tinha mouse, mesa digitalizadora, HD, placa digitalizadora de video na época, itens que foi utilizados no PC muito tempo depois.

Vejam também:

http://en.wikipedia.org/wiki/Xerox_Star
enigmabox
 

Mensagempor msamsoniuk » 30 Nov 2008 15:53

um detalhe interessante eh que, enquanto a IBM lancava o PC baseado em componentes TTL de prateleira, a apple comecava a investir em ASICs e PALs dedicados para todos os seus produtos.

a propria IBM soh comecaria a fazer o mesmo em 87, com a familia PS/2, quando a apple criava a segunda leva de macs, com tecnologia de HW similar ao que se encontra apenas nos PCs de hoje em dia.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor mastk » 30 Nov 2008 16:33

POW engima, só olhar o set de instruções do 68K e o tempo de execulção, negocio é MUITO mais rapido que o 8086, comparar com o 8088 então :wink:
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor enigmabox » 30 Nov 2008 18:35

A linha PC sempre esteve na rabeira da Apple.
A Apple já adotava o USB antes do PC, fireware 800(que depois com a cpu Intel teve que baixar para 400), etc
Mastk,
O 68000 é bem superior ao 8086, nem dá pra conversa....Mas se for um overclocado NEC V30 ou NEC V50 aí da pra negociar...
Antes da Apple adotar a linha Intel de cpus, em suas maquinas com os PowerPC, tinhamos Mac com 1/3 da freq. da cpu do PC, mas com a mesma eficiencia.
Devido ao virus Intel, hoje os Macs não tem muita eficiencia sobre os PCs, a unica vantagem, creio eu, seja a qualidade da fabricação do hardware do Mac.
Hoje a Intel se quiser rodar em 64/32bits tem que usar o set de instruções AMD64 ou apelar para sua CPU de 64bits que não é compativel com nada... :shock:
Por falar em 8088/8086, alguem já usou aquele microcontrolador 80186, ou am188/am186 ?
enigmabox
 

Mensagempor mastk » 30 Nov 2008 19:01

É facil achar PLCC, pelo o cara que me vendo velharias disse, eles vendem bastante, alguem deve usa-los por ai :)
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor msamsoniuk » 30 Nov 2008 23:47

para pegar um 68000 soh mesmo um 386SX... e olhe lah, arrisca perder! :)

o 80186 soh teria vantagem sobre o 68000 por incluir uma serie de perifericos on-chip no mesmo encapsulamento, mas neste caso poderiamos argumentar que existem versoes do 68000 com a mesma funcionalidade, como o 68306, que inclui chip-selects, controlador dram, uarts on-chip e suporte ateh 64MB de memoria.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 01 Dez 2008 07:20

Mastk,

Antes de usar o MC68030, pensei em utilizar nas minhas brincadeiras o AM188/186, mas não encontrei com facilidade.
Tem ideia de custo da versão plcc?

Marcelo,
Minha placa está com o 68030 a 20mhz, qual cpu Intel seria equivalente em eficiencia? Será que um 486sx66? Tenho aqui tb para brincar um AMD 486DX4-100(PGA), será que é muito trabalhoso ligar o bichinho....hehe?
Vi também que a linha da NECVx0 era clone do 8088/86, isto é, fizeram engenharia reversa no 8088 e criaram algo com mais eficiencia, assim na versão mais basica o V20, que era mais rápido que o 8088 de 20 a 30%.
Já a ultima versão da NEC o V70(μPD70632) tinha bus interno de 32 bits e externo de 16bits, tinha os perifericos do XT embutidos e era bem mais rapido que um 8086.
enigmabox
 

Mensagempor Djalma Toledo Rodrigues » 01 Dez 2008 08:54

Resumindo:

Uma 'lambança' de difícil soluçáo. A não ser que se rompesse com o ser compatível.
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor msamsoniuk » 01 Dez 2008 21:57

no seu caso, se vc montasse o barramento com a largura completa, usasse terminacao sincrona e memorias EDO, estaria pau a pau com um 486 de 20MHz, pq os processadores sao muito similares. o 68030 poderia acompanhar o 486 ateh os 50MHz tranquilamente, mas no caso de um 486DX2/66 ou mesmo do 486DX4/100, a coisa muda de figura: o 68030 de 50MHz ficaria para tras no aspecto de performance quando a disputa estivesse em cima da cache on-chip e ganharia deles quando a disputa estivesse em cima do bandwidth de memoria... mas o que vale mais? capacidade intrinsica para calculos ou bandwidth?

o principal fator, na minha opiniao, ainda eh o bandwidth e isso depende de 3 fatores:

bandwidth = (bus_clock x bus_witdh)/bus_cycles

bom, em termos de largura de bus temos:

- 32 bits: 80386, 80486, 68020, 68030, 68040 e 68060
- 16 bits: 8086, 80186, 80286, 386SX, 68000, 68020 e 68030
- 8 bits: 8088, 80188, 68008, 68020 e 68030

bom, nao existe 680x0 com largura de bus de 64 bits! entao para ir adiante, na batalha dos buses de 64 e 128 bits, com suporte a multi-core e coisas do demo, soh com o powerpc! :)

em relacao a quantidade de clocks por acesso... bom a coisa complica um pouco:

- 1 clock por ciclo (sincronos em burst): 80486, 68030, 68040 e 68060.
- 2 clocks por ciclo (sincronos): 80486, 80386, 68030, 68040 e 68060
- 3 clocks (pseudo-sincrono): 68020, 68030
- 4 clocks por acesso (sincronos e pseudo-sincronos): 8088, 8086, 80186, 80188, 80286, 68000, 68008

no caso dos 680x0, os modos pseudo-sincronos indicam DTACK ou DSACKx forcado para terminar o ciclo o mais rapido possivel. em relacao as instrucoes, o 68060 neste conjunto eh o unico superescalar capaz de chegar perto de 2 instrucoes em um clock e o 68040 quase chega a 1 instrucao por clock. o 486 tipicamente fica para tras por um fator de 2x, bem perto, portanto, do 68030, que precisa de 2 clocks por instrucao. o 68020 chega perto do 68030 quando opera em cima da cache on-chip, mas sua performance cai para 3 clocks em funcao do bus externo e os outros processadores mais antigos ficam na faixa dos 4 clocks no seu melhor tempo.

finalmente, temos os clock do bus, de onde podemos calcular entao o bandwidth maximo:

- 68000 ateh 20MHz: 10MB/s
- 68020 ateh 33MHz: 44MB/s (e possui cache on-chip)
- 68030/040/060 ateh 50MHz: 160MB/s (e possuem cache on-chip)
- 8088/80188 ateh 20MHz: 5MB/s
- 8086/80186/80286 ateh 20MHz: 10MB/s
- 386SX ateh 33MHz: 33MB/s
- 80386 ateh 40MHz: 80MB/s
- 80486 ateh 50MHz: 160MB/s (e possui cache on-chip)

os processadores com cache on-chip possuem uma vantagem: podem trabalhar com tempos de acesso de 1 ou 2 clocks apenas e nao consomem bandwidth quando estao executando loops. bom, quando a cache nao dah conta, tem que puxar instrucoes... e as instrucoes do 680x0 possuem 16 bits contra 8 dos x86. por outro lado, as instrucoes do 68000 sao mais capazes, enquanto que as instrucoes do x86 sao mais fracas e requerem mais palavras auxiliares, de modo que o resultado acaba quase que 1:1. o fato do 680x0 possuir mais registros internos certamente puxa a balanca de performance para o lado do 680x0, o que justifica ele ter sido tao popular em estacoes graficas da decada de 80.

ainda tem as combinacoes de fatores... e o PC da IBM era uma pessima combinacao em todos os sentidos! com um clock de 4.77MHz e apenas 8 bits de largura no bus, o bandwidth disponivel era de miseros 1.2MB/s, se eh que as memorias nao eram penalizadas com wait-states! comparativamente, um 68000 tipico de 8MHz e bus de 16 bits conseguia um bandwidth de 4MB/s.

enigmabox escreveu:Minha placa está com o 68030 a 20mhz, qual cpu Intel seria equivalente em eficiencia? Será que um 486sx66? Tenho aqui tb para brincar um AMD 486DX4-100(PGA), será que é muito trabalhoso ligar o bichinho....hehe?
Vi também que a linha da NECVx0 era clone do 8088/86, isto é, fizeram engenharia reversa no 8088 e criaram algo com mais eficiencia, assim na versão mais basica o V20, que era mais rápido que o 8088 de 20 a 30%.
Já a ultima versão da NEC o V70(μPD70632) tinha bus interno de 32 bits e externo de 16bits, tinha os perifericos do XT embutidos e era bem mais rapido que um 8086.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 02 Dez 2008 07:39

marcelo,
Gostei da explicação. Nas atuais conjucturas, não pretendo voltar para a Intel.
Já que estou com um processador intermediario da Motorola, compensa apenas subir em direção ao PowerPc, que já é uma arquitetura Risc.
Agora esta versatilidade do 68020/030 deveria ser continuada, pois permite trabalhar em qualquer barramento até 32 bits.
Vi tb que tem varias instruções novas, mais completas e diretas no 68K em relação ao x86, que facilitam a vida do programador e aumentam a eficiencia.
Porque será que a Apple prefiriu usar o PowerPC Risc ao inves do Cisc, será que foi por causa da IBM que fabricava a CPU, junto com a Motorola?
Quando modifiquei o bus de dados da minha placa 68030 para 16 bits, parece que triplicou a velocidade, tinha feito algumas rotinas de delay, que tive que modificar...
Agora em questão de eficiencia da FPU, qual seria a mais eficiente cpu com 68882 ou um processador 386DX ou 486DX, tu teria estes dados?
Agora um eMAC G4 de 1,42Ghz estaria proximo em eficiencia a qual PC com x86?
enigmabox
 

Mensagempor Djalma Toledo Rodrigues » 02 Dez 2008 13:12

Marcelo

Por falar em mais registros o 6502 é aparentemente simples, Acumulador e Registros X e Y mas, toda a Página Zero da RAM é como se fosse registros da CPU já que há Instruções especias sómente para esta Página.

Isso é que é eficiência.

(Nem Einsten teria bolado melhor, já que seguramente diria "isso é relativo"

hehehe )
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor enigmabox » 02 Dez 2008 13:17

Djalma,

Concordo com sua opnião, o 6502 parece uma maquina Risc. Tem um assembler bem simples de aprender. Parece que se "basearam" neste conceito para bolar a tecnologia ARM.
Outra coisa o 6502 era clone do 6800 da motorola. Na primeira versão 6501 que fizeram era pino compativel com o 6800, depois mudaram os pra não ficar chato... :oops: Segundo diz a lenda, o mesmo pessoal que fez o MC6800 participou da criação do 6502 da MOStech...
Em nivel de eficiencia um 6502 a 1Mhz era equivalente a um 8088/86 em 4Mhz.

http://apple2history.org/history/ah12.html#09

Dá até pra emular um 6502 em um fpga e botar pra rodar a 150mhz!!

:D
Editado pela última vez por enigmabox em 02 Dez 2008 13:39, em um total de 1 vez.
enigmabox
 

Mensagempor msamsoniuk » 02 Dez 2008 13:31

acho q eh o mesmo principio das aplicacoes financeiras: qto mais tempo vc demora para aplicar, mais vc deixa de ganhar. no caso do 68030, quanto mais tempo vc demora para colocar as instrucoes nas caches e pipelines, mais vc deixa de ganhar! :)

eu diria que aumentando o bandwidth da memoria de 8 para 16 bits vc comeca a tirar leite de pedra, ou seja, espremer as instrucoes e sobrepor elas nos pipelines... vc esta com as caches on-chip ativadas ? loops com variaveis tipo register e operacoes escolhidas a dedo (evitando div, mul e e minimizando acessos a memoria) podem atingir picos de 10 mips na sua configuracao atual com as caches ativadas.

sobre eficiencia da fpu, segundo os foruns de amiga, o 68881 conseguia 0.5 mflops a 25MHz (bus assincrono), o 68882 1.5 mflops a 50MHz (bus sincrono), o 68040 3.5 mflops a 25MHz (bus sincrono) e o 486 1 mflops com o mesmo clock (e mesmo bus). para o 68060 de 66MHz as estimativas ficavam em torno de 15 mflops e para o pentium com o mesmo clock 25 mflops.

sobre os powerpc, tem q dar uma pesquisada melhor! :)

enigmabox escreveu:marcelo,
Gostei da explicação. Nas atuais conjucturas, não pretendo voltar para a Intel.
Já que estou com um processador intermediario da Motorola, compensa apenas subir em direção ao PowerPc, que já é uma arquitetura Risc.
Agora esta versatilidade do 68020/030 deveria ser continuada, pois permite trabalhar em qualquer barramento até 32 bits.
Vi tb que tem varias instruções novas, mais completas e diretas no 68K em relação ao x86, que facilitam a vida do programador e aumentam a eficiencia.
Porque será que a Apple prefiriu usar o PowerPC Risc ao inves do Cisc, será que foi por causa da IBM que fabricava a CPU, junto com a Motorola?
Quando modifiquei o bus de dados da minha placa 68030 para 16 bits, parece que triplicou a velocidade, tinha feito algumas rotinas de delay, que tive que modificar...
Agora em questão de eficiencia da FPU, qual seria a mais eficiente cpu com 68882 ou um processador 386DX ou 486DX, tu teria estes dados?
Agora um eMAC G4 de 1,42Ghz estaria proximo em eficiencia a qual PC com x86?
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 02 Dez 2008 13:50

Marcelo,

Ainda não estou usando o cache, mas brevemente vou utilizar.
O que estou bolando é um banco de ram de 32 bits, falta achar as rapidas memorias estaticas pra brincar...
Vendo o codigo assembler, notei que a maioria do codigo ocupa 16bits pra cima, assim usar com bus em 8, como eu estava usando, é um sacrificio!
Vi que caiu o preço do eMAC usado, o ultimo que saiu era de 1,42Ghz e está ha um bom preço.
Então as FPU 68882 dão um coro nos calculos no 486?hehe
enigmabox
 

AnteriorPróximo

Voltar para Intel x86

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

x