home.social

#регистры — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #регистры, aggregated by home.social.

  1. Как мы искали адреса регистров в памяти прибора

    Как найти реальные адреса регистров, если документация не помогает. В статье разбираю реальный инженерный кейс: прибор отвечает, но в регистрах нули. Показываю, как через анализ трафика (опрос-ответ) найти нужные данные.

    habr.com/ru/articles/1030430/

    #scada #регистры #протокол #rs485 #асутп #modbus #трафик #анализ_трафика

  2. Как мы искали адреса регистров в памяти прибора

    Как найти реальные адреса регистров, если документация не помогает. В статье разбираю реальный инженерный кейс: прибор отвечает, но в регистрах нули. Показываю, как через анализ трафика (опрос-ответ) найти нужные данные.

    habr.com/ru/articles/1030430/

    #scada #регистры #протокол #rs485 #асутп #modbus #трафик #анализ_трафика

  3. Как мы искали адреса регистров в памяти прибора

    Как найти реальные адреса регистров, если документация не помогает. В статье разбираю реальный инженерный кейс: прибор отвечает, но в регистрах нули. Показываю, как через анализ трафика (опрос-ответ) найти нужные данные.

    habr.com/ru/articles/1030430/

    #scada #регистры #протокол #rs485 #асутп #modbus #трафик #анализ_трафика

  4. Как мы искали адреса регистров в памяти прибора

    Как найти реальные адреса регистров, если документация не помогает. В статье разбираю реальный инженерный кейс: прибор отвечает, но в регистрах нули. Показываю, как через анализ трафика (опрос-ответ) найти нужные данные.

    habr.com/ru/articles/1030430/

    #scada #регистры #протокол #rs485 #асутп #modbus #трафик #анализ_трафика

  5. У Z-80 4-битная АЛУ. Вот как она работает

    Когда мы пишем код под микроконтроллер, за привычными инструкциями компилятора скрывается вполне конкретная логика – регистры, ALU, прерывания, шины и тайминги, которые живут по своим правилам. В статье разберём, как устроены базовые механизмы выполнения команд и что именно происходит на уровне микроархитектуры, когда «просто вызывается функция». Это попытка посмотреть на embedded-разработку через призму железа и понять, какие инженерные решения стоят за кажущейся простотой исходного кода. Разобрать архитектуру

    habr.com/ru/companies/otus/art

    #микроархитектура_процессора #ALU #арифметикологическое_устройство #регистры #embeddedразработка #системное_программирование #низкоуровневое_программирование

  6. [Перевод] Почему xor eax, eax используется так часто?

    В одном из моих докладов по ассемблеру я показал список из 20 самых часто исполняемых команд на среднем десктопе x86 с Linux. Разумеется, в этом списке были привычные mov , add , lea , sub , jmp , call и так далее; неожиданным стало включение в него xor — «eXclusive OR». В эпоху, когда я занимался хакингом на 6502, наличие XOR было почти абсолютно точным указанием на то, что найдена часть кода, связанная с шифрованием, или какая-то подпрограмма обработки спрайтов. Поэтому удивительно, что машина с Linux, просто занимающаяся своими делами, выполняет такое количество этих команд. Но потом мы вспоминаем о том, что компиляторы любят генерировать xor при присвоении регистру нулевого значения.

    habr.com/ru/articles/976302/

    #compiler_explorer #регистры #оптимизация_кода

  7. Как проектируют систему на кристалле: разбираем основные этапы «для новичков»

    Система на кристалле, она же СнК или system on a chip, – это цифровая микросхема, на которой есть множество компонентов: например, микропроцессор и графический процессор, контроллеры и другие периферийные блоки. СнК есть в наших смартфонах, ПК, планшетах. Но как такую создают? Какие этапы проектирования проходит маленький, но важный чип? Статья будет полезна как продолжающим, так и начинающим – тем, кто со временем хотел бы разобраться, как проектируют системы на кристалле. Как спроектировать свою систему на чипе?

    habr.com/ru/companies/yadro/ar

    #rtl #микропроцессоры #soc #система_на_кристалле #проектирование_систем #system_on_a_chip #процессоры #регистры #тактовая_частота

  8. [Перевод] Абсурдно усложнённая схема регистров в Intel 80386

    Фото кристалла i386 с обозначенным блоком регистров (полномасштабная версия фото доступна в оригинале статьи) Революционный Intel 80386 (1985 год) стал первым 32-битным процессором с архитектурой x86. Как и большинство процессоров, он содержит огромное число регистров, которые являются ключевой составляющей, обеспечивая сверхбыструю обработку данных в сравнении с основной памятью. К ним относятся регистры общего назначения, регистры индекса и селекторы сегментов, а также специальные регистры для управления памятью и разработки операционной системы. В этой статье я буду говорить о кремниевом кристалле i386 и объясню, как в нём организованы основные регистры.

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #x86 #процессоры #intel_80386 #i386 #регистры #алу #старое_железо

  9. Введение в память, мотивация виртуальной, отображение между физической и виртуальной

    У нас имеется физическая память, она одна для всех программ. И представьте, что вот вы разрабатываете программу, пишете алгоритмы, верстаете интерфейсы, свои контейнеры, это и так в силу несовершенства языков и сложности задач является довольно нетривиальной задачей, а теперь, задумайтесь: если вам нужно будет параллельно анализировать и запоминать, как вашей же памятью могли воспользоваться другие программы, или даже как ваше приложение пользуется ей. Как же оно получилось?

    habr.com/ru/articles/914016/

    #виртуальная_память #concurrency #C++ #регистры #rip #call_stack #heap #операционные_системы

  10. Введение в память, мотивация виртуальной, отображение между физической и виртуальной

    У нас имеется физическая память, она одна для всех программ. И представьте, что вот вы разрабатываете программу, пишете алгоритмы, верстаете интерфейсы, свои контейнеры, это и так в силу несовершенства языков и сложности задач является довольно нетривиальной задачей, а теперь, задумайтесь: если вам нужно будет параллельно анализировать и запоминать, как вашей же памятью могли воспользоваться другие программы, или даже как ваше приложение пользуется ей. Как же оно получилось?

    habr.com/ru/articles/914016/

    #виртуальная_память #concurrency #C++ #регистры #rip #call_stack #heap #операционные_системы

  11. Введение в память, мотивация виртуальной, отображение между физической и виртуальной

    У нас имеется физическая память, она одна для всех программ. И представьте, что вот вы разрабатываете программу, пишете алгоритмы, верстаете интерфейсы, свои контейнеры, это и так в силу несовершенства языков и сложности задач является довольно нетривиальной задачей, а теперь, задумайтесь: если вам нужно будет параллельно анализировать и запоминать, как вашей же памятью могли воспользоваться другие программы, или даже как ваше приложение пользуется ей. Как же оно получилось?

    habr.com/ru/articles/914016/

    #виртуальная_память #concurrency #C++ #регистры #rip #call_stack #heap #операционные_системы

  12. Введение в память, мотивация виртуальной, отображение между физической и виртуальной

    У нас имеется физическая память, она одна для всех программ. И представьте, что вот вы разрабатываете программу, пишете алгоритмы, верстаете интерфейсы, свои контейнеры, это и так в силу несовершенства языков и сложности задач является довольно нетривиальной задачей, а теперь, задумайтесь: если вам нужно будет параллельно анализировать и запоминать, как вашей же памятью могли воспользоваться другие программы, или даже как ваше приложение пользуется ей. Как же оно получилось?

    habr.com/ru/articles/914016/

    #виртуальная_память #concurrency #C++ #регистры #rip #call_stack #heap #операционные_системы

  13. Низкоуровневое программирование под 8086 для любопытных, часть 1

    В первой части мы: - посмотрим, как работать с памятью и регистрами 8086 - узнаем, как написать простую программу на ассемблере прямо в отладчике - изучим работу механизма прерываний и сделаем демонстрационный пример Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности. Примеры в бинарном виде доступны по ссылке github.com/galilov/habr/blob/m .

    habr.com/ru/articles/902412/

    #Assembler #i8086 #низкоуровневое_программирование #agalilov #прерывания #стек #видеобуфер #регистры #ассемблер #ассемблер_для_начинающих

  14. Низкоуровневое программирование под 8086 для любопытных, часть 1

    В первой части мы: - посмотрим, как работать с памятью и регистрами 8086 - узнаем, как написать простую программу на ассемблере прямо в отладчике - изучим работу механизма прерываний и сделаем демонстрационный пример Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности. Примеры в бинарном виде доступны по ссылке github.com/galilov/habr/blob/m .

    habr.com/ru/articles/902412/

    #Assembler #i8086 #низкоуровневое_программирование #agalilov #прерывания #стек #видеобуфер #регистры #ассемблер #ассемблер_для_начинающих

  15. Низкоуровневое программирование под 8086 для любопытных, часть 1

    В первой части мы: - посмотрим, как работать с памятью и регистрами 8086 - узнаем, как написать простую программу на ассемблере прямо в отладчике - изучим работу механизма прерываний и сделаем демонстрационный пример Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности. Примеры в бинарном виде доступны по ссылке github.com/galilov/habr/blob/m .

    habr.com/ru/articles/902412/

    #Assembler #i8086 #низкоуровневое_программирование #agalilov #прерывания #стек #видеобуфер #регистры #ассемблер #ассемблер_для_начинающих

  16. Низкоуровневое программирование под 8086 для любопытных, часть 1

    В первой части мы: - посмотрим, как работать с памятью и регистрами 8086 - узнаем, как написать простую программу на ассемблере прямо в отладчике - изучим работу механизма прерываний и сделаем демонстрационный пример Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности. Примеры в бинарном виде доступны по ссылке github.com/galilov/habr/blob/m .

    habr.com/ru/articles/902412/

    #Assembler #i8086 #низкоуровневое_программирование #agalilov #прерывания #стек #видеобуфер #регистры #ассемблер #ассемблер_для_начинающих

  17. Мои заметки про процессоры для cовсем маленьких

    Центральный процессор (CPU, Central Processing Unit) — это основной компонент устройств, который выполняет все вычисления и логические операции, необходимые для работы программ. Здесь я постараюсь рассказать про строение и работу процессора на примере x86–64 архитектуры. Когда-то это всё я конспектировал для себя в дружелюбном для новичка виде, чтобы мне самому было проще возвращаться к этой информации время от времени. Я решил поделиться своими заметками, так как возможно кому-то это может показаться полезным. На детальность информации не претендую, но не против конструктивной критики. Вот довольно неплохие видео, которые noob friendly: 1) youtube.com/watch?v=ubsZ9MO9qk 2) youtube.com/watch?v=aNVMpiyeY_ Устройство процессора (схематически).

    habr.com/ru/articles/855226/

    #простыми_словами #процессор #amd64 #alu #регистры #строение_процессора #архитектура_процессора #x86 #x86_64 #схема_процессора

  18. Погружение в мир Python: Решение проблем с библиотекой ConfigParser

    Здравствуйте! В этой статье я хочу поделиться своим опытом работы с библиотекой ConfigParser в Python, особенно в контексте устаревших операционных систем, таких как Windows XP и Windows 7. Несмотря на то что я не являюсь профессиональным программистом, моё хобби и стремление разобраться в нюансах программирования привели меня к интересным выводам. Я расскажу о распространённых трудностях, связанных с работой этой библиотеки, таких как автоматическое преобразование ключей в нижний регистр и способы обхода этой проблемы. Вы увидите примеры, которые помогут лучше понять, как читать и записывать конфигурационные файлы, сохраняя оригинальный регистр ключей. Присоединяйтесь к обсуждению, и, возможно, мой опыт окажется полезным для вас!

    habr.com/ru/articles/854628/

    #Python #ConfigParser #перенос_строк #регистры #конфиг #config #ini #XP

  19. GPIO STM32, альтернативный вариант

    Когда в 2011 году я переходил c atmega8 на stm32, меня очень вдохновил проект opencm3. Но вдохновил не на его изучение, а на написание похожего. На сегодня в моём варианте почти библиотеки есть макросы регистров для микроконтроллеров серий stm32f10x и stm32f40x, stm8s003, nrf51, nrf52, rp2040, и cc2640/1310. Реально же протестирована из этого списка только stm32f103. Кроме регистров для 103-й я написал базовые функции для включения/выключения тактирования периферии и управления портами ввода-вывода. А также написаны примеры для USB профилей HID gamepad, HID keyboard и USB serial port. В этом же посте задокументирую функции портов и тактирования. документация к c-шникам

    habr.com/ru/articles/850122/

    #регистры #stm32 #libopencm3 #make #gpio #rcc

  20. Очень простой тахометр на интересных микросхемах

    Привет, Хабр! Сегодняшняя схема измерителя частоты вращения электродвигателя представляет особенный интерес по причине того, что она построена на основе микросхем CD40110 . «Изюминка» этих реверсивных двоично-десятичных счётчиков состоит в том, что они снабжены встроенным дешифратором для семисегментного индикатора! Это позволяет решать очень многие задачи предельно простым и экономным способом. Даже без микроконтроллера. Как, например, без него обходится наш тахометр.

    habr.com/ru/companies/ruvds/ar

    #ruvds_статьи #цифровые_микросхемы #микросхемы #логические_элементы #цифровая_схемотехника #измерение_частоты #частотомер #триггеры #триггер_шмитта #регистры #дешифраторы #семисегментный_индикатор

  21. Усовершенствованный частотомер без микроконтроллера

    Привет, Хабр! Прибор, который мы сегодня изучим и соберём, снабжён четырёхразрядным цифровым индикатором и предназначен для работы с электрическими сигналами произвольной формы, имеющими частоту от 10 Гц до 10 кГц и амплитуду от 300 мВ до 3 В. В качестве эталонной частоты он использует 50 герц электросети. Не считая стабилизатора питания, частотомер построен на 14 микросхемах стандартной логики. Ещё мы познакомимся с разными типами частотомеров.

    habr.com/ru/companies/ruvds/ar

    #цифровые_микросхемы #микросхемы #логические_элементы #ruvds_статьи #цифровая_схемотехника #измерение_частоты #частотомер #триггеры #триггер_шмитта #регистры #дешифраторы #семисегментный_индикатор

  22. Как работает шариковая мышка?

    Привет, Хабр! Помните олдскульные механические мышки, в которых обрезиненный стальной шарик катался по поверхности стола или специального коврика? Внутри корпуса шарик соприкасался с двумя перпендикулярными пластиковыми валиками, на которые периодически наматывалась всякая грязь. Приходилось вынимать шарик, чистить валики, доставать шарик оттуда, куда он закатился, и устанавливать его на место. В таких мышках, а также струйных принтерах, использовались относительные оптические энкодеры . Пластиковый диск с прорезями или лента из прозрачной плёнки с непрозрачными полосками устанавливались на пути света от светодиода до фототранзистора. Количество импульсов соответствовало пройденному пути, а для определения направления движения применялась специальная электронная схема. Ведь недостаточно просто сосчитать импульсы. Надо знать, прибавлять или убавлять координату курсора. Сегодня я расскажу про один из вариантов решения этой задачи, на базе интереснейшей микросхемы сдвоенного ждущего мультивибратора CD4528 .

    habr.com/ru/companies/ruvds/ar

    #цифровые_микросхемы #микросхемы #микросхемы_малой_степени_интеграции #логические_элементы #ruvds_статьи #цифровая_схемотехника #триггеры #триггер #регистры #оптопара #оптические_датчики

  23. КодоГенератор Линейных Отображений (как ускорить создание ASIC драйвера)

    В программировании микроконтроллеров на Си часто приходится писать драйверы для умных и навороченных ASIC чипов с управлением по I2C/SPI/MDIO интерфейсам. Обычно перед запуском эти чипы надо правильным образом сконфигурировать. Такие чипы всегда оперируют с реальными физическими величинами. Одновременно с этим ячейки памяти этих ASIC чипов - дискретные, двоичные. Поэтому все производители микросхем кодируют эти переменные бинарными кодами разной разрядности. В этом тексте я показал как можно делать интерпретаторы этих величин.

    habr.com/ru/articles/814969/

    #кодогенерация #регистры #asic #линейные_системы #линейные_уравнения #математика #слау #devops