|
Минимизация проверки ячейки памяти |
|
|
Guest_Serg79_*
|
Apr 26 2007, 08:29
|
Guests

|
Требуется проверять правильную работу регистров общего назначения (РОН) и оперативной памяти (ОЗУ) двумя значениями: 0x55 (01010101b) и 0xAA (10101010b). Вопрос заключается в том, что бы сделать это с минимальным количеством используемых команд (это значит максимальное быстродействие и минимально занимаемое место во FLASH). Для 16 старших РОН (r16-r31) удалось все свести к четырем командам: Код ldi r16, 0x55 com r16 subi r16, 0xAA err: brne err Я так думаю, дополнительно минимизировать проверку 16 старших РОН, уже не представляется возможным (все таки через ячейку памяти надо прогнать два значения). А вот для первой половины РОН и ячеек памяти ОЗУ у меня такого однозначного решения нет. Вот и обращаюсь к коллективному разуму, что бы общими силами найти самое что ни есть оптимальное решение этой задачи. P.s. Здесь не обсуждается вопрос целесообразности всех этих проверок. Главная подымаемая здесь тема, это найти оптимальное решение для данной задачи. Так что, прошу не флеймить. Заранее всех благодарю.
|
|
|
|
|
 |
Ответов
|
Apr 27 2007, 11:17
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(defunct @ Apr 27 2007, 02:00)   Гложет совесть - напишите 2 коментария перед началом программы: // registers ok // mem ok К тому же и результат будет тот же. Ушло уже в прошлое то время когда регистры надо было проверять! Чё за ним бегать? Мы продаём компы. Городок небольшой, но доходит до 50 компов в месяц. За 4 года продаж из строя вышло 2 процессора. И то по вине пользователей. Если память внутри МК накроется, то Вы об этом узнаете.  Можете не волноваться.
|
|
|
|
|
Apr 27 2007, 12:08
|
Участник

Группа: Новичок
Сообщений: 48
Регистрация: 2-04-07
Пользователь №: 26 706

|
Цитата(SasaVitebsk @ Apr 27 2007, 12:17)  К тому же и результат будет тот же. Ушло уже в прошлое то время когда регистры надо было проверять! Чё за ним бегать? Мы продаём компы. Городок небольшой, но доходит до 50 компов в месяц. За 4 года продаж из строя вышло 2 процессора. И то по вине пользователей. Если память внутри МК накроется, то Вы об этом узнаете.  Можете не волноваться.  А вы слыхали про такое: "Концепция безопасных микроэлектронных систем: одиночные дефекты аппаратных и программных средств не должны приводить к опасным отказам и должны обнаруживаться с заданной вероятностью на рабочих или тестовых воздействиях не позднее чем в системе возникнет второй дефект". Опасный отказ - переводит систему в опасное состояние которое может привести к последствиям катастрофического характера. Оно конечно понятно, если сломаеться комп на котором жена в Тетрис играет, а вот если тот который управляет, например, маленьким химическим заводиком....
|
|
|
|
|
Apr 27 2007, 16:15
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Vasia Klin @ Apr 27 2007, 08:08)  Опасный отказ - переводит систему в опасное состояние которое может привести к последствиям катастрофического характера. Так надёжную систему не построить. Напрашивается маленькая аналогия - построение надёжного ключа из ненадёжных элементов. Скажем, на 4 транзисторных ключах с лямбда отказа 1Е-7 построить ключ с лямбдой отказа 1Е-12. Очень просто - соединяете два ключа последовательно в цепь, а две такие цепи соединяете параллельно. Был свидетелем компьютерной системы, состоящей из 4 комплектов, каждый комплект состоял из 3-х синхронно работающих компов. Одновременно работал один комплект, второй стоял в горячем резерве, два других в холодном. Вот, кстати, еще вспомнил пример, с Инмарсатовской группировкой. Она состоит из 3-4 спутников в одной точке стояния. Один спутник работает, второй стоит в горячем резерве (по-моему, порядка 5 минут готовность, надо уточнять), а третий - в холодном. Дорогое удовольствие, но когда речь идёт о спасении на море жизней сотен или тысяч человек, оно того стоит.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Сообщений в этой теме
Serg79 Минимизация проверки ячейки памяти Apr 26 2007, 08:29 add ЦитатаТребуется проверять правильную работу регист... Apr 26 2007, 08:53 ZAO Требуется проверить все регистры? Тогда можно зап... Apr 26 2007, 10:13 SasaVitebsk Можно конечно ответить и на конкретно поставленный... Apr 26 2007, 12:45 Сергей Борщ Цитата(Serg79 @ Apr 26 2007, 07:29) А вот... Apr 26 2007, 12:59 =GM= Цитата(Сергей Борщ @ Apr 26 2007, 08:59) ... Apr 26 2007, 13:23    SasaVitebsk Цитата(Vasia Klin @ Apr 27 2007, 12:08) А... Apr 27 2007, 20:27 Vladimir Chekin >> Требуется проверять правильную работу рег... Apr 26 2007, 18:29 Vasia Klin Вообще говоря, надёжность и безопасность не совсем... Apr 28 2007, 07:13 Snaky Цитата(Vasia Klin @ Apr 28 2007, 10:13) Л... Apr 28 2007, 07:47 Дон Амброзио Цитата(Vasia Klin @ Apr 28 2007, 10:13) В... Feb 11 2008, 18:24 Serg79 Для тех кто в танке или для тех кто не читал первы... Apr 28 2007, 10:00 CDT Цитата(Serg79 @ Apr 28 2007, 10:00) Здесь... Apr 28 2007, 14:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|