Как извлекаются данные из оперативной памяти?

В C каждый байт адресуется индивидуально. Предположим, целое число (скажем, которое использует 4 байта) имеет адрес 0xaddr(что составляет 32 бита, при условии, что у нас есть 32-битный процессор с 32-битной адресной шиной и 32-битной шиной данных) и предположим, что значение целое число равно 0x12345678. Теперь, если я извлекаю это значение из памяти, как это делает процессор? Размещает ли процессор 0xaddr(32-битный адрес) в адресных строках, а затем выборка 8-битных данных, скажем, 0x12. Затем процессор запустит 0xaddr+1в адресных строках, а затем извлечет еще 8-битные данные 0x34и так далее для 4 байтов целого числа? Или процессор просто помещает 0xaddrи считывает сразу 4 байта, используя при этом полную 32-битную шину данных?

5
задан Pavan Manjunath 18 March 2012 в 00:35
поделиться