• Как компьютер понимает нули и еденицы?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Ну типа жил был транзистор значит. И он был такой весь из себя крайне радикальный - не было у него по жизни других настроений, кроме двух - либо он говорил всем "да" и пропускал через себя всё, что в одно ухо (левая дырка) влетело, то из другого (правая дырка) сразу вылетало. Либо же настроение его могло поменяться, тогда он становился крайне негативным и переставал пропускать себя любую информацию - замыкался в себе, думал о главном.
    А настроение его зависело от того, насколько хорошо он питался. Суёшь ты ему в рот (третья дырка) нормальное питание - он добрый, на всё согласен, информацию через себя пропускает. Чуть только начинаешь его кормить меньше, чем он хочет (есть у него определённый уровен неообходимого питания) - он тут же отключался от мира и ни на что не реагировал, пока снова не пихнёшь ему в рот достаточноого питания. Так и получилось, что аналоговый уровень питания, то есть количество еды, которое ты ему кладёшь в рот, в итоге превращается в бинарное значение - 0 или 1 на правом ухе.

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

    И вот в современных процессорах миллионы этих транзисторов (если быть точнее, то на текущий момент около 1,400,000,000) спаяны вместе. чтобы распознавать входные команды и выдавать результат по заданной схеме.

    Ты спросишь, мой маленький друг, как же розетка соединяется с процессором? Как эти 220В превращаются в 0 и 1 на моём мониторе?. А всё дело в том, что блок питания преобразует переменный ток в постоянный, который потом подаётся на процессор. Блок питания совсем не мудрёный - пара диодов и трансформатор, можешь даже собрать его сам дома из говна и палок. А интересное дальше.
    Но если подать ток на схему из транзисторов - то они застынут в одном положении, заданном схемой, и ничего происходить не будет? Да, ты прав, чтобы компьютер считал, необходимо менять ток на его входных ножках, тем самым отдавая ему разные команды. Но тут возникает проблема синхронизации - поменять напряжение одномоментно невозможно (физика, типа, химия там, электроны бегают, заряд меняется, дырки должны образоваться успеть) - нужно определённое время. Поэтому придумали "частоту". Рядом с транзисторами сидит важный кристалик, который генерирует ток по синусоиде с равномерной частотой. Эта синусоида немного рихтуется, превращаясь в бесконечный поток "есть питание" и "нет питания" меняющийся с одинаковой частотой. На графике это выглядит как пила, примерно. И вот все договорились, что будут засекать момент, в котором "всё готово", все транзисторы заняли своё положение и всё устаканилось и наконец можно считать выходной результат, например, на верхушке зубчика пилы, то есть когда генератор частоты дал 1. И вот совремменные процессоры делают это с частотой 2 гигагерца, то есть 2 миллиарда раз в секунду все транзисторы в процессоре меняют своё состояние.

    P.S. Я сделал небольшое допущение. На самом деле в правом ухе не 1 и 0, а точно такое же напряжение, которое ты подал на левое ухо, если транзистор включён, либо никакого, если выключен. Но чаще всего это потсоянный небольшой ток. Благодаря уровню необходимого питания на ртах у транзисторов, этот небольшой ток может быть либо меньше необходимого (0), либо больше, при котором транзистор включается(1). Это всё зависит от того, из чего сделан транзистор. Это уже химия, дружок. Сплавы всякие, металлов. Они ещё полупроводники называются, потому что до конца не определились, готовы они всегда пропускать ток, или никогда. Этим тохитрые людишки и воспользовались, заставляя полупроводники менять своё настроение и позволять тебе играть в майнкрафт.
    Ответ написан
    5 комментариев
  • Стоит ли вместо полезных указаний давать готовое решение?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Т.к. я часто отвечаю на тостере, опишу своё видение вопросов:
    1. Никогда не даю решение сам, если вопрос не требует очень узких знаний, которые нельзя найти в интернете за минуту. Если вопрос из разряда "подумать", то тут выбора нет - пытаюсь подумать и отвечаю сам.
    2. Из первого пункта следует, что если я знаю, что на вопрос можно найти ответ в интернете не прилагая больших усилий - то я отправляю человека в гугл с намёком, какие ключевые слова ему нужны. Это быстрее для меня и, главное, гораздо полезнее для вопрошащего найти решение самому.
    3. Разные свойства авторов вопроса роли не играют, я максимально справедлив. Хотя из вопроса и так всё понятно, кто что из себя представляет.
    Ответ написан
    Комментировать