Por que o armazenamento e a transferência são fornecidos em bytes?

0

Pelo que entendi, um dispositivo de armazenamento tem x quantidade de bits que podem ser usados para armazenamento. Vários softwares armazenam código binário em 32 ou 64 bits, e alguns arquivos básicos de texto são armazenados apenas em ASCII de 8 bits e imagens, vídeo e música podem ser algo intermediário.

a) Esse entendimento está correto?

b) Por que medir tudo em unidades de bytes (8 bits) se as coisas não estiverem em 8 bits?

    
por User 24.09.2014 / 13:12

3 respostas

2

A maioria dos sistemas de computadores de hoje está trabalhando internamente com múltiplos de 8 bits. No nível mais baixo, quantidades menores são transferidas (por exemplo, nybbles (4 bits) para o PHY de uma conexão Ethernet de 100 MBit / s), mas tudo exposto a níveis mais altos é em múltiplos de 8 bits. Isso leva a memórias trabalhando com trechos de 8 bits (ou mais). O menor demoninador comum de tudo que é sensato medir para o usuário final é o que hoje chamamos de Byte , então essa é a unidade de escolha.

Os dados em arquivos são geralmente alinhados ao limite de bytes, porque o acesso a bits únicos é uma operação mais cara. A menor quantidade suportada pela maioria das instruções dos computadores atuais é de 8 bits de dados, e é para isso que um endereço de memória aponta. Assim, algumas partes dos arquivos podem ser blocos de 32 bits ou blocos de 64 bits, mas um deles raramente encontrará um pedaço de 7 bits que não é preenchido até 8 bits (como o ASCII de 7 bits).

    
por 24.09.2014 / 13:31
0

Sim, sua compreensão está correta.

Os tamanhos geralmente são especificados em bytes por diversos motivos. Uma é que especificar números em bits resultaria em números maiores e menos convenientes. Outra é que unidades menores do que um único byte quase nunca são transferidas, então não há razão para usar uma unidade menor.

    
por 24.09.2014 / 13:25
0

Historicamente , os computadores têm trabalhado com tamanhos de palavras muito variados. Por exemplo, palavras de 36 ou 40 bits não eram totalmente incomuns nos primeiros computadores eletrônicos (isso levava a convenientes "meias-palavras" de 18 ou 20 bits que eram suficientes para muitos propósitos, enquanto as palavras inteiras permitiam quantidades maiores ou mais precisão onde isso era necessário).

Atualmente, quase todos os computadores de uso geral trabalham com dados em termos de potência de dois múltiplos de oito bits. Oito bits é uma quantidade conveniente para usar como uma linha de base, e se encaixa muito bem no esquema de "poder de dois" que, devido à sua natureza binária, os computadores têm um tempo fácil de trabalhar.

Consequentemente, o hardware é projetado para trabalhar com múltiplos de quantidades de oito bits, em uma espécie de loop de auto-reforço.

Com toda honestidade, os computadores de hoje são projetados para trabalhar eficientemente com quantidades significativamente maiores do que oito bits por vez: não raramente 32, 64 ou até 128 bits de cada vez. Note que todos estes são potências de dois múltiplos de oito bits e, como tal, podem ser facilmente desconstruídos ou combinados, se necessário.

No nível mais baixo, as capacidades de armazenamento são frequentemente especificadas em termos de bits, porque alguns sistemas não funcionam em termos de bytes. Também é uma quantidade fixa: palavras de oito bits se encaixam muito de usos, mas não todos, portanto, enquanto os bytes podem não se aplicar em todas as situações, as contagens de bits disponíveis sempre permanecem as mesmas.

Como David Schwartz apontou , mostrar pequenas quantidades para o usuário simplesmente aumentaria os números sem fornecer muito (se realmente qualquer informação adicional real. Embora se possa esperar que um engenheiro eletrônico ou programador de firmware saiba como trabalhar em bits, não se pode esperar que o usuário comum de computador tenha tal conhecimento. Os primeiros computadores pessoais também usavam esquemas de codificação que sempre codificavam um único caractere como um único byte (ou, em alguns casos, um pequeno múltiplo de bytes), de modo que o conceito de "caractere = byte" era fácil de transmitir. Este não é o caso hoje com codificações de tamanho variável como UTF-8 , mas por outro lado as capacidades de armazenamento são tão grandes hoje em dia que normalmente não precisamos nos preocupar com esses detalhes.

    
por 24.09.2014 / 13:48

Tags