Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Связь размера ячейки ОЗУ и разрядности шины данных

#память


В сети очень много статей и видео на тему шин:


«Устройство ПК :: Системный блок :: Магистраль»,
«Системная шина процессора»,
«Архитектура ПЭВМ. Магистрально-модульный принцип»,
«Глава 1. Компьютер. Программное и аппаратное обеспечение»,
видео «Шина компьютера, оперативная память, процессор и мосты»,
«Устройство оперативной памяти компьютера»,
«Центральные и внешние устройства ЭВМ».


Вопросы

Получившие ответ:


Каков размер ячейки памяти ОЗУ в современных компьютерах?
Что означает разрядность процессора (32 или 64 бита)?


Оставшиеся:


Сколько бит вернет оперативная память по шине данных, если мы обратимся к конкретной
ячейке? 
Как процессор различает данные в 8, 16, 32 бит в 32 битной шине?
Запрос 32 бит данных из ОЗУ будет происходить в 4 этапа или произойдет за одну итерацию? 
Как просиходит запись в ОЗУ данных, занимающих больше 1 байта? 

    


Ответы

Ответ 1



Если очень кратко, то программно (логически) минимально адресуется 8 бит, т.е. 1 байт (как уже Вам сказали). Реально современные процессоры оперирует данными в регистрах разного размера (типично 64-бит) и типа. "Единичный" байт получается путем маскирования "ненужных" бит. Физически для обмена между кэшем (L3) процессора и памятью, а также для связи кэшей процессоров (ядер) используют несколько 64-бит каналов, внутренние шины процессора 128 и 256 бит. Т.о. обменов по одному байту не бывает. В качестве примера можете почитать про x86-64, Intel QuickPath Interconnect и Intel Xeon chipsets

Ответ 2



Насколько я знаю, под разрядностью процессора, как было сказано выше, понимают количество памяти которым он может оперировать. 32-битная архитектура использует адресное пространство 0x0-0xffffffff, в то время как 64-битная 0x0-0xffffffffffffffff. Адрес ссылается на одну ячейку памяти размером 1 байт. Возьмём целое 32-битное(4-байтное) число 0x31ABCDEF (unsigned int в c++, например). Допустим оно лежит по адресу 0x0000ac00. Тогда памяти оно будет располагаться следующим образом: 0x0000ac00: 0x31 0x0000ac01: 0xAB 0x0000ac02: 0xCD 0x0000ac03: 0xEF

Ответ 3



Статья «Машинное слово» в Википедии. Годная статья «О разрядности процессоров» на IXBT. Вообще, обычно при указании разрядности процессора пишут количество памяти, которое он может адресовать. Количество же бит, которое вернется при обращении к памяти, зависит от разрядности шины данных.

Комментариев нет:

Отправить комментарий