Внутреннее устройство МК. Сделать свой собственный МК

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Внутреннее устройство МК. Сделать свой собственный МК

Сообщение mixon46 »

Сколько бы кот не читал теории все равно без практики нечего непонятно. Я не могу понять. Как оно там все связано. Мк имеет 32 регистра. 1 регистр 8 бит. За один тактовый импульс выполняется одна команда. Мк имеет три шины данных. Каждая шина 8 бит. Одна шина управления. Другая шина данных. Третья шина ввода вывода. К АЛУ идут три эти шины. АЛУ складывает, вычитает, умножает(сдвигает), делит, сравнивает и еще много много чего вытворяет. Все это он по 8 битной шине выплевывает куда то. Как то сохраняет. И снова считает, считает, считает. И не по одной схематической схеме я полностью во всем этом не разобрался. А хотелось бы:(
Реклама
Аватара пользователя
DrGandalf
Встал на лапы
Сообщения: 110
Зарегистрирован: Пн дек 03, 2012 19:31:53
Откуда: Санкт-Петербург

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение DrGandalf »

А с какой целью вы это хотите изучить? В чем конкретно хотите разобраться? Как собираются базовые логические элементы, триггеры, ячейки памяти и т. п. из транзисторов?
Реклама
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение mixon46 »

как собраны логические элементы и тригеры на транзисторах это я немного знаю. читал. а вот как МК на этих логических элементах собран. в интернете нигде не видел. видимо коммерческая тайна производителей. а так хотелось бы узнать. вам наверное тоже? Я вот думаю. 32 регистра по 8 бит. Это что получается к АЛУ идет 256 проводков? И из него же выходит эти 256?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25220
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение КРАМ »

К АЛУ идет ОДНА шина в 8 проводников данных (все регистры запараллелены) и 32 линии идут в дешифратор адреса, который в свою очередь сидит на шине адреса МК.
Кроме этого есть 2 линии синхронизации (чтение-запись и строб-защелка)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Goodefine
Держит паяльник хвостом
Сообщения: 906
Зарегистрирован: Ср апр 16, 2008 13:22:54
Откуда: Приднестровье, Тирасполь

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение Goodefine »

mixon46 писал(а):... а вот как МК на этих логических элементах собран. в интернете нигде не видел. видимо коммерческая тайна производителей...

Смотря кто производитель ))) Если поискать, есть готовые проекты самодельных (вернее самописных) процессоров, выполненных на ПЛИС. Своя архитектура, система команд и т.д. Т.е. лепили себе "идеальный" процессор.
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Реклама
Аватара пользователя
DrGandalf
Встал на лапы
Сообщения: 110
Зарегистрирован: Пн дек 03, 2012 19:31:53
Откуда: Санкт-Петербург

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение DrGandalf »

Ага, или из 74xx микросхем :))
Реклама
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение mixon46 »

к АЛУ идет 8 и получается выходит 8? Или эти восемь и как вход и как выход работают?

я тоже допустим хотел бы слепить себе самопальный профессор. Мне это интересно. Это как "конструктор" собирать.
Enman
Друг Кота
Сообщения: 7774
Зарегистрирован: Сб янв 29, 2011 00:28:48

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение Enman »

Один канал 16и-разрядного центрального процессора ( без памяти программ, только 16 регистров общего назначения, без устройств ввода-вывода) состоял из порядка 800 корпусов кмоп-серии в 1980х годах... Так что для домашнего повторения мало подходит... :)
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение mixon46 »

16 разрядный это слишком много. А вот 8 разрядов нормально. Хотя на логических микросхемах тоже будет слишком много. Можно 4 разрядную сделать. Ну это я так думаю. Хотя представления даже не имею как это выглядет
Enman
Друг Кота
Сообщения: 7774
Зарегистрирован: Сб янв 29, 2011 00:28:48

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение Enman »

Сначала процессору задаётся система команд, которые он должен выполнять. Потом выбирается архитектура (алу, где какие регистры что будут хранить и т.д.), способы выборки и расшифровки команд, операндов. На основании выбранного "железа" потом разрабатываются временные диаграммы выполнения КАЖДОЙ команды. Разрабатываются протоколы обмена с памятью и внешними устройствами...Потом паяем макет, и прибавляя очередную единичку в счётчике адреса команд добиваемся её выполнения... :)
В общем, прочитать обо всём можно, но самому браться за это не стоит, не зря в таких конструкторских бюро по 5 тыс. человек работало (разработкой процессора и обвязки занималось конкретно человек до 200, на разработку и наладку макета - год-два). Благо сейчас можно пользоваться готовыми процессорами.
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение mixon46 »

я видел видео о том что человек сделал простой профессор на реле. очень интересно стало как так оно все работает
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3870
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение Engineer_Keen »

Я как-то в протеусе пытался собрать на отдельных логических элементах подобие AVR, но потом купил демо-платку с ПЛИСиной, поставил квартус, и собрал контроллер на нем), там без учета регистров и ОЗУ больше 2К логических элементов получилось, так что думаю в реальности это задачка не из легких.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25220
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение КРАМ »

mixon46 писал(а):к АЛУ идет 8 и получается выходит 8? Или эти восемь и как вход и как выход работают?

Шина данных двунаправленная. В каждом цикле обмена она работает только в одну сторону. Это обеспечивается шинными формирователями каждого подключенного к этой шине устройства. Направление передачи переключается сигналами синхронизации шины.
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение kalobyte »

мы в пту собирали из логических блоков сумматор - самое простое, что есть в процессоре
есть старые книги, там можно почитать

если в паре слов, то вот
http://neerc.ifmo.ru/wiki/index.php?tit ... 0%BE%D1%80
схема сумматора на 1 бит и 2 входа и 1 выход
принимаем эту схему за черный ящик

теперь строим сумматор на 4 бита из черных ящиков по такой схеме
http://neerc.ifmo.ru/wiki/index.php?tit ... 0%BE%D1%80

блок вычитателя сделан по такому же принципу

есть еще блок декодера команд
на него приходит некое число например 8 или 16 бит и оно разбивается на части по битам
например 4 бита зарезервированны на команды, остальное может быть данными

более подробно надо читать в книгах про это дело, но на русском языке нету хороших книг
я только в пту понял все это дело, хотя до этого много читал
тематические ответы только в форуме, в приват не пишите
Аватара пользователя
olovo
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт янв 31, 2012 22:43:10

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение olovo »

интересно правильно ли понимаю - сторожевой таймер, независимый, причем включен всегда (если не выключить в первые 4 такта). Его назначение при переполнении сбрасывать МК, т.е. как бы штатный резет получается? на случай если повиснет так сказать или зачем? п предвидели проблему зависаний? :)) однако его отключают получается в большинстве программ в которых данные нужны дольше 6 секунд?!
Аватара пользователя
olovo
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт янв 31, 2012 22:43:10

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение olovo »

и ещё одна мысль на рассмотрение, по логике самого МК, как я понимаю процессор умеет лишь перемножать цифры (в которые преобразованны данные) в соответствии с другой таблицей цыфр (программа, ведь по итогу как я понимаю она становится тоже цыифрами) на основании некой математической модели. потом при помощи соседних модулей переводит цифры в нужные нам сигналы на ножках.
ЗЫ: МК очень интересная тема :) :) :)
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3870
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение Engineer_Keen »

olovo писал(а):интересно правильно ли понимаю - сторожевой таймер, независимый, причем включен всегда (если не выключить в первые 4 такта)

У разных контроллеров по-разному, у кого-то включается выключается фьюзами, у кого-то программно, у кого-то и так и так.
olovo писал(а):Его назначение при переполнении сбрасывать МК, т.е. как бы штатный резет получается? на случай если повиснет так сказать или зачем? п предвидели проблему зависаний? :))

Да, на случай зависания в том числе, и проблема далеко не всегда может быть в программе. Может быть сбой по питанию или нештатная комбинация входных сигналов (прерываний например), которую нельзя учесть в программе.
Но его не всегда используют для сброса. Например можно им выводить контроллер из спячки (в некоторых режимах контроллеры просыпаются только от прерывания по уровню или от вачдога - все остальное просто отключено).
Аватара пользователя
Panda_Y2K
Грызет канифоль
Сообщения: 258
Зарегистрирован: Пт сен 23, 2011 06:44:41
Откуда: ЮФО
Контактная информация:

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение Panda_Y2K »

Вот народ процессоры изборетает :), очень интересно почитать, даже оказывается есть такое сообщество.
http://www.bigmessowires.com/bmow1/
http://www.homebrewcpu.com/
http://web.cecs.pdx.edu/~harry/Relay/index.html
http://www.holmea.demon.co.uk/Mk1/Architecture.htm
http://www.mycpu.eu/
http://www.timefracture.org/D16.html
http://cpuville.com/index.htm
http://www.galacticelectronics.com/Simple4BitCPU.HTML
http://www.ibmsystem3.nl/hjs22/
Это сообщество внизу есть кнопки next и prev для перехода к следующему сайту
А вот здесь интересное обсуждение было по самопальным процессорам http://www.balancer.ru/tech/forum/2011/ ... .6947.html
Тут на плиске avr клонировали http://www.marsohod.org/index.php/projects/66-makeavr
Вот тоже интересный сайт, народ самодельные процы придумывает и несамодельные обсуждает http://www.nedopc.org/forum/viewtopic.php?t=9182
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение YS »

а вот как МК на этих логических элементах собран. в интернете нигде не видел.


Схема МК в обычном понимании и не хранится. Обычно МК описывают на VHDL, Verilog или чем-то таком, и переводят сразу в технологические файлы для изготовления пластин.

Да и, в общем, схема МК как таковая лишена смысла - она настолько сложна, что осознать ее одним махом не получится.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
Panda_Y2K
Грызет канифоль
Сообщения: 258
Зарегистрирован: Пт сен 23, 2011 06:44:41
Откуда: ЮФО
Контактная информация:

Re: Внутреннее устройство МК. Сделать свой собственный МК

Сообщение Panda_Y2K »

Тем не менее в институтах изучают структуру, принципы работы и даже принципиальные схемы всех частей процессора. На пример по поиску "Арифметическо-логическое устройство" выскакивает ссылка на википедию, где приведена именно принципиальная схема АЛУ http://ru.wikipedia.org/wiki/%C0%F0%E8% ... 1%F2%E2%EE
Да и по моим ссылкам можно найти схемы этих самодельных компьютеров.
Конечно для современных суперсложных CPU так может быть и есть, как Вы пишите.
А все равно прикольно народ развлекается :)
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Ответить

Вернуться в «МЯЯЯУ!»