Всем привет, меня интересует два вопроса.
Как процессор разбирает opcode, и узнает как выполнить их?
Есть набор opcode из придуманного процессор(к примеру DCPU-16),
как спроектировать из этих данных, свой процессор и все нужное?
Очень интересно почитать книги или статьй, где подробно все рассказывается,
с указанием страниц.
Меня интересует два вопроса
Moderator: Shaos
-
- Junior
- Posts: 3
- Joined: 30 Jul 2017 08:04
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Меня интересует два вопроса
Надеюсь, это не флуд... 
Процессор разбирает opcode, и узнает как выполнить их с помощью устройства
управления и синхронизации, представляющего собой конечный автомат.
Выполнить его можно двумя примерно равнозначными способами:
1) посредством ПЗУ микрокоманд, и тогда процессор называют softwared,
см. пример: viewtopic.php?p=120640#p120640
2) посредством жесткой логики, и тогда процессор называют hardwared,
см. пример: viewtopic.php?p=114645#p114645
Процессоры на жесткой логике, обычно, быстрее, но процессоры с ПЗУ микрокоманд
позволяют оперативно систему команд изменить.
Что же касается литературы по этим вопросам, то у нас её подобрано полно:
viewforum.php?f=66
Я не могу порекомендовать книгу, где всё бы это было написано складно, просто и понятно,
но, видимо, вот эта:
viewtopic.php?f=66&t=16630
и вот эта:
viewtopic.php?f=66&t=9858&p=94757
хотя и другие там у нас в подборке есть не хуже...

Процессор разбирает opcode, и узнает как выполнить их с помощью устройства
управления и синхронизации, представляющего собой конечный автомат.
Выполнить его можно двумя примерно равнозначными способами:
1) посредством ПЗУ микрокоманд, и тогда процессор называют softwared,
см. пример: viewtopic.php?p=120640#p120640
2) посредством жесткой логики, и тогда процессор называют hardwared,
см. пример: viewtopic.php?p=114645#p114645
Процессоры на жесткой логике, обычно, быстрее, но процессоры с ПЗУ микрокоманд
позволяют оперативно систему команд изменить.
Что же касается литературы по этим вопросам, то у нас её подобрано полно:
viewforum.php?f=66
Я не могу порекомендовать книгу, где всё бы это было написано складно, просто и понятно,
но, видимо, вот эта:
viewtopic.php?f=66&t=16630
и вот эта:
viewtopic.php?f=66&t=9858&p=94757
хотя и другие там у нас в подборке есть не хуже...
iLavr
-
- Junior
- Posts: 3
- Joined: 30 Jul 2017 08:04
Re: Меня интересует два вопроса
Lavr надеюсь что нет.
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Меня интересует два вопроса
Некоторые посетители форума были в восторге от книги Ч.Петцольда "Код.Тайный язык информатики"
в плане - разобраться на простом уровне, как работает процессор...
И вроде бы даже учебный пример из этой книги повторили в эмуляции.
Ну на мой взгляд - книга, как книга, не лучше и не хуже других...
в плане - разобраться на простом уровне, как работает процессор...
И вроде бы даже учебный пример из этой книги повторили в эмуляции.
Ну на мой взгляд - книга, как книга, не лучше и не хуже других...
iLavr
-
- Junior
- Posts: 3
- Joined: 30 Jul 2017 08:04
Re: Меня интересует два вопроса
AlexanderZh, а ссылочку можно?
-
- Senior
- Posts: 152
- Joined: 31 Mar 2012 16:50
- Location: 93.73.80.128
Re: Меня интересует два вопроса
Вот прикольная схема CPU! http://www.bradrodriguez.com/papers/piscedu2.htm Использует в качестве "таблицы микрокоманд" или "устройства управления" всего одну 16bit микрокоманду! а потому и ROM для нее на одно 16bit слово сделанно в виде проводов закороченных на землю или +5в.
Это насамделе вид ULTIMATE RISC процессора (на русской вики он называется "крайний случай RISC", у него вообще только 1 команда а потому в коде программы ее оп-код указывать не нужно).
Еще бывает MOVE RISC процессор у которого только 1 команда MOVE опкод которой тоже смысла указывать нету, а программа его состоит из пар адресов (первый адрес в паре это откуда а другой куда). Вот такой проц имеет 3 встроенных регистра: 1-й счетчик текущего адреса программы (аналог PC), 2-й он загружает в первом цикле выполнения адресом источника, 3-й во втором цикле загружается адресом приемника, в третьем и четвертом циклах он пересылает слово из источника в приемник. В адресном пространстве такого процессора висит не только ROM и RAM, а также сам регистр PC, пачка констант (prime numbers), ALU и еще 100500 всяких ALU-типа вычислителей типа умножителя 1802ВР3... Выполнение проги в таком процессоре чистые пересылки между регистрами с константами (ROM), памятью и регистрами I/O.
Это насамделе вид ULTIMATE RISC процессора (на русской вики он называется "крайний случай RISC", у него вообще только 1 команда а потому в коде программы ее оп-код указывать не нужно).
Еще бывает MOVE RISC процессор у которого только 1 команда MOVE опкод которой тоже смысла указывать нету, а программа его состоит из пар адресов (первый адрес в паре это откуда а другой куда). Вот такой проц имеет 3 встроенных регистра: 1-й счетчик текущего адреса программы (аналог PC), 2-й он загружает в первом цикле выполнения адресом источника, 3-й во втором цикле загружается адресом приемника, в третьем и четвертом циклах он пересылает слово из источника в приемник. В адресном пространстве такого процессора висит не только ROM и RAM, а также сам регистр PC, пачка констант (prime numbers), ALU и еще 100500 всяких ALU-типа вычислителей типа умножителя 1802ВР3... Выполнение проги в таком процессоре чистые пересылки между регистрами с константами (ROM), памятью и регистрами I/O.
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Меня интересует два вопроса
Мне лично кажется, что если вопрос поставлен так:
http://www.galacticelectronics.com/Simple4BitCPU.HTML
Это простейший понятный и работоспособный пример процессора с ПЗУ микрокоманд.
Если нет желания читать всё это на английском, то я сам лично с этого проекта начинал:
viewtopic.php?f=92&t=9213
Для него на отечественной элементной базе есть схема электрическая принципиальная,
и в топике Stupid PIC лежат две работающие модели под EWB и под Proteus.
То самый прозрачный пример на эту тему, это:Как процессор разбирает opcode, и узнает как выполнить их?
http://www.galacticelectronics.com/Simple4BitCPU.HTML
Это простейший понятный и работоспособный пример процессора с ПЗУ микрокоманд.
Если нет желания читать всё это на английском, то я сам лично с этого проекта начинал:
viewtopic.php?f=92&t=9213
Для него на отечественной элементной базе есть схема электрическая принципиальная,
и в топике Stupid PIC лежат две работающие модели под EWB и под Proteus.
iLavr