Модераторы: Се ля ви

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> С чего всё началось? 
:(
    Опции темы
batigoal
Дата 21.4.2005, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Дрон
Валяй, у меня сегодня работы много smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
EnrolL
Дата 21.4.2005, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 21.12.2004

Репутация: нет
Всего: нет



Цитата
Итак.
Языки высокого уровня, такие как Паскаль или С++ сначала компилируются в машинные коды.
Как происходит компиляция это целый университетский курс, так что в двух словах объяснить сложно, но попрообую smile

Сначала исходный текст разбивается на "лексемы", т.е. находятся все слова for, do, переменные и прочие символы.
Дальше, грубо говоря, в компиляторе задано соответствие каждой комбинации слов и машинного кода.
Т.е., например, цикл for превращается в некоторый набор чисел, и т.д. Языки высокого уровня характерны тем, что из одной команды возникает довольно много машинного кода. Ассемблер, кстати, тут совсем не причём.

Язык ассемблера, грубо говоря, это запись машинных кодов при помощи слов, так называемых мнемоник. Там каждой команде соответсвует несколько байт в машинном коде. Например команде INC AX, соответствует один байт с шестнадцатеричным кодом 40.

Как именно выполняются машинные коды расскажу ещё чуть позже.

Спасибо, чуть чтуь светлее стало, давай в тмо же духе.
PM MAIL   Вверх
Dexter
Дата 21.4.2005, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Цитата
ну просто неясно откуда проц знает что от него хотят, откуда он занет тчо это 0 и 1, где у него память.


Процессор же в принципе микросхема, тока сложная... Очень... На контакт поступает импульс 0 или 1, они обрабатываются и на выходе получаются то же 0 и 1, тока другие... Вобщем так, я думаю....


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Дрон
Дата 22.4.2005, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 93



Цитата(Dexter @ 21.4.2005, 23:26)
Процессор же в принципе микросхема, тока сложная... Очень... На контакт поступает импульс 0 или 1, они обрабатываются и на выходе получаются то же 0 и 1, тока другие... Вобщем так, я думаю....

Правильно думаешь smile
Вся цифровая электроника работает с двоичными числами, т.е. всё представляется в виде 0 и 1. И задача любого электронного устройства (проца, калькулятора, часов) заключается в преобразовании одних последовательностей нулей и единиц в другие.
Примитивнейшими элементами, из которых состоит простейший процессор являются блоки выполняющие операции И, ИЛИ, НЕ, а также регистры, хранящие данные (ну и позволяющие их изменять).

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

Всё работает так:
1. прочитал вход
2. выполнил одни действия И/ИЛИ/НЕ с битами входа и битами состояния и получил биты выхода
3. выполнил другие действия И/ИЛИ/НЕ с теми же битами и получил номер следующего состояния
4. запомнил состояние и вернулся к 1.

Состояния могут быть например такие:
- ожидание команды
- ожидание номера регистра назначения
- ожидание номера исходного регистра
- ожидание первого байта данных
- ожидание второго байта данных
и т.п.

Например в моей курсовой, где надо было спроектировать электронные часы, их "процессор" содержал всего семь состояний. Но и функций то у них кот наплакал smile
Вообще, всё это рассказывается в курсе теории автоматов.

Если есть какие-то вопросы и замечания, буду рад ответить.

Это сообщение отредактировал(а) Дрон - 22.4.2005, 00:40


--------------------
Да. Именно так.
PM   Вверх
EnrolL
Дата 22.4.2005, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 21.12.2004

Репутация: нет
Всего: нет



Хоро а откуда он знает что 0 это 0 а не 1 и 1 это 1 а не наоборот. И что из себя представляет ригистр.И ещо где можно почерпнуть про микроэлектронику в краце, что б понять как эти импульси происходят.
PM MAIL   Вверх
Дрон
Дата 22.4.2005, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 93



0 - есть напряжение
1 - нет напряжения

или наоборот смотря, что за устройство smile

Цитата(EnrolL @ 22.4.2005, 05:03)
И что из себя представляет ригистр.

Сам уже толком не помню.


Цитата(EnrolL @ 22.4.2005, 05:03)
И ещо где можно почерпнуть про микроэлектронику в краце, что б понять как эти импульси происходят.

В книжках, в интернете smile
Ничего конкретного посоветовать не могу.



--------------------
Да. Именно так.
PM   Вверх
batigoal
Дата 22.4.2005, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Цитата(EnrolL @ 22.4.2005, 04:03)
а откуда он знает что 0 это 0 а не 1 и 1 это 1 а не наоборот

Это зависит от способа кодирования, который, в принципе, может быть различным. Например, можно "договориться", что положительный заряд - это 1, а отрицательный - это 0. Или если есть заряд - 1, если нет - 0. Или намагниченный учаток - 1, размагниченный - 0. И т.д.

Цитата(EnrolL @ 22.4.2005, 04:03)
что из себя представляет ригистр

Регистры - группа блоков в процессоре, в которых он хранит данные, с которыми в данный момент работает. Сейчас наиболее распространены 32-разрядные процессора, но уже идут 64-разрядные. Это значит, что он оперирует 32-разрядными операторами и регистры у него такие же.
32 разряда - это возможность хранить последовательность из 32 нулей и единиц (1100100101010000...). То есть, по сути, регистр - это просто 32 примитивных ячейки.
Добавлено @ 10:56
Забыл я выложить инфу вчера. Пьяный был. Сейчас напоминалку поставлю.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Dexter
Дата 22.4.2005, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Цитата
Хоро а откуда он знает что 0 это 0 а не 1 и 1 это 1 а не наоборот.


Код

     1          1  1
   |---|      |------|
   |   |      |      |
_0_|   |_0__0_|      |_0_



Вот график напряжения на контакте процессора, вот нули и единицы обозначены, теперь понял как узнает?


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
batigoal
Дата 22.4.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Кстати, в сетевых технологиях часто применяется так называемый манчестерский код. Объяснять не буду, просто скажу - его используют из-за того, что если в вышеприведенном способе будет несколько одинаковых символов подряд, то оборудование может "сбиться".


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Dexter
Дата 22.4.2005, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Ну это я для простоты понимания...


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
EnrolL
Дата 22.4.2005, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 21.12.2004

Репутация: нет
Всего: нет



Мммм...
Так а как проц понимает что слово for это слово fo, у него что етсь своя комбинация чесел 110010001110 - что то в виде этого. И как тогда понять какая алгоритм существует.
PM MAIL   Вверх
Dexter
Дата 22.4.2005, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



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


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
EnrolL
Дата 22.4.2005, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 21.12.2004

Репутация: нет
Всего: нет



всё ясно, спасибо дрзья разжывали мне.
PM MAIL   Вверх
EnrolL
Дата 22.4.2005, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 21.12.2004

Репутация: нет
Всего: нет



всё ясно, спасибо дрзья разжывали мне.
PM MAIL   Вверх
batigoal
Дата 24.4.2005, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Нашел наконец этот конспект. Там есть принципы построения ЭВМ, работы процессора, видов памяти и т.д., но здесь не прикрепить - больше мегабайта в архиве получается. Если есть у кого возможность, может, выложите на фтп?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО:

• вопросы перспективного развития методов написания ПО;

• изменяющиеся языки и методологии программирования;


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Философия программирования | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.