OSDev

для всех
Текущее время: 15 май 2024, 12:07

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 12:53 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
scuter писал(а):
я конечно понимаю что в процессоре 4гб память и этого очень много,
но всё таки ещё раз повторюсь,
как работать с оперативной памятью?????????????????????????

В процессоре нету памяти, она отдельной микросхемой, но процессор работает с ней на прямую(память и проц неразлучны).
В 32битном режиме у тебя 4гб доступно, в 64битном гораздо больше.
Доступ к памяти как я говорил на прямую командой mov
так же этой командой можно работать с памятью не оперативной а другой и проц это понимает автоматически(обычно в верхних адресах хранятся области). Из за этого из 4гб часть памяти мы теряем. Соответственно если на компе 8гб, то нужна 64битная система, так как по мимо этого ещё и видео память и всё остальное легко поместится.
Хватило бы и 48битной системы, но система должна быть в степени 2.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 13:00 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
Пользуйся командами mov и не парся, после перехода например в защищёнку пропускай первый мегобайт и поехал, пока она не закончится.
Для того чтобы пользоваться страничной, то нужно будет этот режим включить, он аппаратный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 13:19 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
scuter писал(а):
т.е. надо мне определить какая память используется

Это знает только BIOS. Тебе эта информация недоступна.

scuter писал(а):
какой у неё размер,

Определение доступной памяти подробнейшим образом описано здесь.

scuter писал(а):
почему про это дело ничего не пишут,
никакого обьяснения.

Пишут. Искать надо.

scuter писал(а):
ну и понять как она работает т.е. как в неё записать данные.

Для этого никаких специальных шаманских действий не нужно. Просто берёшь и пишешь по нужному адресу:
valeri писал(а):
mov eax, 12345678h ; <- адрес куда нужно добраться
mov [eax], ebx

Стоило бы взять в руки какой-нибудь учебник по ассемблеру.

Станислав писал(а):
после перехода например в защищёнку пропускай первый мегобайт и поехал, пока она не закончится.

Так определять память - грубейшая ошибка!

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 13:27 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Yoda писал(а):
Это знает только BIOS. Тебе эта информация недоступна.


Ну, в DMI есть данные из SPD каждого модуля:
Код:

Handle 0x003E, DMI type 17, 34 bytes
Memory Device
        Array Handle: 0x0034
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 8192 MB
        Form Factor: DIMM
        Set: None
        Locator: ChannelC_Dimm1
        Bank Locator: ChannelC
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1066 MHz
        Manufacturer: Corsair                   
        Serial Number: 00000000             
        Asset Tag: ChannelC_Dimm1_AssetTag
        Part Number: CMX8GX3M1A1600C11     
        Rank: 2
        Configured Clock Speed: Unknown


Но толку от них примерно ноль.

Yoda писал(а):
Так определять память - грубейшая ошибка!


К особенно интересным результатам приводит такой перебор на системах, где есть ISA-дыра в 16 метре :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 14:00 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
Использовать память как пустую, в которой например чьи то регистры будет смешно :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 15:02 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 320
Откуда: Псковская обл.
Как сказать, пример из жизни. У меня есть программа работающая в нереальном режиме. Это текстовый редактор , при работе загружаю текст в память начиная с первого метра. Пробовал грузить 700 метров - всё нормально. При чём, память используется по полной. Многкратно копирую текст, место под буфер для вставки. Использую почти каждый день на трёх компах. Глюков небыло. Правда за пределы памяти не выхожу. Предел определяю через биос.
Вообще самый верный способ что-то узнать наверняка - написать тест и прогнать на максимуме машин.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 15:02 

Зарегистрирован: 10 апр 2012, 23:19
Сообщения: 277
то есть память крепит BIOS, переадресацию тоже он делает,
только вот как он это делает и как определить реальную память процессора
Код:
+--------------+---------------+---------------+
|0000:0000     |c000:0000      |f000:0000      |
+--------------+---------------+---------------+
|память CPU    |память RAM     |парять video   |
+--------------+---------------+---------------+

я просто не могу понять как это дело работает,
у процессора есть своя память, но когда записываю данные в адрес "12345678h"
получается записываю в оперативную память или тоже самое с VESA LFB.
получается что я могу запрограмировать видео карту используя внутренние адреса а не порты ввода/вывода?
и хотелось бы переместить это дело в какое нибудь другое место, если уж эта память предназначена не для работы CPU
и присудствующий там код совершенно не предназначен для выполнения в CPU на много разумней будет переместить всё это дело в HMA или UMB


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 15:12 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 320
Откуда: Псковская обл.
Память процессора - это максимально возможная память которую может адрессовать проц. А иначе кэш процессора - об этом нет смысла думать. Это никак к Памяти вообще не относится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 15:15 

Зарегистрирован: 10 апр 2012, 23:19
Сообщения: 277
iz56 писал(а):
Память процессора - это максимально возможная память которую может адрессовать проц. А иначе кэш процессора - об этом нет смысла думать. Это никак к Памяти вообще не относится.

а если я заполню программами все 4гб и заставлю всё это работать процессор лопнет или оперативка с видеокартой начнёт обрабатывать код вместо процессора???

или когда я делаю far call [0008:12345678] это у меня оперативка код обрабатывает.


Последний раз редактировалось scuter 01 июн 2012, 15:22, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: оперативная память RAM
СообщениеДобавлено: 01 июн 2012, 15:22 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 320
Откуда: Псковская обл.
При наличии физической 4Г, это вопрос открытый. А если памяти меньше - больше вероятность что всё будет нормально. По любому надо осторожнее. Я не вижу смысла для себя разбирать это, т.к. у меня маленькая ОС. Пройдут годы пока понадобится такой обьём. Крайне важно предусмотреть в механизмах работы с памятью большую гибкость. Пока и при наличии этой информации можно написать вещь.
Если у вас будет навороченный графический интерфейс, при этом зашитый в ядро, и тогда хватит ,допустим, 100 метров.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB