Центральный процессор: различия между версиями

Строка 5: Строка 5:
Представьте себе крошечный город с огромным количеством ветвящихся дорог и шлагбаумов. По этим дорогам бегают вредные электро-человечки и пытаются перекрыть шлагбаумами соседние дороги. Добегая до шлагбаума, они опускают его и держат закрытым, мешая человечкам на другой дороге работать. Как итог все шлагбаумы на соседней улице открываются. Открытые шлагбаумы открывают новые направления и туда бросаются другие человечки. Достигая новых шлагбаумов, они закрывают их, блокируя еще какие-то дороги и так далее. Всё это происходит со скоростью миллиардов блокировок и открытий в секунду.
Представьте себе крошечный город с огромным количеством ветвящихся дорог и шлагбаумов. По этим дорогам бегают вредные электро-человечки и пытаются перекрыть шлагбаумами соседние дороги. Добегая до шлагбаума, они опускают его и держат закрытым, мешая человечкам на другой дороге работать. Как итог все шлагбаумы на соседней улице открываются. Открытые шлагбаумы открывают новые направления и туда бросаются другие человечки. Достигая новых шлагбаумов, они закрывают их, блокируя еще какие-то дороги и так далее. Всё это происходит со скоростью миллиардов блокировок и открытий в секунду.


Звучит как полное безумие. Но здесь скрыт смысл: закрытый или открытый шлагбаум и как следствие наличие или отсутствие тока определяет 2 состояния — включено или выключено: <code>1</code> или <code>0</code>. Когда таких цифр больше или равно 8, этого достаточно для определения одной буквы из слова. Когда их 32 — этого достаточно для записи любого числа от <code>-2147483648</code> и до <code>2147483647</code>, когда миллионы — этого достаточно для неплохой цифровой фотографии, а миллиарды хватает на целый цифровой фильм.
Звучит как полное безумие, но здесь скрыт смысл. Дорога, заполненная человечками или пустая дорога определяют два состояния — включено или выключено: <code>1</code> или <code>0</code>. Когда таких цифр-дорог больше или равно 8, этого достаточно для определения одной буквы из слова. Когда 32 — этого достаточно для записи любого числа от <code>-2147483648</code> и до <code>2147483647</code>.


В современных процессорах очень много шлагбаумов, но их всегда не достаточно. Поэтому требуются дополнительные города-склады: город оперативной памяти, город видеопамяти, город жесткого диска и другие. В эти склады-памяти идут специальные широкие и скоростные трассы от города-процессора. Человечки, бегая по трассам, могут синхронизировать состояния ключевых шлагбаумов в процессоре с шлагбаумами на складах и наоборот. Но склады-памяти нужны не только для хранения данных, они могут помогать выводить информацию в реальный мир через вспомогательные устройства вывода — экран монитора, динамик, принтер, сетевой кабель и т.п.
Процессор отвечает только за обработку небольшого объема данных на лету. А что делать если мы хотим посмотреть большой цифровой фильм, содержащий миллиарды единиц и нулей? Нам потребуются соседние города-склады: город оперативной памяти, город видеопамяти, город жесткого диска и другие. В эти склады-памяти от города-процессора идут специальные широкие и скоростные трассы. Человечки, бегая по трассам, могут синхронизировать состояния ключевых шлагбаумов в процессоре с шлагбаумами на складах и наоборот. Но склады-памяти нужны не только для хранения данных. Они помогают выводить информацию в реальный мир через вспомогательные устройства вывода — экран монитора, динамик, принтер, сетевой кабель и т.п.


Но как этим электро-микро-человейником управлять. На помощь приходят реальные большие человеки. Большой человек программист заранее определяет какие шлагбаумы будут открыты первоначально, чтобы трафик шел не случайным образом, а в нужном и правильном порядке. Этот порядок определяется программами на складах. А большой человек пользователь может в реальном времени вмешиваться в работу шлагбаумов и открывать и закрывать их, с помощью вспомогательных устройств ввода — клавиатуры, мыши, сенсорного экрана.
А как этим электро-микро-человейником управлять? На помощь приходят реальные большие человеки. Большой человек программист заранее определяет какие шлагбаумы будут открыты первоначально, чтобы трафик шел не случайным образом, а в нужном и правильном порядке. Этот порядок определяется программами на складах. А большой человек пользователь может в реальном времени вмешиваться в работу шлагбаумов и открывать и закрывать их, с помощью вспомогательных устройств ввода — клавиатуры, мыши, сенсорного экрана.


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


== А если серьезно ==
== А если серьезно ==