Если процессор ассоциируют с "мозгами" компьютера, то материнскую плату можно представить, как "тело" компьютера, которое собирает "до кучи" все компьютерные модули и организует их работу. С течением времени многие компьютерные составляющие (видео, звук, разнообразные контроллеры) интегрировались в материнскую плату и стали ее неотъемлемой частью. Сейчас материнская плата - это сложный электронный узел, составляющий остов компьютерной системы.
Постоянное запоминающее устройство (ПЗУ)
Постоянная память (ROM - Read Only Memory) предназначена только для считывания информации, пользователь не может менять информацию ПЗУ.
ПЗУ (системное ПЗУ) является энергонезависимым устройством и содержит следующие программы: BIOS (начальная загрузка системы), POST (начальное тестирование), Setup BIOS (информация о настройках БИОСа в CMOS).
Оперативное запоминающее устройство (ОЗУ)
Оперативная память (RAM - Random Access Memory) предназначена, как для считывания информации, так и для ее записи.
ОЗУ включает контроллер оперативной памяти и средства подключения модулей оперативной памяти. Физически ОЗУ выполняется на отдельных небольших планках (с впаяными микросхемами), которые устанавливаются в специальные разъемы (слоты) на материнской плате.
В ОЗУ размещается вся текущая информация (программные коды, данные), необходимая для работы компьютера. Центральный процессор может работать только с ПЗУ и ОЗУ, т.е., чтобы процессор мог получить информацию с жесткого диска, компакт-диска, флэш-носителя - эта информация должна быть сначала помещена в оперативную память из которой потом процессор будет ее считывать.
Память CMOS
Также как и ПЗУ является "как бы" энергонезависимой памятью, поскольку питается от небольшой батарейки (аккумулятора), размещенной на материнской плате. Когда срок действия батарейки заканчивается (3-5 лет), то компьютер выдает сообщение об ошибке - батарейку необходимо заменить. Память CMOS (КМОП-память) хранит данные о конфигурации компьютера, параметрах системы и другую служебную информацию, необходимую для нормальной загрузки и функционирования операционной системы.
Часы реального времени
RTC (Real Time Clock) - ведет отсчет реального времени. Часы продолжают функционировать и после отключения компьютера, питаясь от КМОМ-батарейки. Обычно CMOS-память и RTC физически расположены в одной микросхеме.
Блок обработки прерываний
Служит для прерывания текущего хода событий и выполнения программы по сигналу от некоторых компонентов материнской платы или подключенных периферийных устройств. Имеет 15 входов.
Блок прямого доступа к памяти
Содержит 7 каналов прямого доступа и предназначен для прямого обмена данными между устройствами компьютера, минуя центральный процессор.
Таймер
Предназначен для отсчета временных интервалов и подачей по специальным линиям управляющих сигналов.
Тактовый генератор
Если в нашей повседневной жизни единицей отсчета времени является секунда, то в компьютере - это такт. Все события в компьютерной системе происходят в строго отведенной последовательности, а время работы измеряется в одинаковых интервалах. Тактовая частота (синхросигнал) задает скорость работы компьютера. Формирует тактовую частоту - тактовый генератор. На основе тактовой частоты вырабатывается системная частота, которая формирует рабочие частоты всех шин и блоков компьютера.
Перечисленные выше элементы всегда присутствуют на материнской плате IBM-компьютера.
Учитывая, что 8 букв можно переставить примерно 40 тысячами можно просто запустить поиск в ширину, сохранить для всех перестановок то, из какой строчки они получились, и потом восстановить ответ для строчки abcdefgh.
while not to_process.empty(): s, prev = to_process.get() if s in prec: continue for i in range(7): for j in range(i + 1, 8): if i == 0: next_s = s[j::-1] + s[j+1:] else: next_s = s[:i] + s[j:i-1:-1] + s[j+1:] if next_s not in prec: to_process.put((next_s, s)) prec[s] = prev
current = "abcdefgh" print(current) while prec[current] is not None: current = prec[current] print(current)
Если процессор ассоциируют с "мозгами" компьютера, то материнскую плату можно представить, как "тело" компьютера, которое собирает "до кучи" все компьютерные модули и организует их работу. С течением времени многие компьютерные составляющие (видео, звук, разнообразные контроллеры) интегрировались в материнскую плату и стали ее неотъемлемой частью. Сейчас материнская плата - это сложный электронный узел, составляющий остов компьютерной системы.
Постоянное запоминающее устройство (ПЗУ)Постоянная память (ROM - Read Only Memory) предназначена только для считывания информации, пользователь не может менять информацию ПЗУ.
ПЗУ (системное ПЗУ) является энергонезависимым устройством и содержит следующие программы: BIOS (начальная загрузка системы), POST (начальное тестирование), Setup BIOS (информация о настройках БИОСа в CMOS).
Оперативное запоминающее устройство (ОЗУ)Оперативная память (RAM - Random Access Memory) предназначена, как для считывания информации, так и для ее записи.
ОЗУ включает контроллер оперативной памяти и средства подключения модулей оперативной памяти. Физически ОЗУ выполняется на отдельных небольших планках (с впаяными микросхемами), которые устанавливаются в специальные разъемы (слоты) на материнской плате.
В ОЗУ размещается вся текущая информация (программные коды, данные), необходимая для работы компьютера. Центральный процессор может работать только с ПЗУ и ОЗУ, т.е., чтобы процессор мог получить информацию с жесткого диска, компакт-диска, флэш-носителя - эта информация должна быть сначала помещена в оперативную память из которой потом процессор будет ее считывать.
Память CMOSТакже как и ПЗУ является "как бы" энергонезависимой памятью, поскольку питается от небольшой батарейки (аккумулятора), размещенной на материнской плате. Когда срок действия батарейки заканчивается (3-5 лет), то компьютер выдает сообщение об ошибке - батарейку необходимо заменить. Память CMOS (КМОП-память) хранит данные о конфигурации компьютера, параметрах системы и другую служебную информацию, необходимую для нормальной загрузки и функционирования операционной системы.
Часы реального времениRTC (Real Time Clock) - ведет отсчет реального времени. Часы продолжают функционировать и после отключения компьютера, питаясь от КМОМ-батарейки. Обычно CMOS-память и RTC физически расположены в одной микросхеме.
Блок обработки прерыванийСлужит для прерывания текущего хода событий и выполнения программы по сигналу от некоторых компонентов материнской платы или подключенных периферийных устройств. Имеет 15 входов.
Блок прямого доступа к памятиСодержит 7 каналов прямого доступа и предназначен для прямого обмена данными между устройствами компьютера, минуя центральный процессор.
ТаймерПредназначен для отсчета временных интервалов и подачей по специальным линиям управляющих сигналов.
Тактовый генераторЕсли в нашей повседневной жизни единицей отсчета времени является секунда, то в компьютере - это такт. Все события в компьютерной системе происходят в строго отведенной последовательности, а время работы измеряется в одинаковых интервалах. Тактовая частота (синхросигнал) задает скорость работы компьютера. Формирует тактовую частоту - тактовый генератор. На основе тактовой частоты вырабатывается системная частота, которая формирует рабочие частоты всех шин и блоков компьютера.
Перечисленные выше элементы всегда присутствуют на материнской плате IBM-компьютера.
Код на python 3:
from queue import Queue
to_process = Queue()
to_process.put(("edghcbfa", None))
prec = {}
while not to_process.empty():
s, prev = to_process.get()
if s in prec:
continue
for i in range(7):
for j in range(i + 1, 8):
if i == 0:
next_s = s[j::-1] + s[j+1:]
else:
next_s = s[:i] + s[j:i-1:-1] + s[j+1:]
if next_s not in prec:
to_process.put((next_s, s))
prec[s] = prev
current = "abcdefgh"
print(current)
while prec[current] is not None:
current = prec[current]
print(current)
Вывод программы:
abcdefgh
edcbafgh
edcbhgfa
edbchgfa
edghcbfa