Casa > O > O Arm É Grande Ou Pequeno?

O ARM é grande ou pequeno?

Apenas adicionando um tidbit às respostas geralmente corretas já. O ARM original era little-endian, e quase todo uso hoje também é, embora o suporte ao big-endian tenha sido adicionado bastante cedo. O lado negativo, como alguns notaram, é que pode faltar o suporte de software e de cadeia de ferramentas para BE. Minha memória viva disto foi de quando me pediram para ajudar a diagnosticar um problema que uma equipe que estava desenvolvendo para o 3DO encontrou. Por qualquer razão (anexo ao 68000?) a 3DO escolheu usar o ARM na BE, que não seria um assassino, mas eles também "sugeriram fortemente" (IIRC, eu não era realmente parte da equipe usando a plataforma) usando o compilador Norcroft C. (Talvez tenha sido a única opção na altura)

Aqui precisamos de um pouco mais de background: ARM original suportado em byte (8-bit) e acesso de palavras (32-bit) à memória. Se você usou dados de 16 bits (que os jogos de vídeo tendem a usar um _lot_ de, por razões Goldilocks) você precisava de uma sequência multi-instrução para fazer isso. O problema era que o compilador Norcroft C (para o ARM, tal como é distribuído pela 3DO) não lidava correctamente com referências de 16 bits através de um ponteiro. ou seja, dado

unsigned short a16[42];

unsigned short *p16;

then loading a16[i] worked, but loading p16[i] did not (or maybe "not always", which is not an improvement, really) Eu não me lembro se *p16 funcionou, mas suspeito que talvez tenha funcionado, uma vez que isso permitiria o hack de ter um ponteiro extra:

p>p curto-circuito wp16 = p16+i

e usando *wp. O que seria uma porcaria _less_, mas foi há muito tempo atrás para lembrar.

Não dissimular Norcroft, que o IIRC escreveu um front-end portátil, mas quem quer que tenha invadido o suporte BE no backend do ARM aparentemente não estava em testes. Ou, alguém fez uma mudança posterior que o quebrou, e mais uma vez, não muito testando.

O take-away é que se afastar muito do mainstream, mesmo que esse caminho seja suposto existir, pode te colocar em um mundo de dor. Se você ficar com o rebanho, alguma outra gazela pode ser o jantar.

De Kakalina Brookfield

O que é que a sorte num AXE faz num Minecraft? :: Porque há tantos jogos numa época da NBA ou MLB?