Только не бейте меня тапками)
Как работает компьютер? Я в общих чертах знаю, что внутри системного блока, и для чего нужны эти части. Но процессор - это такая маленькая штучка из кремния, каким образом он что-то вычисляет? И где у него ядро? И как действуют такие тонкие блестящие дорожки на микросхемах?
Я понимаю, что все это звучит совсем тупо, но есть ли объяснения для совсем чайников?
Как работает компьютер? Я в общих чертах знаю, что внутри системного блока, и для чего нужны эти части. Но процессор - это такая маленькая штучка из кремния, каким образом он что-то вычисляет? И где у него ядро? И как действуют такие тонкие блестящие дорожки на микросхемах?
Я понимаю, что все это звучит совсем тупо, но есть ли объяснения для совсем чайников?
тупойчайникНаучитесь гуглилить пожалуста
Если наличие сигнала обозвать 1, а отсутствие - 0, тополучим несколько логических элементов:
НЕТ - на входе 1, на выходе - 0 и наоборот.
И - и на первом, и на втором входе 1 - на выходе будет 1, в любом другом случае - 0.
ИЛИ - хотя бы на одном из входов должен быть сигнал 1, тогда и на выходе будет 1.
ЛИБО - сигнал 1 должен быть только на одном входе, иначе на выходе будет 0.
Комбинируя эти элементы можно выполнить любую математическую операцию. Так и работают процессоры.
Ядро процессора - это совокупность
- регистров общего назначения (для хранения целочисленных данных)
- регистров FPU (для вещественных чисел)
- блок служебных регистров (настройка работы процессора)
- блок служебных регистров для FPU
- Cache-память (L1,L2,L3) данных и инструкций - хранятся последние значения данных из ОЗУ
- TLB-блок (Translation lookaside buffer, Буфер ассоциативной трансляции) - для перевода из виртуальных адресов в физические
Совокупность всех значений можно назвать состоянием процессора в некоторый момент времени.
Можно еще рассказать о наборах инструкций, но там довольно тривиально - арифметические, вещественные, прыжки (jump,branch - забыл адекватный перевод на русский), чтение/загрузка из памяти, из служебных регистров и т.д. Любая инструкция либо меняет какое-либо значение в регистрах, кэше, в TLB (то есть изменяет состояние процессора), либо что-то пишет в адресное проcтранство, либо вызывает исключение (прыгает в обработчик исключения). Есть инструкция nop, которая ничего не делает.
Можно еще сказать про адресное пространство (на примере 32-битной модели), т.к. процессор разные адреса обрабатывает по разному. 32bit - это 4 гиг возможных значений. Но из них не все диапазоны являются адресами оперативной памяти. Некоторые адреса адресуют не ОЗУ, а BIOS или различные устройства, с которыми процессор может обмениваться данными. Существуют также мапируемые/немапируемые (доступные только через TLB) адреса, адреса кэшируемые/некэшируемые (минуя cache).
в этой маленькой штучке содержится огромное количество базовых схем, которые по команде формируются, комбинируются в нужную для вычисления схему. Всё это конечно в наноразмерах и действует за микросекунды.
И как действуют такие тонкие блестящие дорожки на микросхемах?
как обычные провода
Это если совсем по-простому.
Кстати, да, вот давайте представим инопланетный, фантастический мир, в котором основная религия заключается в том, чтобы по утрам носить соседям шарики разных цветов. Это религиозный обряд такой, а поскольку обряд, то не обсуждается. Скажем, если тебе принёс сосед два шарика, то один ты должен отнести другому, а второй - третьему. А если три шарика, то один оставить себе, а два - снести четвёртому.
Эти правила называются инструкциями. Базовой логикой.
Потом в итоге какое-то правило заставляет отнести шарик в центральный храм и опустить его в определённую лунку. В полдень божество скажет, как планетянам жить дальше. И не ошибётся.
Собственно работа ЭВМ в том и заключается - по правилам, заданным программой, что-то делать с числами. Итог выводить в порт ввода-вывода - в виде буковок или картинки на дисплей.
Когда на компьютер подаётся питание, он автоматически лезет за инструкцией. Она как правило хранится в ПЗУ, которое в интел-совместимых ЭВМ называется CMOS (что малость неверно, но так устоялось), или BIOS (тоже имеющая странную расшифровку - базовая система ввода-вывода) - а это уже сама программа, хранящаяся в ПЗУ.
Вот, и программа содержит наборы команд - типа отнести шар туда-то. Шары - это числа, если говорить всё ж в терминах ЭВМ.
Затем программа разрастается, выходит из ПЗУ, начинает работать в памяти, подгружать данные и программы с диска, но суть остаётся той же самой - центральный процессор набирает себе команды и выполняет их, обрабатывая всё новые и новые массивы данных.
человеку надо сказать, что есть такие схемки, которые имеют на входе один или два проводка, на выходе один или два проводка. Упрощённо можно сказать. что когда по проводку входному идёт ток - это какбе 1. Иначе 0.
так вот этими схемками реализуются операции логическое и, логическое или, сложение двух чисел (0 или 1). А дальше всё это поливается, оно растёт и достигает 20 уровня. а потом покупается мельница.
да не про то вы все...
Костя, это хорошо, что здесь объяснения представлены на разных уровнях, разными словами - каждый найдёт объяснение, которое ему наиболее понятно и интересно.
Так, на счет дорожек блестящих - на самом деле электроны по ним не бегают. не успевают они по ним бегать, особенно туда-сюда, они просто "гонят волну". А вот в полупроводнике им приходится все-таки бегать и прыгать (с "дырки" на "дырку" например) потому и стараются сделать поменьше элементы внутри кристалла, чтоб электронам не высоко прыгать - их ведь тоже волна электромагнитного поля подгоняет. А дорожки на плате компьютера(на видеокарте это тоже хорошо видно) идут очень интересно - некоторые прямо, а некоторые извиваются)))
да, еще в современных компьютерах микросекунда - очень долгий интервал, давно речь идет о нано- и пикосекундных длительностях
Еще мне интересно, как происходит запись на жесткий диск. То есть если это обычная виниловая пластинка - то видно, что прочерчены бороздки, по которым ездит иголка. А какие "бороздки" прочерчиваются на жестком диске? И как они читаются?
В случае курсора это два процесса: первый - опрос мыши. При движении она передаёт процессору сигналы (через контроллер и прерывания, но то не важно), что она движется. Процессор при обработке прерывания занимается изменением ячейки памяти, в которой координаты мыши хранятся.
В свою очередь в свой квант времени, когда процессором "овладевает" драйвер экрана, процессор опрашивает эту же ячейку памяти и в соответствии с ней выводит на экран изображение стрелки.
А какие "бороздки" прочерчиваются на жестком диске
Так же, как и магнитная плёнка на магнитофоне, если их кто ещё помнит.