Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Компьютерное железо
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2013, 00:36   #1
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию Машинный код и архитектура ЭВМ

Здравствуйте многоуважаемые форумчанины!
У меня два вопроса, которые очень давно меня интересовали))
1. Касательно машинного кода. Возможно ли на нем программировать? Действительно очень интересно как создавали первые программы не имея в наличие такие языки программирования как сейчас.
2. Как я знаю, то процессоры состоят из кремня. Как вообще работает программа "внутри" процессора? Почему он именно так работает? Может у кого-нибудь есть история о создание первого процессора?
Возможно многие вопросы глупые или совсем очевидные, но мне действительно очень интересно)
koljsch вне форума Ответить с цитированием
Старый 05.03.2013, 03:11   #2
bitix
Форумчанин
 
Аватар для bitix
 
Регистрация: 21.04.2012
Сообщений: 792
По умолчанию

в то время, когда использовались электронные лампы
Талантливыми не становятся, а рождаются
bitix вне форума Ответить с цитированием
Старый 05.03.2013, 08:23   #3
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Сообщение от koljsch Посмотреть сообщение
2. Как я знаю, то процессоры состоят из кремня. Как вообще работает программа "внутри" процессора?
Там логические вентили, построенные на транзисторах. (на очень маленьких транзисторах).

Рекомендую ознакомиться с такой предметной областью, как "схемотехника". Начать с электрической схемы базовых логических элементов. Начинайте уж с ТТЛ, ибо лампы сложнее.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 05.03.2013 в 08:28.
ROD вне форума Ответить с цитированием
Старый 05.03.2013, 08:52   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

читайте примерно в такой последовательности:
1. транзисторы
2. триггеры (RS, D и т.д.)
3. более сложная системотехника: счётчики, (де)мультиплексоры, (де)шифраторы, регистры, ОЗУ, ПЗУ, умножители, делители
4. еще дальше: АЛУ, процессоры (можно от более простых моделей к более сложным), контроллеры и стандарты шин данных, управление устройствами.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 05.03.2013, 11:17   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Как вообще работает программа "внутри" процессора?
Для начала нужно понять внутреннюю структуру компьютера. Как пример, могу Вам его показать на примере, разработанного мной "Универсального ПК".
Вложения
Тип файла: rar УМПМ.RAR (285.3 Кб, 7 просмотров)
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 05.03.2013, 13:35   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от koljsch Посмотреть сообщение
Здравствуйте многоуважаемые форумчанины!
У меня два вопроса, которые очень давно меня интересовали))
1. Касательно машинного кода. Возможно ли на нем программировать? Действительно очень интересно как создавали первые программы не имея в наличие такие языки программирования как сейчас.
Возможно.
Но довольно обременительно.
Самая большая пробл5ема состоит в том, что пи малейших изменениях в программе меняются практически все адреса.
Т.е. достаточно вставить единственную команду, чтобы пришлось менять кучу констант во всем теле программы.
Для избавления от этой проблемы был создан язык Ассемблера, который однозначно транслировался в машинные коды, но за адресами уже следил сам Ассемблер.
Естественно, для каждого процессора был свой уникальный Ассемблер, т.к. разные процессоры имели разные наборы команд.
И только позднее появились языки высокого уровня, задуманные как раз затем, чтобы одну и ту же программу можно было приспособить к выполнению на разных процессорах. Трансляторы с этх языков, как правило, транслировали единственную строку на языке высокого уровня в последовательность из нескольких команд процессора.
Цитата:
2. Как я знаю, то процессоры состоят из кремня. Как вообще работает программа "внутри" процессора? Почему он именно так работает? Может у кого-нибудь есть история о создание первого процессора?
Возможно многие вопросы глупые или совсем очевидные, но мне действительно очень интересно)
Одно с другим никак не связано.
Процессор можно сделать на лампах, на реле, на транзисторах, на микросхемах, на водяных вентилях (если вместо электрического тока использовать воду) и пр.
Самое главное - архитектура процессора, т.е. как нужно соединить между собой отдельные элементы.
Собственно, первый процессор появился примерно через 100 лет после того, как были созданы элементы, из которых в принципе можно было его создать.
На придумывание архитектуры ушло очень много времени.

Вообще же сегодня основа процессора - полупроводниковый логический элемент, который совершает простейшую логическую операцию. Их несколько основных типов - каждый на нескольких единицах полупроводниковых проборов (например, транзистор и два диода).
Более сложные логические операции набираются из этих элементарных "кирпичиков", а арифметические операции - из логических.
Если интересно - почитайте о булевой алгебре.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Архитектура эвм kjrjgsnjd Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 25.10.2012 20:28
Архитектура ЭВМ Xronikov Помощь студентам 8 11.06.2012 09:36
Как превратить amx файл (то есть машинный код) в исходный в pwn. DenisReaver Помощь студентам 4 19.08.2011 15:40
Машинный код pascal Nicko_mt Паскаль, Turbo Pascal, PascalABC.NET 3 22.05.2011 23:20