PDA

Просмотр полной версии : Физика разрядности регистров



KJIaBogaB
11.08.2011, 11:14
Кто может доступно объяснить (возможно привести картинки с формированием сигналов) про разрядность регистров?
Вот я когда самостоятельно изучал ассемблер на х86 я использовал обычные AX,BX,CX,DX регистры ну и прерывания. Понятно, что АХ это разделенные на старший AH и младший AL, которые равны 8 бит, которыми (как целой единицей) оперирует процессор при ADD и подобных коммандах.
А как туда с электрической точки зрения попадают эти 8 битов сразу.
Если кто-то понял, о чем я сумбурю - объясните физику процесса, желательно наглядно как то (не знаю как лучше показать).

Заранее спасибо!

Titus
11.08.2011, 11:23
как туда с электрической точки зрения попадают эти 8 битов сразу.
Если кто-то понял, о чем я сумбурю - объясните физику процесса, желательно наглядно как то (не знаю как лучше показать).
Регистр - это набор однобитных триггеров, каждый из которых может принимать состояние 0 или 1. Допустим, ваш регистр 8-битный. Значит он состоит из 8 триггеров, в каждый из которых можно записать 0 или 1, вот и все. Можно представить в виде пирамидки из детских кубиков, где каждый кубик - это триггер. 8 кубиков поставили друг на друга - это 8-битный регистр. 16 кубиков - 16-битный.

null_device
11.08.2011, 11:43
объясните физику процесса

Все работает, примерно так же, как и с МС памяти (ведь регистр - по сути ячейка пямяти). В первом приближении, с "электрической" точки зрения, вся "механика" похожа. Только "память" процессора, "выбирается" более хитро (вместо адреса ячейки памяти, используется команда чтения\записи регистра\регистровой пары). КОп есть, управляющие сигналы определяющие "местоположение" ("имя" регистра или регистровой пары) и "тип операции" (чтение\запись, инкремент\декремент и т.п.). В ряде случаев, добавляются "данные" для работы с регистром (непосредственно "число", либо указатель на ячейку памяти с которой связана команда).


А как туда с электрической точки зрения попадают эти 8 битов сразу.

Учитывая, что при работе с регистрами, на процессор подается команда (например LD A, n), которая указывает c каким регистром и как работать (чтение или запись). "Внутри" МП происходит "коммутация" управляющих сигналов, соответствующих логике работы данной команды (в случае с LD A, n - число n считывается с шины данных, после "обработки" КОп LD A..).

Viktor2312
11.08.2011, 12:01
KJIaBogaB почитайте про устройство и принцип работы микросхемы КР580ИР82, это как раз и есть 8-ми разрядный регистр. Он состоит из 8-ми однотипных ячеек, блоков. Блок содержит D-триггер "защёлку", при помощи схемы управления происходит стробирование (сохранение информации на входе). Если применить два таких регистра то получится как раз 16-ти разрядный регистр, первый можно обозвать AL, а второй AH. Управлять мы сможем каждым по отдельности или объеденив два сигнала управления, управлять сразу обоими как единым целым, т. е. 16-ти разрядным регистром, который, например обзовём AX.

Есть ещё один вывод управления для перехода в третье состояние (высокоимпедансное) Z-состояние это когда как бы наши выводы подсоединёные к шине данных как бы перерезали ножом, и всё он больше физически не подключён к схеме, в это время мы можем подключить другое устройство, другой такойже регистр и записывать в него информацию, а первый наш регистр с записаной в него информацией пока хранит, то что мы в него записали. Потом мы можем второй регистр наш перевести в 3-е состояние, а с первого убрать сигнал перехода в 3-е состояние и он снова подключится к шине данных и мы сможем производить манипуляции с его содержимым.
Хотя КР580ИР82 больше подходит для буферизации шины адреса.

null_device
11.08.2011, 12:17
почитайте про устройство и принцип работы микросхемы КР580ИР82, это как раз и есть 8-ми разрядный регистр

Можно "начать" с еще более простого - представить регистр "набором" триггеров (например, D-триггеров (http://ru.wikipedia.org/wiki/%D2%F0%E8%E3%E3%E5%F0)), где каждый триггер хранит один бит информации.

Viktor2312
11.08.2011, 12:48
К155ТМ2 - D-триггер и на его основе строить хоть 1024 разрядную систему. А приколисто :) один регистр разрядностью 1024 бита будет содержать 512 микросхем К155ТМ2 :v2_dizzy_facepalm: маленький шкафчик такой (10 плат по 51 микросхеме на каждой).

KJIaBogaB
11.08.2011, 12:56
Всем большое спасибо! Первый же пост Titus очень помог представить логику, хотя мне нужно повторить сначала устройство и принцип работы триггеров :)
Вообще, мне интересно разобраться в схемотехнике простейших ПК (типа одноплатных Спеков) - надо начинать учиться и в 30 лет :)

Viktor2312
11.08.2011, 13:59
KJIaBogaB для того, чтобы понять, надо начинать с изучения в первую очередь обычной ТТЛ логики т. е. микросхемы К155, К555 серии. Так как например тот же Ленинград-1 48Кб состоит почти полностью из этих микросхем, а потом уже можно будет переходить к изучению микропроцессора и его системы команд. Начинать надо с простейшего, постепенно переходя к более сложному.

А так, вообще, желаю удачи в освоении электроники!

P. S. И ещё немного добавлю, для начала изучите работу таких простейших логических элементов как И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ. Так как, например используя только логический элемент И-НЕ, можно построить вычислительную систему любой сложности.

USERHOME
11.09.2011, 22:55
http://zx.pk.ru/attachment.php?attachmentid=29164&stc=1&d=1315766040

http://zx.pk.ru/attachment.php?attachmentid=29165&stc=1&d=1315766098

http://zx.pk.ru/attachment.php?attachmentid=29166&stc=1&d=1315767229

Регистры.... я бы рекомендовал изучить микросхему К155ИР23 (155 или 555 или 1533)
Она как-раз то восьми-разрядный регистр защёлка. На ней можно сделать порт вывода для спекртума и... например управлять 8-ю светодиодами из простого бейсика.. и заодно поизучать на физическом уровне.

Atari
11.09.2011, 23:57
К155ТМ2 - D-триггер и на его основе строить хоть 1024 разрядную систему. А приколисто :) один регистр разрядностью 1024 бита будет содержать 512 микросхем К155ТМ2 :v2_dizzy_facepalm: маленький шкафчик такой (10 плат по 51 микросхеме на каждой).

о аппаратном умножении можно и не мечтать?

*- в оригинальном анекдоте было про минет.

KJIaBogaB
17.09.2011, 00:25
Я изначально задавал вопрос думая возможно о другом и скорее всего неверно сформулировал:
"Если, к примеру, физически у процессора на выводе регистра одна нога (как показано на рисунках А0-А15) - как на неё подать напряжение, чтобы программно поместить туда 8 бит за один такт?
Я прочитал про регистры на википедии, но пока мало что понял :) Да и времени почитать по честному нет совсем. Вечером сажусь форум просмотреть - еле до компа доползаю.
Нарисуйте мне пожалуйста 2 схемы однобитного триггера состоящего из транзисторов с вариантами получения соответственно 0 и 1 при подаче определенного напряжения в схему на соответствующие контакты (так сказать на примерах трубы и воды с кранами "для ламоботов")...
Я начал читать книгу Тищенко - МикроЭВМ своими руками. Занятная книжка. Может прочту и не надо будет объяснять. Там очень хорошо расписано, только времени нет читать - засыпаю на ходу :)

USERHOME
Регистры.... я бы рекомендовал изучить микросхему К155ИР23 (155 или 555 или 1533)
Она как-раз то восьми-разрядный регистр защёлка. На ней можно сделать порт вывода для спекртума и... например управлять 8-ю светодиодами из простого бейсика.. и заодно поизучать на физическом уровне.
А это мне уже советовали, я обязательно изучу. Мне про лампочки привлекла тема - буду пробовать попозжа как начитаюсь :)

USERHOME
17.09.2011, 02:52
Я изначально задавал вопрос думая возможно о другом и скорее всего неверно сформулировал:
"Если, к примеру, физически у процессора на выводе регистра одна нога (как показано на рисунках А0-А15) - как на неё подать напряжение, чтобы программно поместить туда 8 бит за один такт?


К155ИР23 позваляет за 1 такт записать восемь бит (1 байт)
ссылка (http://www.intuit.ru/department/hardware/basdigtech/1/)
ссылка Яндекс картинки (http://images.yandex.ru/yandsearch?ed=1&text=%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0 %BA%D0%B8%D0%B9%20%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D 0%BD%D1%82&p=27&img_url=www.intuit.ru%2Fdepartment%2Fhardware%2Fba sdigtech%2F16%2F16_03.gif&rpt=simage)

Для ТТЛ (транзисторно-транзисторная логика) есть стандартные уровни напряжения для логической еденицы "1" (я не помню точно, но в справочниках оговаривается) от 2,4 вольта до 5 вольт (это всё логическая еденица), а для логического ноля "0" уровни напряжений от 0 вольт до 0,8 вольт. От 0,9 вольт до 2,3 вольта - неопределённое состояние, которое нужно преодолеть за очень короткий промежуток времени (гистерезис при смене состояния). Это спраедливо при напряжении питания логических элементов от 5 вольт.(от 5 вольт - это значит напряжение питания микросхемы = 5 вольт +/- 5% ) (есть и КМОП ТТЛШ CMOS и т.д. разновидности микросхем, которые имеют напряжение питания отличных от 5 вольт 3,3В 12В 15В .......)

(на) Учись понимать таблицу истиности...... понятие как: фронт сигнала, спад, уровень (т.е. вольтаж этих уровней), неопределённое состояние ( толи 0 толи 1 - погрешность в самих микросхемах, зависящих от многих факторов )

Сайт РадиоКот (http://radiokot.ru/start/mcu_fpga/altera/01/)
Есть что поизучать.

P.S. Таблица истиности элемента НЕ (один вход и один выход, используется всего 2 ножки микросхемы + ещё 2 ножки питания всей микросхемы)
Если на входе лог. 1 то на выходе лог. 0
Если на входе лог. 0 то на выходе лог. 1

Ещё "почувствуй" разницу в словах ВХОД, ВЫХОД и ВЫВОД, Смена уровней (переключение напр. с лог 0 на лог.1)

Вход/Выход - это условно (касательно внутренней логики микросхемы), а Вывод - это номер ножки микросхемы.

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

Ну я сам например не всё знаю, изложил как смог.:v2_dizzy_facepalm:

---------- Post added at 02:50 ---------- Previous post was at 02:27 ----------


одна нога.....(как показано на рисунках А0-А15) - как на неё подать напряжение, чтобы программно поместить туда 8 бит за один такт?
Некорректный вопрос
1 нога (физическая) = 1 бит за 1 такт
Подать напряжение с блока питания на физический вывод микросхемы 0 или 5 вольт

---------- Post added at 02:52 ---------- Previous post was at 02:50 ----------

Следом вопросы типа " А как работает транзистор..." сильно не задавать:v2_dizzy_wassup:

KJIaBogaB
17.09.2011, 13:32
USERHOME, большое спасибо за наводку. Я полез по ссылкам и почитал. Всё очень интересно и познавательно, а главное понятно. Сейчас гляжу тоже самое только в видеолекциях на том же интуите. Сайт радиокот тоже рулит.