The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Организация FreeBSD Foundation начала ежегодную кампанию по ..."
Отправлено iZEN, 14-Ноя-13 14:50 
>> В DEC все регистры и устройства отображались на ячейки памяти.
> Я в курсе как это, спасибо. Можешь не трудиться цитировать вику, я
> и без вики могу рассказать общую идею работы таких шин. А
> вот с размером int ты лоханулся. Дело в том что данные
> (в том числе и значения переменных) в подобных системах передаются по
> шине данных. Разрядность шины адреса волнует только адресную арифметику. А это
> в терминах сей уже скорее к размеру указателей вопросы будут.

Нет. В языках программирования со статической типизацией (Algol, ADA, Pascal, C) размер типа данных int напрямую зависит от ширины шины адреса для адресации ячейки памяти (в которой по прежнему можно хранить только 1 байт). Так, на 8 битных компьютерах тип данных Integer (int) имел размерность 8 бит, на 16 битных — 16 бит, на 32 битных — 32 бит, на 64...

Wiki со мной согласна:
///---
Количество чисел в машинном изображении множества целых чисел зависит от длины машинного слова, обычно выражаемой в битах. Например, при длине машинного слова 1 байт (8 бит) диапазон представимых целых чисел со знаком от -128 до 127. В беззнаковом формате байтовое представление числа будет от 0 до 255 (2^8 - 1). Если используется 32-разрядное машинное слово, то целое со знаком будет представлять значения от −2 147 483 648 (-2^31) до 2 147 483 647 (2^31−1); всего 1 0000 000016 (4 294 967 29610) возможных значений.

Ограничение длины машинного слова, обусловленное конкретной электронной реализацией того или иного компьютера, не препятствие для обработки ими весьма длинных в битах представлений целых чисел, достигаемое усложнением программных алгоритмов. Естественное ограничение - конечность ёмкости памяти и разумное время на исполнение.

Целые числа и вычисления с целыми числами в современных компьютерах имеют очень важное значение (в подавляющем количестве приложений занимают больше ресурсов процессора, чем, арифметика с плавающей точкой). Вся адресная арифметика и операции с индексами массивов основаны на целочисленных операциях.
---///


Впрочем, сейчас это выродилось в представление типа целых независимо от разрядности процессора. Так, Java, например, примитивный тип данных int независимо от разрядности процессора представляет числа из диапазона от -2^31 до 2^31-1, то есть использует 32-разрядное представление чисел и, соответственно, необходимо 4 ячейки памяти для хранения целого числа. Во многом это обусловлено тем, что современные процессоры оперируют адресацией не на уровне машинного слова, а работают с памятью на уровне серий последовательно адресуемых ячеек, помещаемых в кэш процессора за одну команду. В распределённой NUMA-архитектуре в этом случае возникают накладные расходы на обращение к отдельной ячейке памяти без учёта подлежащей кэшированию всей серии ячеек, в которой она находится.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру