Приветствую Вас, Гость Пятница, 19.04.2024, 00:27
RSS

Меню сайта

Хіт FM

Календарь
«  Декабрь 2012  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Архив записей

Поиск

Наш опрос
Какого типа статьи Вам интересно читать?
Всего ответов: 4

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Посещения
Besucherzahler seniorpeoplemeet
счетчик посещений

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  •   
    Главная » 2012 » Декабрь » 18 » Из истории проекта WS Calc. Часть 4. Первая минимизация. Этап 2
    20:27
    Из истории проекта WS Calc. Часть 4. Первая минимизация. Этап 2

    Второй этап был связан с устранением ошибок на промежутке от регистров 1,2 до памяти Х, У. На  этом участке находится декодер из 2(10) в 2 код. Принцип его работы заключается в присвоении определенных значений 2(10) коду.

    Например, для первой цифры это будет:

    8*=80=64+16

    4*=40+32+8

    2*=20=16+4

    1*=10=8+2

    Для второй цифры это:

    8*=8

    4*=4

    2*=2

    1*=1

    Если забыли, то напоминаю: когда мы вводим цифру, то ввод начинается с десятков, а заканчивается единицами. Что происходит с регистрами в моменты, когда мы вводим цифры:

    1)      По умолчанию счетчик стоит на положении У2, но когда он получает сигнал о том, что была введена первая цифра то переключается на Х1 и следовательно введенная нами цифра запишется в регистр 1.

    2)      При вводе второй цифры счетчик переключается в положение Х2, значит и цифра будет записана в регистр 2

    3)      После полной записи в регистры 1,2 происходит автоматические чтение из них.

    4)      Сигнал проходит через декодер из 2(10) в 2 с разной скоростью, поэтому чтобы сигнал правильно записался в память Х, У необходимо удержать сигнал так долго, чтобы ушли все помехи.

    5)      После этого таймер разрешает запись в ячейки памяти Х или У.

    6)      Т.к. счетчик находится в положении Х, то запись осуществляется именно в ячейки Х

    7)   С цифрами числа У аналогично.

    У меня такой алгоритм начал правильно работать только за полторы недели до защиты МАН. Самую большую трудность представляла синхронизация задержки этих элементов. Разобравшись с этим вопросом, я к нему больше не возвращался, т.к. знал, что все исправно работает.

    Следующим вопросом было АЛУ. Я считал, что написанные мной формулы для вычитания верны и достаточно просты в реализации, но как всегда я не учел все факторы.

    Формулы имеют такой вид:

    1)      если Х>У и Х+inУ=Z, то +1 бит

    2)      если Х<У и Х+inУ=Z, то inZ

    3)      если Х>У и inХ+У=Z, то inZ

    4)      если Х<У и inХ+У=Z, то +1 бит

    где in – инвертирование числа

    Z – сумма двоичного кода Х и У

    То есть были готовы формулы для Х+(-У) и (-Х)+У, но не было для (-Х)+(-У). Об этом будет подробно рассказано в дальнейших выпусках.


    Общий вид системы:


    Первая правильная попытка сделать декодер из 2 в 2(10):


    Управление плюсом и минусом:


    Управление АЛУ для минуса (не достроено) :


    Таймер перед регистрами Х,У:


    Участок от регистров 1,2 до памяти Х,У:



    Нововведения: закончена синзронизация регистров, что дает возможномть получать правильный результат в двоичном коде; начало проектирования декодера из 2 в 2(10) код.



    Следите за появлением новых новостей!
    Ваш iBorjomi.

    18.12.12


    Просмотров: 434 | Добавил: Borjomi | Рейтинг: 5.0/2
    Всего комментариев: 4
    2 aleksnovojenin  
    1
    Прикольное изобретение! Ты лучший!!!

    3 Borjomi  
    0
    Спасибо:), я Вас знаю? Мне кажется, Вы первый пользователь, зашедший на сайт, которому я не сообщал о своем проекте!)

    1 Morph96  
    2
    Красавец, забабахал такую серьёзную штуку) Успехов, тебе Миша!


    если что, то это Леха)

    4 Borjomi  
    0
    Спасибо Леша! Дальше будут идти более подробные статьи, так что следи за новостями!))

    Имя *:
    Email *:
    Код *:
    Copyright MyCorp © 2024