Включить компьютер без операционной системы

Тут можно хорошенько так по.. флудить...
mordovia1958mail
Сообщения: 8

Сообщение mordovia1958mail » 11 ноя 2017, 15:52

Страдал бессонницей, вот думал, можно ли включить обычный интеловский компьютер (или хотя бы процессор) без операционной системы, типа как атмелку.
Атмелка и иже с ними микроконтроллеры начинают после включения считывать команды из флеш-памяти, с нулевого адреса и подряд дальше (пока не нарвутся на переходы или зацикливания).
А откуда считывает команды обычный процессор при включении? У него же, в отличие от микроконтроллера, памяти нет.
Из биоса? Из кеша? (из планок оперативной памяти или жесткого диска вряд ли, это сложные устройства, которые начинают работать намного позже).
Последний раз редактировалось mordovia1958mail 11 ноя 2017, 15:55, всего редактировалось 1 раз.

mordovia1958mail
Сообщения: 8

Сообщение mordovia1958mail » 11 ноя 2017, 15:54

По идее, что такое операционная система? Это обычная программа, которая при включении запускается как-то достаточно сложно. Типа биос (или какой-то там пускатель) загружает ее в оперативную память с жесткого диска. А если я выдерну микросхему биоса?

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 11 ноя 2017, 15:54

Из биоса, очевидно. Выдернуть можешь попробовать - компьютер не запустится.

mordovia1958mail
Сообщения: 8

Сообщение mordovia1958mail » 11 ноя 2017, 16:04

Посмотрел распиновку современного процессора. Очень много линий питания и земли, буквально целые ряды. А все остальное - обычные линии данных и линии адреса.
То есть процессор - просто большое арифметическое устройство , типа КР1533ИП3. Которое можно попробовать подергать с помощью вспомогательного микроконтроллера и вспомогательной памяти.

Изображение
Processor_Pinout.gif

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1570
Откуда: Киев

Сообщение iEugene0x7CA » 11 ноя 2017, 20:25

mordovia1958mail писал(а):То есть процессор - просто большое арифметическое устройство , типа КР1533ИП3.

Честно скажу, в самых современных процессорах не разбираюсь, но могу подсказать как работали более классические, вроде Z80/i8085/i8086-i80386/MC6800/MOS6502 и т.д.
Фактически, они представляли собой в одном корпусе: дешифратор инструкций, АЛУ, группу регистров быстрого доступа(в т.ч. и подсоединенных к АЛУ), регистры с флагами прерываний, шину данных и адреса(прямо физическую, ножки в параллель), и вход такта, который продвигал шину адреса на одно значение вперед по выполнению машинного цикла.

Кто шарит внутреннюю структуру микроконтроллеров — микропроцессорные системы фактически и представляли собой микроконтроллер в современном смысле, просто располагался он на плате, а не на одном чипе.
Микропроцессорный подход имел свои определенные ништяки, так как можно было фактически из конструктора(микропроцессорного набора) собрать в аккурат такую систему как надо.
Т.е. повесить таймеров сколько нужно, оперативы, ROM'ы, UART'ов, GPIO, были всякие хитрые чипы вроде готовых генераторов звука, генераторов видео, внешних контроллеров оперативной памяти, готовых экранчиков(кстати, до сих пор многие поддерживают подключение к шинам i8080/MC6800), т.д.

Насчет более современных систем, они имеют примерно вот такую структуру:

Motherboard_diagram.svg.png

Северный мост — система, подвязывающая динамическую оперативную память и высокоскоростные шины вроде PCI Express к CPU.
Южный мост — это контроллер низкоприоритетной периферии, через неё ведется обмен данными со всякими USB, жесткими дисками, и периферией вроде звуковой карты, Ethernet-контроллера, т.д.
Почитать про обе системы можно тут: https://en.wikipedia.org/wiki/Northbridge_(computing) и https://en.wikipedia.org/wiki/Southbridge_(computing)

Тут кстати упоминалось вытаскивание BIOS'а. Стоит уточнить, что микросхема эта является не более чем прошивкой для южного моста — это прямо физически просто SPI'ная флешка, которую можно вытащить и записать туда что угодно.
 Когда-то баловался, мож кому будет любопытно. Плеер на микросхеме из материнки:

P.S. Насчет задумки, дергать современный CPU микроконтроллером можно, но фактически создавать ты будешь тот самый Northbridge и Southbridge, обычно представляющие из себя быстрые ASIC. ;)

super_bum
Сообщения: 229
Откуда: Earth

Сообщение super_bum » 12 ноя 2017, 13:08

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

Аватара пользователя
N1X
Сообщения: 321
Откуда: Беларусь, Гомель

Сообщение N1X » 13 ноя 2017, 16:51

iEugene0x7CA писал(а):Стоит уточнить, что микросхема эта является не более чем прошивкой для южного моста — это прямо физически просто SPI'ная флешка, которую можно вытащить и записать туда что угодно.
 Когда-то баловался, мож кому будет любопытно. Плеер на микросхеме из материнки:

P.S. Насчет задумки, дергать современный CPU микроконтроллером можно, но фактически создавать ты будешь тот самый Northbridge и Southbridge, обычно представляющие из себя быстрые ASIC. ;)

Неа, в этой флехе BIOS. Базовая система ввода-вывода. И стартовый адрес как раз в ней. Т.е. код с нее выполняет ЦП. А уже в этом коде - стартовая проверка системы, установка управляющих регистров чипсета, настройка и старт контроллера ОЗУ, подсистемы видео и прочего, потом что надо копируется в ОЗУ, выполняется куча всего и заканчивается передачей управления загрузчику ОС.

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1570
Откуда: Киев

Сообщение iEugene0x7CA » 14 ноя 2017, 10:57

Super_bum, в совсем современных системах действительно — либо северный мост внедрен в сам процессор, а на материнской плате находится южный...
Либо северный и южный мосты объединяются на одном внешнем кристалле. В общем, зависит от конкретной реализации.

N1X писал(а):Неа, в этой флехе BIOS. Базовая система ввода-вывода. И стартовый адрес как раз в ней. Т.е. код с нее выполняет ЦП. А уже в этом коде - стартовая проверка системы, установка управляющих регистров чипсета, настройка и старт контроллера ОЗУ, подсистемы видео и прочего, потом что надо копируется в ОЗУ, выполняется куча всего и заканчивается передачей управления загрузчику ОС.

Ну, имелось в виду, что BIOS — это не физический объект, а просто прошивка.
Физическим объектом, который вытаскаивается — являются микросхемы вот такого типа: https://www.winbond.com/resource-files/ ... 242015.pdf
Очень легко читаюстя микроконтроллером, всем их рекомендую. :)

А вот уже как и откуда процессор читает данные — не знаю, в этом вопросе не шарю.

Вернуться в «Изба-флудильня»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей