@1Tima1
Меня здесь не любят

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

Есть двоичный код-условное обозначение нулей и единиц для пк(есть напряжение и нет напряжения).
А как пк понимает,что делать при команде 010011,а что при 0010011?
ну,например,есть ребенок лет 3-х,ему дают предложение-сходи,купи телефон-команда
наша азбука-двоичный код,а ребенок-пк,
Но нужно же еще объяснить этому 3-х-летнему ребенку,что значит купить,ходить и телефон
Примерно и такой вопрос у меня про компьютеры.
  • Вопрос задан
  • 7190 просмотров
Решения вопроса 1
Zoominger
@Zoominger
System Integrator
Слишком размытый вопрос.
"Понимает" не ПК, а процессор, который принимает процессорные команды и выполняет их, гоняя байты и биты, посылая определённые сигналы по шинам другим устройствам и из всего этого, через уровни абстракции от нижних к верхним, происходит просмотр котиков на Ютубе.
Подробное объяснение займёт страниц этак двадцать в общих чертах.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Adamos
@Adamos
Есть прекрасная книжка: "Код. Тайный язык информатики".
Позволяет выкинуть из головы детские фантазии и начать изучение с реальности.
Ответ написан
Комментировать
@alladuh
Давайте попробуем коротко:
процессор компьютера состоит из более, чем миллиона транзисторов. Они то открываются, пропуская ток (сигнал), то закрываются.
0 и 1 это значение сигнала (если так можно выразиться). 0 - сигнала нет, 1- сигнал есть.
Последовательность 1 и 0 определяет открытие и закрытие различных транзисторов.

То, как будут выполняться команды на процессоре, определяют создатели процессоров. Но всё тянется от булевой логики и базовые операции определены давно.

Например вы вводите умножение двух чисел: 2 * 2. Пропустим компиляцию или интерпретацию в машинный код. Когда двойка становится 10 (в двоичной системе), она проходит через транзистор и в память пишутся данные. Такое происходит со всей операцией (Умножение тоже имеет своё обозначение для процессора. Это операция "И". Т.е. 10AND10 дадут в результате сигнал вида 100, что будет интерпретироваться как 4).
В итоге в ячейке памяти записывается результат 4.

Важно понять, что все операции происходят на транзисторах с сигналами (0 и 1). Транзисторы образуют сложные комбинации для выполнения длинных и более сложных команд, чем умножение или сложение.
А то какие операции выполняют эти комбинации транзисторов, уже лучше читать в книжках.

Вот есть неплохое (достаточно простое в понимании) видео
Ответ написан
@SZolotov
Asp.net core, MAUI,WPF,Qt, Avalonia
Учебник по курсу архитектуры ЭВМ вам поможет. Там ответы на все вопросы)
Ответ написан
@Simon_Says492
Если я вас правильно понял, ваш вопрос о способности компилировать булевские значения в конкретные?
Я очень слабо в этом понимаю, но попробую сам сделать логические выводы. Все что далее я буду описывать - это мои личные предположения:
Первый вопрос, которым вы должны задаться - Каким образом компьютер понимает, что зеленый цвет - это зеленый цвет в нашем с вами понимании?
Ответ: да никаким. Он это не понимает, он просто хранит в себе матрицу булевских значений, которая является константой для компиляторов.
Пример: нам нужен зеленый пиксель. Монитор состоит из множества пикселей, каждый из которых- своего рода транзистор (тут уже у вас должно появиться какое то представление). Плата монитора получает константу, и эта константа(матрица) запускает определенные транзисторы, которые включают этот пиксель.

Поэтому делаем вывод, что компьютер - это набор констант, которые принимают компиляторы и переводят на понятный нам с вами язык.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы