реклама на сайте
подробности

 
 
> Как железо "понимает" программу?, очень детский вопрос
Vagant
сообщение Sep 6 2009, 14:34
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820



Здравствуйте,

Поскольку я только учусь проектировать встраиваемые системы то возникают всякие наивные вопросы. Один из них - как железо (hardware) понимает написанную на человеческом языке программу (software) во встраиваемой системе (embedded system)?

В книжках пишут что команда, например

add R2 R1

преобразуется в последовательность кодов которые микропроцессор исполняет. Но мне тогда непонятно откуда берутся эти коды и как микропроцессор их понимает?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
domowoj
сообщение Sep 6 2009, 15:56
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Цитата(Vagant @ Sep 6 2009, 21:34) *
add R2 R1

преобразуется в последовательность кодов которые микропроцессор исполняет. Но мне тогда непонятно откуда берутся эти коды и как микропроцессор их понимает?

Нет процесср не поймет "add R2 R1" , он понимает только код (8 или16 разрядов в засимости от проц.)
Существуют программы именуемые ассемблерами или компиляторами, которые из "add R2 R1" делают код понятный процессору , чтобы выполнить именно эту операцию.
Для лучшего понимания почитайте например Хоровиц "энд" Хилл или Титце "энд"Шенк,
они гуляют в нете в эл. виде


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
Vagant
сообщение Sep 6 2009, 16:09
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820



Цитата(domowoj @ Sep 6 2009, 18:56) *
Нет процесср не поймет "add R2 R1" , он понимает только код (8 или16 разрядов в засимости от проц.)


Так вот я и стараюсь разобраться как процессор понимает коды своих команд. (После компиляции файла на языке Си или Ассемблер создаётся файл с машинными кодами, это понятно.)

А вот почему, например, одно 8-ми (или 16-ричное) число является кодом процессора а другое нет?

P.S. Спасибо, Хоровиц у меня есть - буду читать.

Сообщение отредактировал Vagant - Sep 6 2009, 16:18
Go to the top of the page
 
+Quote Post
Microwatt
сообщение Sep 6 2009, 16:34
Сообщение #4


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(Vagant @ Sep 6 2009, 19:09) *
А вот почему, например, одно 8-ми (или 16-ричное) число является кодом процессора а другое нет?

P.S. Спасибо, Хоровиц у меня есть - буду читать.

Поищите древнюю книгу Б.Соучека. Микропроцессор по молекулам разжеван.
Основу процессора составляет жесткая комбинационная схема с регистром команд на входе. Команда тактовым импульсом защелкивается в регистре и схема выдает все необходимые сигналы на коммутаторы, подключая к арифметическому устройству нужные регистры. В следующем такте результат с выхода АЛУ защелкивается в выходном регистре (аккумуляторе), а во входном - следующая команда.
Поле команды разбивается изготовителем на определенные зоны для описания адресов операндов и, собственно, самой процедуры, которую нужно выполнить. В принципе, формат команды может быть задан произвольным, но под него нужна более сложная в проектировании комбинационная схема.
Как отличаются числа от команд? Обычно, первое слово - команда. В нем, при необходимости и указывают будут ли последующие слова числами или командами и сколько их будет, если команда сложная, из нескольких слов. Все это "расшивается" (дешифруется) все в той же комбинационной схеме при расшифровке поля команды.
Структура команд, полей адресов и данных у разных процессоров крайне разнообразна. Тут можно только самые общие принципы очертить.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 6 2009, 18:49
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Microwatt @ Sep 6 2009, 19:34) *
Поищите древнюю книгу Б.Соучека. Микропроцессор по молекулам разжеван.
Основу процессора составляет жесткая комбинационная схема с регистром команд на входе.

А вот ни фига и Ваш Соучек врет.
Меня учили так, что альтернативой жесткой комбинационной схеме является микропрограммный автомат.
Ну "микро" должно же что-то значить?! smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Microwatt
сообщение Sep 6 2009, 22:56
Сообщение #6


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(Dog Pawlowa @ Sep 6 2009, 21:49) *
А вот ни фига и Ваш Соучек врет.
Меня учили так, что альтернативой жесткой комбинационной схеме является микропрограммный автомат.
Ну "микро" должно же что-то значить?! smile.gif

Та то Вам не все секреты в бурсе рассказывали. В войну синус доходил до семи!
Далеко не все процессоры строят по микропрограммной архитектуре. Эта архитектура громоздка и медленно работающая, хотя позволяет реализовать очень большое количество и очень сложных команд.
Практически все микроконтроллеры сегодня строят по одноцикловой схеме (RISC). Команд мало, но все выполняются быстро и практически за одно время. Микропрограммника, как такового, в них нет, есть одна большая жесткая логика дешифратора команд.
Для понимания вычислительной техники, мне кажется, лучше начать знакомство с вопросом именно с таких процессоров. Хотя, стартеру по-моему, надо для начала с 2И-НЕ разобраться и построить самому на них пару схем вроде десятичного или семисегментного дешифратора.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vagant   Как железо "понимает" программу?   Sep 6 2009, 14:34
- - toweroff   копните сначала в сторону "цифровой автомат...   Sep 6 2009, 15:17
|- - Vagant   Цитата(toweroff @ Sep 6 2009, 18:17) копн...   Sep 6 2009, 15:29
|- - Student Pupkin   Цитата(toweroff @ Sep 6 2009, 19:17) копн...   Sep 6 2009, 19:03
|- - toweroff   Цитата(Student Pupkin @ Sep 6 2009, 23:03...   Sep 6 2009, 22:26
|- - Vagant   Цитата(toweroff @ Sep 7 2009, 01:26) ну з...   Sep 7 2009, 05:31
- - DpInRock   коды придумывает изготовитель микропроцессоров. От...   Sep 6 2009, 15:19
|- - head_sk   Цитата(DpInRock @ Sep 6 2009, 18:19) коды...   Sep 6 2009, 18:44
|- - Designer56   Цитата(head_sk @ Sep 7 2009, 00:44) Я бы ...   Sep 6 2009, 18:49
- - DpInRock   Вы чего это? Процессор - просто проигрыватель кодо...   Sep 6 2009, 15:44
|- - Vagant   Цитата(DpInRock @ Sep 6 2009, 18:44) Вы ч...   Sep 6 2009, 15:49
|- - Vagant   Цитата(Dog Pawlowa @ Sep 6 2009, 21:49) А...   Sep 6 2009, 19:15
- - DpInRock   Производитель процессоров сказал - код такой-то - ...   Sep 6 2009, 16:23
|- - Vagant   Цитата(DpInRock @ Sep 6 2009, 19:23) Прои...   Sep 6 2009, 16:34
|- - vvvvv   Цитата(Vagant @ Sep 6 2009, 20:34) Понятн...   Sep 6 2009, 17:16
|- - Прохожий   Цитата(Vagant @ Sep 6 2009, 20:34) Понятн...   Sep 6 2009, 18:01
- - DpInRock   У процессора нет никаких уровней. Уровни есть у ВА...   Sep 6 2009, 18:37
- - Vagant   Тайм-аут. Ищу Соучека   Sep 6 2009, 18:49
|- - iosifk   Предлагаю посмотреть у меня на сайте цикл статей ...   Sep 7 2009, 04:47
- - DpInRock   ЦитатаМеня учили так, что альтернативой жесткой ко...   Sep 6 2009, 19:03
- - MrYuran   Цитата(Vagant @ Sep 6 2009, 18:34) add R2...   Sep 7 2009, 04:42
|- - Vagant   Цитата(MrYuran @ Sep 7 2009, 07:42) коды ...   Sep 7 2009, 06:16
- - MrYuran   Если объяснять совсем на пальцах, то код команды ч...   Sep 7 2009, 05:32
- - Vagant   В общем, как я понял, команды процессора и их коды...   Sep 7 2009, 08:31
- - Microwatt   Цитата(Vagant @ Sep 7 2009, 11:31) Так чт...   Sep 7 2009, 09:36
- - toweroff   Цитата(Vagant @ Sep 7 2009, 12:31) А в пр...   Sep 7 2009, 10:49
- - Microwatt   Цитата(toweroff @ Sep 7 2009, 13:49) Это ...   Sep 7 2009, 12:22
- - Vagant   Цитата(Microwatt @ Sep 7 2009, 15:22) Да ...   Sep 7 2009, 13:08


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th August 2025 - 18:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01493 секунд с 7
ELECTRONIX ©2004-2016