как работают триггеры и сумматоры разобрался. Практически могу сам создать из транзисторов.
языки собираюсь только только изучать. Имеется огромный пробел. Не понятно. Вот есть функции операторы и другие страшные фразы, есть компилятор, который их как то компилирует, А как все это работает на физическом уровни с процессором?
Другие языки программирования и технологии
Помогите заполнить пробел в знаниях между hardware и software.
В процессоре находится сумматор и быстрые ячейки памяти для него - регистры.
Допустим, нам надо сложить два числа. Подаём из в регистры. Оттуда подаём на сумматор. Результат с сумматора записывается в регистр. Готово. Уложились, кажется в три-четыре операции.
Если умножать/делить, операций будет аж под сотню. Вычисление синуса - это уже под тысячу операций с регистрами и сумматором. Чтобы не мучиться, в процессоре делают Постоянное запоминающее устройство и туда записывают микропрограммы для сложения, вычитания, синусов и так далее. Таким образом, для вычисления синуса нам достаточно загрузить в регистр данных градусы, в регистр программы - команду выполнения синуса и получить результат в приёмном регистре. Всего три операции вместо тысячи, когда работали непосредственно с сумматором.
Теперь мы научились программировать в машинных кодах. Наша программа вычисления синуса будет выглядеть примерно так:
4562 90 загрузка 90 градусов в приёмный регистр данных.
9012 загрузка команды вычисления синуса в регистр команд.
11121 получение результата.
Теперь добавим в компьютер ещё постоянной памяти и пропишем там все машинные команды и их сокращения на английском языке. Теперь мы можем писать программу на английском, что называется программировать на простейшем ассемблере. Наша программа будет выглядеть так:
send 90
sin
get
И так далее)
Допустим, нам надо сложить два числа. Подаём из в регистры. Оттуда подаём на сумматор. Результат с сумматора записывается в регистр. Готово. Уложились, кажется в три-четыре операции.
Если умножать/делить, операций будет аж под сотню. Вычисление синуса - это уже под тысячу операций с регистрами и сумматором. Чтобы не мучиться, в процессоре делают Постоянное запоминающее устройство и туда записывают микропрограммы для сложения, вычитания, синусов и так далее. Таким образом, для вычисления синуса нам достаточно загрузить в регистр данных градусы, в регистр программы - команду выполнения синуса и получить результат в приёмном регистре. Всего три операции вместо тысячи, когда работали непосредственно с сумматором.
Теперь мы научились программировать в машинных кодах. Наша программа вычисления синуса будет выглядеть примерно так:
4562 90 загрузка 90 градусов в приёмный регистр данных.
9012 загрузка команды вычисления синуса в регистр команд.
11121 получение результата.
Теперь добавим в компьютер ещё постоянной памяти и пропишем там все машинные команды и их сокращения на английском языке. Теперь мы можем писать программу на английском, что называется программировать на простейшем ассемблере. Наша программа будет выглядеть так:
send 90
sin
get
И так далее)
Арслан Ахмедов
в каком виде хранится эта формула и другие, в регистре? если по другому сказать. процессор обрабатывает только три логические операции конъюнкция дизъюнкция и инверсия. Например нужно поделить 4 на 2, следовательно что бы поделить нужно произвести множество операций с умножением, ЧТО ИМЕННО ОПРЕДЕЛЯЕТ ЭТО ПОРЯДОК?. существует какая то таблица такая же как ASCII? какие то формулы, которые и являются основой для компиляторов?
не зацикливайтесь на этом.. потеряете время без профита
примите комп, как черный ящик, который делает то, что прикажете
если не делает или делает, но не так - ошибка в коде
Если Вы хотите программировать, то четко определите область, например web
Согласно области узнайте популярный язык программирования и учите его
И пусть компьютер будет хоть водяной, главное что бы программа выполнялась корректно
Нам долго забивали головы этими сумматорами, а оказалось что процессоры умножают по таблицам.
Какую архитектурную, а тем более схемотехническую базу будут использовать завтра - вопрос, на подходе квантовые компьютеры.. Поверьте, в одном РНР или Python можно погрязнуть с головой на многие годы. Программирование на низком уровне (маш. коды, ассемблер) порождает очень эффективный код, но весьма затратно по времени, не зря же языки высокого уровня придумали.
примите комп, как черный ящик, который делает то, что прикажете
если не делает или делает, но не так - ошибка в коде
Если Вы хотите программировать, то четко определите область, например web
Согласно области узнайте популярный язык программирования и учите его
И пусть компьютер будет хоть водяной, главное что бы программа выполнялась корректно
Нам долго забивали головы этими сумматорами, а оказалось что процессоры умножают по таблицам.
Какую архитектурную, а тем более схемотехническую базу будут использовать завтра - вопрос, на подходе квантовые компьютеры.. Поверьте, в одном РНР или Python можно погрязнуть с головой на многие годы. Программирование на низком уровне (маш. коды, ассемблер) порождает очень эффективный код, но весьма затратно по времени, не зря же языки высокого уровня придумали.
Арслан Ахмедов
к сожалению информацию я запоминаю только, если она логически связывается с существующей информацией в памяти. Следовательно необходимо все это понять до такой степени, что бы уметь собирать их самостоятельно, как вычислительные машины так и программный код
Похожие вопросы
- Помогите с кодом C#. Нужно удалять из строк начальные пробелы с помощью while, if, for, без специальных методов
- как подсчитать количество слов в строке разделённым больше чем одним пробелом(Delphi)
- Дан текст. файл. Вывести слово текста наимен. длины. Слово- набор симолов без пробелов и огран. пробелом. Помогите ПЛЗ!
- Не могу создать сайт, когда присутствуют знания, помогите советом, опытом и исправлением меня и моей логики
- Как уменьшить пробелы между словами в тексте Ворда?
- Как без особых сложностей убрать огромные пробелы в тексте. Когда я убираю их, стирается весь пробел полностью
- Удаление лишних пробелов между буквами и слогами
- 1.Заполнить массив случайными числами. Вывести элементы массива на экран. Заменить все его минимальные элементы нулями.
- помогите!!! вопрос по C++ нужно написать программку "заполните массив так, чтобы все его элементы были различны.
- Как быстро преобразовать старое жесткое форматирование абзацев текста (пробелами) в нормальное?