Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Тесты памяти  (Прочитано 16872 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
AlisaNew
Гость
« : 10-11-2005 07:10 » 

Ребята подскажите!!!! Задали задачу, справиться не могу:
Необходимо написать тест памяти. Условия: Запись в ячейки памяти сначала 1 потом 0 и проверка записанного, второе: запись поочередно в первую ячейку 0, в следуюшую 1, и так для всей области тестируемой памяти. Запись в ячейку памяти, адреса самой ячейки и проверка на записаное. Данные из тестируемых ячеек, сначало надо спасти, а потом востановить! Кто  что подскажет? Помогите пожалуйста...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 10-11-2005 07:23 » 

привет

для начала - о чём речь, о микропроцессоре?

а алгоритм в принципе одинаков хоть для чего:

Код:
//BYTE *p - указатель на область памяти
//int len - размер области

BYTE test1=0x55; //значение для тестирования ячейки
BYTE save;//переменная для хранения старого значения ячейки

//вначале предполагаем, что тест удачен
bool OK=true;

//перебираем ячейки, пока не дошли до конца
// или пока не наткнулись на ошибку ввода/вывода
for(i=0; i<len && OK;i++ )
{
save=p[i]; //сохраняем значение ячейки

p[i]=test1; //записываем тест-значение

//читаем значение ячейки и сравниваем с тест-значением
if(p[i]!=test1)
{
//ошибка - прочитали не то, что записывали
OK=false;
}

//возвращаем старое значение ячейки
p[i]=save;
}

if(OK)
{
//тест удачен
}
else
{
//тест провален
}

« Последнее редактирование: 10-11-2005 08:00 от Алексей1153 » Записан

AlisaNew
Гость
« Ответ #2 : 10-11-2005 07:24 » 

Нет не для процессора а для долговременной памяти, если можно то поподробней, я только на первый курс пошла, и примеры если можно на С
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 10-11-2005 07:34 » 

Алиса, это итак на си.

долговременная память - то есть внешние накопители?

алгоритм - точно такой же, а реализацию не подскажу, сорри...
-----------------

зато я задам вопрос, который понадобится тем, кто ответит Улыбаюсь :
операционная система, среда разработки программы - какие?
Записан

AlisaNew
Гость
« Ответ #4 : 10-11-2005 07:40 » 

DOS
Записан
AlisaNew
Гость
« Ответ #5 : 10-11-2005 07:43 » 

А построчно с коментариями можешь?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 10-11-2005 08:01 » 

я ж говорю - только алгоритм если... как к носителям обращаться я не знаю, не разбирался никогда, об этом лучше расскажет тот, кто знает Улыбаюсь

а алгоримт прокомментировать - пожалуйста, смотри пост с кодом, я подправил
Записан

Alf
Гость
« Ответ #7 : 10-11-2005 08:09 » 

Тест с записью номера ячейки в ячейку необходимо проводить для всего тестируемого блока в целом, иначе он не имеет почти никакого смысла.

Нужно:
- сохранить где-нибудь содержимое блока;
- прописать блок тестовыми значениями;
- считать ячейки и проверить правильность содержимого;
- восстановить данные в блоке.
Записан
AlisaNew
Гость
« Ответ #8 : 10-11-2005 08:14 » 

Тест с записью номера ячейки в ячейку необходимо проводить для всего тестируемого блока в целом, иначе он не имеет почти никакого смысла.

Нужно:
- сохранить где-нибудь содержимое блока;
- прописать блок тестовыми значениями;
- считать ячейки и проверить правильность содержимого;
- восстановить данные в блоке.
Все здорово! Но как это реализовать кодом?
Записан
Alf
Гость
« Ответ #9 : 10-11-2005 08:29 » 

Что именно непонятно? Как организовать цикл со счетчиком? Как присвоить значение переменной? Или как его потом прочитать? Больше ведь никаких операций не требуется.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #10 : 10-11-2005 09:07 » 

Alf ,ей нужно проверить не озу
Записан

Alf
Гость
« Ответ #11 : 10-11-2005 09:27 » 

Ну и какая разница? Все равно нужно задавать адрес ячейки, писать в нее, читать содержимое. Назови это не ОЗУ, любым другим словом, суть тестирования не меняется. Главная идея - прописывать тестовые паттерны нужно в весь блок целиком,а не по одной ячейке.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 10-11-2005 09:38 » new

да согласен, блоком, не суть важно

человеку надо узнать КАК I/O железо Улыбаюсь
Записан

AlisaNew
Гость
« Ответ #13 : 10-11-2005 09:49 » 

Ребята а как кодом записать в адрес ячейки?
Записан
Alf
Гость
« Ответ #14 : 10-11-2005 10:27 » 

Если ячейка отображена в адресное пространство оперативной памяти, то разыменованием указателя.

Если нет, то соответственно инструкции к устройству.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines