Как работает цифровая. Как работают цифровые принтеры. Принцип работы фотоматрицы

  • 18.02.2022

Даже те бухгалтеры, которые давно сдают отчетность через интернет, не всегда представляют, как работает один из главных элементов системы сдачи отчетности — электронная цифровая подпись (ЭЦП). Между тем такие знания позволяют предотвратить некоторые элементарные ошибки, которые могут привести к конфликтам с инспекцией. Кроме того, бухгалтер, получивший представление об основах технологии ЭЦП, будет тратить на общение с операторами call-центров гораздо меньше времени.

Создание ЭЦП

Существуют разные способы сформировать электронную цифровую подпись. На практике самым удобным и распространенным способом является создание ЭЦП с помощью двух ключей — открытого и закрытого. Оба этих ключа создаются с помощью специальной шифровальной программы (например, «Крипто-про»). Для создания закрытого ключа необходимо либо хаотично двигать мышку, либо бессистемно нажимать клавиши на клавиатуре. Программа преобразует эти движения в очень длинный набор символов (его размер 512 бит; о том, много это или мало — ниже, в разделе «Дополнительная информация»). Так создается закрытый ключ.

Затем та же программа на основании закрытого ключа создает открытый ключ (сразу отметим, что обратный процесс — подобрать закрытый ключ по открытому ключу — невозможен). Открытый ключ публикуется на сайтах удостоверяющих центров и спецоператора связи, чьими услугами пользуется владелец ключа, а вот закрытый ключ следует хранить со всеми возможными мерами предосторожности.

Зачем нужны удостоверяющие центры

Решают важнейшую задачу: они подтверждают подлинность информации о владельце ключа и его полномочиях. Если бы УЦ не существовало, любой, кто купил бы программу для шифрования, мог объявить свой открытый ключ ключом главного бухгалтера «Газпрома» или начальника инспекции по крупнейшим налогоплательщикам.

Поэтому бухгалтер (руководитель), для оформления электронной цифровой подписи должен предоставить в УЦ документы, удостоверяющие его личность, доверенность от компании и написать запрос на выдачу сертификата открытого ключа подписи. Центр выдает электронный и бумажный сертификаты открытого ключа подписи. Электронный сертификат — это файл, который представляет из себя открытый ключ клиента, подписанный ЭЦП удостоверяющего центра. Бумажный сертификат содержит следующие данные: открытый ключ ЭЦП, ФИО его владельца, срок действия сертификата (обычно один год), область применения ключа (перечень документов, которые можно подписывать с помощью ключа, на который выдан сертификат), информация об организации, представителем которой является владелец ключа.

Соответственно, после оформления документов в УЦ у клиента на руках оказывается бумажный сертификат и носитель информации (ру-токен, флэшка, дискета) на котором записаны следующие файлы: открытый ключ, закрытый ключ, сертификат открытого ключа.

Открытым шифруем, закрытым расшифровываем

Допустим, бухгалтер хочет отправить в инспекцию декларацию. Он формирует файл с отчетностью (вносит данные организации в электронный формат декларации). Затем он подписывает файл с отчетностью своим закрытым ключом. Подписание образует новый, оригинальный файл. В подписанном ЭЦП документе ни получатель, ни отправитель уже не могут изменить ни одного символа — подобное нарушение целостности документа легко выявляется при проверке с помощью сертификата открытого ключа.

Далее программа, с помощью которой бухгалтер отправляет отчетность, шифрует декларацию открытым ключом инспекции. Зашифрованный файл отправляется в инспекцию. Налоговики получают файл и расшифровывают его своим закрытым ключом. Затем проверяют ЭЦП плательщика с помощью реестра сертификатов открытых ключей (такая проверка при приеме отчетности осуществляется автоматически). Проверка дает ответ на два вопроса: была ли после подписания ЭЦП плательщика нарушена целостность документа и действительно ли данная ЭЦП принадлежит плательщику, сдавшему отчетность.

После проверки инспекция отправляет организации протокол входного контроля. Инспектор подписывает протокол своим закрытым ключом. Затем шифрует протокол открытым ключом компании и направляет файл с зашифрованной информацией в адрес компании. Бухгалтер открывает зашифрованную в файле информацию своим закрытым ключом.

Теоретически перехватить зашифрованный файл может кто угодно. Однако расшифровать файл, направленный в адрес инспекции, можно только имея закрытый ключ инспекции. Соответственно, зашифрованный файл, направленный в компанию, может открыть только тот, у кого есть закрытый ключ компании.

Что будет, если небрежно хранить закрытый ключ

Самая главная проблема, которой может обернуться для компании небрежное хранение закрытого ключа — это так называемая компрометация ключа. То есть доступ к закрытому ключу посторонних. Если ключ хранится на дискете, которая лежит на столе бухгалтера или ключ записан на жесткий диск бухгалтерского компьютера, то компания рискует нарваться на серьезные неприятности. Имея закрытый ключ, какой-нибудь недоброжелатель может отправить за компанию заведомо ложную отчетность. Например, задолго до срока, в который бухгалтер планирует сдать отчетность, послать в инспекцию декларацию по НДС с огромными суммами к возмещению. В этом случае компании как минимум грозит утомительное разбирательство с налоговиками, которые уже приняли «ложную» отчетность и занесли ее в свою базу. А как максимум (если бухгалтер вовремя не обнаружит факт «ложной» отправки) — истребование документов в ходе углубленной камеральной проверки, доначисления, пени, штрафы и судебный процесс.

Еще одно следствие небрежного хранения — возможная утрата закрытого ключа. Ключ могут украсть. Его можно потерять. Если закрытый ключ записан на ненадежном носителе — дискете, есть опасность ее механического повреждения. Кроме того, дискета может затеряться среди других дискет, информацию с нее можно стереть по ошибке.

Утрата действующего ключа накануне сдачи отчетности приводит к тому, что вовремя отправить декларацию через интернет не удастся. Дело в том, что никто не сможет выдать организации «дубликат» закрытого ключа — у удостоверяющего центра его просто-напросто нет, а воссоздать закрытый ключ по открытому невозможно. Без закрытого ключа компания не сможет подписать отчетность и расшифровать протоколы из инспекции, где сообщается о том, принята ли отчетность или не принята из-за каких-то ошибок. Единственный выход — получать новые ключи. Если эта процедура затянется, и информацию о новых ключах инспекция примет к сведению с опозданием, декларации придется сдавать лично или отправлять обыкновенной почтой.

Закрытые ключи, у которых истек срок действия, тоже следует хранить бережно. Этот тезис особенно актуален для бухгалтеров, которые хранят все сданные отчеты не на своем компьютере, а в зашифрованном виде на сервере спецоператора связи. Если они лишатся закрытого ключа, действовавшего, скажем, в 2006 году, то они не смогут расшифровать собственную налоговую отчетность за этот год.

Дополнительная информация
Насколько надежна ЭЦП

Как мы уже упоминали, размер закрытого ключа ЭЦП, используемой при сдаче отчетности, составляет 512 бит. Для того, чтобы понять, какую степень надежности обеспечивает такой размер ключа, приведем пример. На подбор ключа размером 72 бита у группы исследователей, использовавших сотни компьютеров, ушло три года. Размер нашего ключа — 512 бит. Условия проведенного эксперимента позволяют вычислить количество лет, которое потребуется на его подбор. Этот срок выражается числом со 130-ю нулями. Для сравнения: возраст Земли оценивается в 4,5 миллиарда лет, а миллиард — число с 9 нулями.

Чем ЭЦП отличается от старых шифровок

Одним из первых шифрование информации (криптографию) на практике применил император Гай Юлий Цезарь. Он отправлял в удаленные провинции послания, где вместо буквы A ставил букву D, вместо буквы B — букву E и т д. То есть использовал алфавитный сдвиг на три буквы. Этого было достаточно, чтобы враги, перехватившие послание, не могли его расшифровать. Зато адресаты в провинциях, которым секрет шифра был известен, легко читали распоряжения из столицы.
С тех пор прошло больше двух тысяч лет. За это время было придумано огромное множество шифров (у Цезаря это был простейший алфавитный сдвиг на 3 буквы, а в аппаратах-шифраторах второй мировой войны уже применялись жуткие тысячезначные числа). Однако вплоть до недавнего времени ничего принципиально нового наука о шифровании не изобретала. Суть оставалась прежней: до сеанса документооборота отправитель сообщения и его получатель должны были разделить секрет шифра (для чего требовалась либо личная встреча, либо использование каких-то сверхнадежных каналов связи). Такое шифрование, при котором участникам документооборота необходимо передать друг другу секрет шифра, называется симметричная криптография.

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

Abilify MyCite поставляется с клеящим датчиком (см. в левом нижнем углу этого изображения) и смартфоном.

Новая «цифровая таблетка» может рассказать врачам о том, принял ли пациент свое лекарство. Таблетка отправляет сигнал переносимому датчику, когда пациент принимает лекарство, и эта информация затем отправляется в кабинет врача.

Вся система называется Abilify MyCite и состоит из таблетки, пригодного для носки датчика и приложения для смартфонов. Фактическим препаратом является Abilify (арипипразол), препарат, используемый для лечения шизофрении и биполярного расстройства. Препарат продается Otsuka Pharmaceutical, а датчик в таблетке был создан Proteus Digital Health.

Как работает система?

Хотя идея может показаться чем-то вроде научно-фантастического фильма, технология основана на принципе, впервые описанном более 200 лет назад, сказал д-р Джордж Сэвидж, главный медицинский работник и соучредитель Proteus Digital Health.

В 1800 году Алессандро Вольта изобрел батарею, состоящую из двух разнородных металлов (цинка и меди) в растворе серной кислоты и рассола. Батареи сделаны аналогичным образом по сей день.

Считается, что встроенная в таблетку система — это датчик, состоящий из кремниевого чипа с логической схемой, а также две части металла: медь и магний. Когда датчик падает в раствор воды или любой другой жидкости, которая имеет полярные молекулы (такие как соляная кислота в желудке, которая растворяет пилюлю, оставляя датчик позади), устройство будет генерировать ток. Ток очень мал, но этого достаточно, чтобы запустить чип.

«Технически, это частичный источник питания, — сказал Сэвидж. «Пациент становится батареей».

После активации чип — только 1 миллиметр на стороне и толщиной 0,3 мм — посылает очень простой сигнал, который кодирует только одно число. Это число идентифицирует таблетку и сообщает пригодному для носки, клейкому датчику, что он попал в организм.

Сигнал таблетки не является радиосигналом. Логическая схема чипа дает небольшой модулированный ток — график текущих уровней будет выглядеть как синусоидальная волна. Так как человеческий организм является проводящим, носимый датчик может поднять изменения. Модулированный ток может кодировать единицы и нули, аналогичные FM-сигналу.

Это работает так же, как электрокардиограмма. Эти машины подхватывают изменения электрического тока в корпусе для контроля сердечных сокращений. Носимый датчик делает то же самое, хотя ток меньше.

Таблетка предназначена для работы всего около 3 минут. Этого времени достаточно, чтобы отправить сигнал на носимый датчик, чтобы он проснулся и начал собирать данные. Это экономит энергию батареи, сказал Сэвидж, и позволяет носить переносимый датчик работать в течение недели за раз.

От пациента до врача

Носимый клейкий датчик может определить, насколько активен пациент, сказал Боб Маккуайд, главный специалист по стратегии в Otsuka Pharmaceutical. Он также может проверить, ложится ли человек, принимающий таблетки.

Из переносимого сенсора информация о том, что пациент принимал таблетку, отправляется в приложение для смартфонов через Bluetooth. Затем приложение спрашивает у пациента, как он себя чувствует, и записывает ответ. Если пациент соглашается, приложение может отправить время, в которое они принимали пилюлю, уровень активности и стресс доктору, который может смотреть на данные с течением времени и получить представление о том, как идет лечение пациента. Так, например, врач может знать, всегда ли пациент принимает лекарство в одно и то же время суток, или если есть тенденция забывать и принимать таблетку время от времени.

Информация, отправленная с переносимого датчика на телефон и из приложения телефона в офис врача, зашифрована, и нет реалистичного способа взломать сигнал, не находясь в очень тесном контакте с пациентом.

Даже если данные позволяют врачам следить за тем, чтобы пациенты принимали лекарство, нет никаких доказательств того, что система улучшает соблюдение режима лечения.

«Эти эксперименты еще не были сделаны», — сказал Маккуайд. Тем не менее, такие данные могут помочь врачам поговорить с пациентами об использовании лекарств и, возможно, определить хорошие привычки, сказал он.

Соблюдение режима и правильное использование являются постоянной проблемой. Например, многие люди, которые пропустили лекарство в день, что бы это ни было, на следующий день возьмут две таблетки, хотя с некоторыми лекарствами этого делать нельзя. «Люди делают то, что логично на работе, например, вы пропустите день, вы приходите и делаете больше работы, но не в фармакологии».

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

Задумывался ли ты о том, какой феноменальный прорыв в науке и технике произошел благодаря электронике и цифровой электронике в частности? Если нет, тогда возьми свой смартфон и внимательно на него посмотри. Такая простая с виду конструкция -- результат огромной работы и феноменальных достижений современной электроники. Создание такой техники стало возможным благодаря простой идее о том, что любую информацию можно представить в виде чисел. Таким образом, независимо от того, с какой информацией работает устройство, глубоко внутри оно занимается обработкой чисел.

Тебе наверняка знакомы римские и арабские цифры. В римской системе числа представляются в виде комбинации букв I, V, X, L, C, D, M, а в арабской с помощью комбинации символов 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Но существуют и другие формы представления числа. Одна из них -- это двоичная форма. Или, как её чаще называют, двоичная система счисления. В такой системе счисления любое число представляет собой последовательность только из "0" и "1".

Арабские Римские Двоичные
0 - 00
1 I 01
2 II 10
3 III 11

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

Независимо от того, с какой информацией работает цифровое устройство, глубоко внутри оно занимается обработкой чисел.

Почему именно "0" и "1", а не "0", "1" и "2", к примеру? На самом деле были вполне успешные попытки создать цифровую технику, которая использует не двоичную, а троичную систему исчисления ("0", "1" и "2"), но двоичная все же победила.

Возможно, победа досталась ей, потому что СССР развалился, а может потому, что "0" и "1" легче представить в виде электрических сигналов. А значит, цифровые устройства на основе двоичной системы исчисления проще и дешевле производить. Подробнее о двоичных числах я расскажу позже.

Структура цифрового устройства

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

Давай выберем что-нибудь из этого списка и посмотрим, как оно устроено. Пусть это будет микроконтроллер (МК)! Ладно, признаюсь. Микроконтроллер я выбрал неспроста. Дело в том, что именно появление микропроцессоров произвело настоящую революцию в электронике и выдвинуло её развитие на новый уровень.

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

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

В наше время наибольшей популярностью пользуются, к примеру, микроконтроллеры AVR, PIC, ARM. Каждая из компаний, что выпускает перечисленные виды МК, производит десятки, если не сотни, разновидностей микроконтроллеров, предназначенных под все мыслимые и немыслимые задачи.

Как работает микроконтроллер

Несмотря на всю сложность конструкции настоящего микроконтроллера, рассказать, как он функционирует можно всего одним предложением: "В память микроконтроллера записывается текст программы, МК считывает команды из этой программы и выполняет их", -- вот и всё.

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

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

Большинство микроконтроллеров исповедуют RISC. Объясняется это тем, что при использовании сокращенного набора команд микроконтроллеры проще и дешевле для производства, их легче и быстрей осваивают разработчики аппаратуры. Между CISC и RISC много различий, но сейчас принципиально важно запомнить только то, что CISC -- много команд, RISC -- мало команд. Глубже с этими двумя идеями познакомимся как-нибудь в другой раз.

Что происходит, когда включается микроконтроллер?

Итак, давай представим идеальный мир, в котором у тебя есть МК и в его память уже записана программа. Или, как обычно говорят, МК "прошит" (при этом программу называют "прошивкой") и готов к бою.

Что произойдёт, когда ты подашь питание на свою схему с МК? Оказывается, ничего особенного. Там нет вообще никакой магии. Происходить будет следующее:

После подачи питания микроконтроллер пойдёт смотреть, что находится в памяти. При этом он "знает", куда следует смотреть, чтобы найти первую команду своей программы .

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

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

Как устроен типичный МК

Любая микропроцессорная система стоит на трёх китах:

  1. Процессор (АЛУ + устройство управления),
  2. Память (ROM, RAM, FLASH),
  3. Порты ввода-вывода .

Процессор с помощью портов ввода-вывода получает/отправляет данные в виде чисел, производит над ними различные арифметические операции и сохраняет их в память. Общение между процессором, портами и памятью осуществляет по проводам, которые называются шиной (шины делятся на несколько видов по назначению). Это общая идея работы МП-системы. Вот как на картинке ниже.

МК, как я уже писал, тоже микропроцессор. Просто специализированный. Физическая структура микросхем МК разных серий может существенно различаться, но идейно они будут похожи и будут иметь такие, например, блоки как: ПЗУ, ОЗУ, АЛУ, порты ввода/вывода, таймеры, счетчики, регистры.

ПЗУ Постоянная память. Всё, что в неё записано, остаётся в ПЗУ и после того как устройство было отключено от питания.
ОЗУ Временная память. ОЗУ -- это рабочая память МК. В неё помещаются все промежуточные результаты выполнения команд или данные от внешних устройств.
АЛУ Математический мозг микроконтроллера. Именно он складывает, вычитает, умножает, а иногда и делит, сравнивает нолики и единички в процессе выполнения команд программы. Один из важнейших органов МК.
Порты I/O Просто устройства для общения МК с внешним миром. Без них ни во внешюю память записать, ни данные от датчика или клавиатуры получить нельзя.
Таймеры Готовил торт или курицу? Ставил таймер, чтобы он тебя оповестил, когда блюдо будет готово? Вот в МК таймер выполняет схожие функции: отсчитывает интервалы, выдаёт сигнал о срабатывании и т.д.
Счетчики Пригождаются, когда требуется что-либо подсчитать.
Регистры Самое непонятное слово для тех, кто хоть раз пытался освоить Асемблер самостоятельно. А между прочим они своего рода выполняют роль быстрой ОЗУ МК. Каждый регистр представляет собой своего рода ячейку памяти. И в каждом МК их всего несколько десятков.

Современный масштаб развития цифровой электроники настолько огромен, что даже по каждому пункту из этой табилцы можно написать целую книгу, а то и не одну. Я же опишу базовые идеи, которые помогут дальше самостоятельно разобраться более подробно в каждом из устройств.

Мозг микроконтроллера

Микропроцессор/микроконтроллер всегда работает по заложенной в него программе. Программа состоит из последовательности операций, которые МК умеет выполнять. Операции выполняются в ЦПУ -- это мозг микроконтроллера. Именно этот орган умеет производить арифметические и логические операции с числами. Но есть ещё четыре важных операции, которые он умеет делать:

  • чтение из ячейки памяти
  • запись в ячейку памяти
  • чтение из порта В/В
  • запись в порт В/В

Эти операции отвечают за чтение/запись информации в память и во внешние устройства через порты ввода/вывода. И без них любой процессор проверащается в бесполезный хлам.

Технически процессор состоит из АЛУ (калькулятор процессора) и управляющего устройства, которое дерижирует взаимодействием между портами ввода-вывода, памятью и арифметико-логическим устройством (АЛУ).

Память микроконтроллера

Ранее в таблице с типичными устройствами, входящими в МК, я указал два вида памяти: ПЗУ и ОЗУ. Различие между ними заключается в том, что в ПЗУ данные сохраняются между включениями устройства. Но при этом ПЗУ (ROM) довольно медленная память. Поэтому и существует ОЗУ (RAM), которая довольно быстра, но умеет хранить данные только тогда, когда на устройство подано питание. Стоит выключить устройство и все данные оттуда...пшик и нету.

Если у тебя есть ноутбук или персональный компьютер, то тебе знакома например такая ситуация: писал гору текста, забыл сохранить его на жесткий диск, внезапно пропало электричество. Включаешь компьютер, а текста нет. Всё верно. Пока ты его писал, он хранился в ОЗУ. Поэтому текст и пропал с выключением компьютера.

В зарубежном мире ОЗУ и ПЗУ называют RAM и ROM:

  1. RAM (Random Access Memory) -- память со случайны доступом
  2. ROM (Read Only Memory) -- память только для чтения

У нас же их еще называют энергозависимой и энергонезависимой памятью. Что на мой взгляд более точно отражает природу каждого вида памяти.

ПЗУ

Сейчас всё больше получила распространение ПЗУ память типа FLASH (или, по-нашему, ЭСПЗУ). Она позволяет сохранять данные даже тогда, когда устройство выключено. Поэтому в современных МК, например в МК AVR в качестве ПЗУ используются именно FLASH-память.

Раньше микросхемы ПЗУ-памяти были однократно-программируемыми. Поэтому если были записаны программа или данные с ошибками, то такую микросхемы просто выкидывали. Чуть позже появились ПЗУ, которые можно было перезаписывать многократно. Это были чипы с ультрафиолетовым стиранием. Они довольно долго прожили и даже сейчас встречаются в некоторых устройствах из 1990-х...2000-х годов. Например, вот такая ПЗУ родом из СССР.

У них был один существенный минус -- при случайно засветке кристалла (тот, что виден в окошечке) программа могла быть повреждена. А также ПЗУ до сих пор работает медленней, чем ОЗУ.

ОЗУ

Оперативная память в отличие от ПЗУ, ППЗУ и ЭСПЗУ является энергозависимой и при выключении питания устройства все данные в ОЗУ пропадают. Но без неё не обходится ни одно микропроцессорное устройство. Так как в процессе работы требуется где-то хранить результаты вычислений и данные, с которыми работает процессор. ПЗУ для этих целей не подходит из-за своей медлительности.

ПАМЯТЬ ПРОГРАММ И ПАМЯТЬ ДАННЫХ

Помимо разделения на энергозависимую (ОЗУ) и энергонезависимую память в микроконтроллерах есть разделение на память данных и память программ. Это значит, что в МК есть специальная память, которая предназначена только для хранения программы МК. В нынешние времена обычно это FLASH ПЗУ. Именно из этой памяти микроконтроллер считывает команды, которые выполняет.

Отдельно от памяти программ существует память данных, в которую помещаются промежуточные результаты работы и любые другие данные, требующиеся программе. Память программ -- это обычное ОЗУ.

Такое разделение хорошо тем, что никакая ошибка в программе не сможет повредить саму программу. К примеру, когда по ошибке МК попытается записать на место какой-нибудь команды в программе случайное число. Получается что программа надёжно защищена от повреждения. Кстати, у такого разделения есть своё особо название -- "гарвардская архитектура".

В 1930-х годах правительство США поручило Гарвардскому и Принстонскому университетам разработать архитектуру ЭВМ для военно-морской артиллерии. В конце 1930-х годов в Гарвардском университете Говардом Эйкеном была разработана архитектура компьютера Марк I, в дальнейшем называемая по имени этого университета.

Ниже я схематично изобразил гарвардскую архитектуру:

Таким образом программа и данные, с которыми она работает, физически храняться в разных местах. Что касается больших процессорных систем подобных персональному компьютеру, то в них данные и программа во время работы программы хранятся в одном и том же месте.

ИЕРАРХИЯ ПАМЯТИ

КАК УСТРОЕН МОЗГ МИКРОКОНТРОЛЛЕРА

Ты уже значешь, что мозгом МК является ЦПУ -- центральный процессор, который состоит из АЛУ (арифметико-логическое устройство) и устройства управления (УУ). УУ дерижирует всем оркестром из памяти, внешних устройств и АЛУ. Благодаря ему МК может выполнять команды в том порядке в каком мы этого хотим.

АЛУ -- это калькулятор, а УУ говорит АЛУ что, с чем, когда и в какой последовательности вычислять или сравнивать. АЛУ умеет складывать, вычитать, иногда делить и умножать, выпонять логические операции: И, ИЛИ, НЕ (о них будет чуть позже)

Любой компьютер, МК в том числе, умеет сегодня работать только с двоичными числами, составленными из "0" и "1". Именно эта простая идея привела к революции в области электроники и взрывному развитию цифровой техники.

Предположим, что АЛУ надо сложить два числа: 2 и 5. В упрощенном виде это будет выглядеть так:

При этом УУ знает в каком месте памяти взять число "2", в каком число "5" и в какое место памяти поместить результат. УУ знает обо всём этом потому, что оно прочитало об этом в команде из программы, которую в данный момент прочитало в программе. Более подробно про арефмитические операции с двоичными числами и как устроен сумматор АЛУ изнутри я расскажу чуть позже.

Хорошо, скажешь ты, а что если нужно получить эти числа не из программы, а из вне, например, с датчика? Как быть? Вот тут в игру и вступают порты ввода-вывода, с помощью которых МК может принимать и передавать данных на внешние устройства: дисплеи, датчики, моторы, задвижки, принтеры и т.д.

ЛОГИЧЕСКИЕ ОПЕРАЦИИ

Тебе наверняка хорошо знакомо шуточное высказывание про "женскую логику"? Но речь пойдет не о ней, а логике в принципе. Логика оперирует причинно-следственными связями: если солнце взошло, то стало светло. Причина "солнце взошло" вызвала следствие "стало светло". При этом про каждое утверждение мы можем сказать "ИСТИНА" или "ЛОЖЬ".

Например:

  • "Птицы плавают под водой" -- это ложь
  • "Вода мокрая" -- при комнатной температуре это утверждение истинно

Как ты заметил, второе утверждение при определённых условиях может быть как истинным, так и ложным. В нашем компьютере есть только числа и инженеры с математичками придумали обозначать истину "1", а ложь "0". Это дало возможность записывать истинность утверждения в виде двоичных чисел:

  • "Птицы плавают под водой" = 0
  • "Вода мокрая" = 1

А ещё такая запись позволила математикам выполнять с этими утверждениями целые операции -- логические операции. Первым до этого додумался Джордж Буль. По имени которого и названа такая алгебра: "булева алгебра", которая оказалась очень удобной для цифровых машин.

Вторая половина АЛУ -- это логические операции. Они позволяют "сравнивать" утверждения. Базовых логических операций всего несколько штук: И, ИЛИ, НЕ, -- но этого достаточно, так как более сложные могут комбинироваться из этих трёх.

Логическая операция И обозначает одновременность утверждений, т.е. что оба утверждения истинны одновременно. Например утверждение будет истинно только тогда, когда оба более простых утверждения будут истинны. Во всех остальных случаях результат операции логического И будет ложным

Логическая операция ИЛИ будет истинно, если хотя бы одно из участвующих в операции утверждений будет истинно. "Птицы плавают под водой" И "Вода мокрая" истинно, так как истинно утверждение "вода мокрая"

Логическое операция НЕ меняет истинность утверждения на противоположное значение. Это логическое отрицание. Например:

Солнце всходит каждый день = ИСТИНА

НЕ (Солнце всходит каждый день) = НЕ ИСТИНА = ЛОЖЬ

Благодаря логическим операция мы можем сравнивать двоичные числа, а так как наши двоичные числа всегда что-то обозначают, например, какой-нибудь сигнал. То получается, что благодаря булевой алгебре мы можем сравнивать настоящие сигналы. Этим логическая часть АЛУ и занимается.

УСТРОЙСТВО ВВОДА-ВЫВОДА

Наш МК должен общаться с внешним миром. Только тогда он будет представлять из себя полезное устройство. Для этого у МК есть особые устройства, которые называются устройствами ввода-вывода.
Благодаря этим устройствам мы можем посылать в микроконтроллер сигналы от датчиков, клавиатуры и других внешних приборов. А МК после обработки таких сигналов отправит через устройства вывода ответ, с помощью которого можно будет регулировать скорость вращения двигателя или яркость свечения лампы.

Подведу итоги:

  1. Цифровая электроника -- верхушка айсберга электроники
  2. Цифровое устройство знает и понимает только числа
  3. Любая информация: сообщение, текст, видео, звук, -- могут быть закодированы с помощью двоичных чисел
  4. Микроконтроллер -- это микрокомпьютер на одной микросхеме
  5. Любая микропроцессорная система состоит из трёх частей: процессор, память, устройства ввода-вывода
  6. Процессорс состоит из АЛУ и управляющего устройства
  7. АЛУ умеет выполнять арифметические и логические операции с двоичными числами

Оставайся с нами. В следующих статьях я расскажу более подробно как устроена память МК, порты ввода-вывода и АЛУ. А после этого мы пойдём ещё дальше и в итоге дойдём до аналоговой электроники.

p.s.
Нашёл ошибку? Сообщи мне!

/blog/tsifrovaya-elektronika-chto-eto/ В этом рассказе первые шаги в мир электроники делаются с необычного направления. Своё путешествие по электронике ты начинаешь с мира цифровой схемотехники, с микроконтроллеров 2016-11-17 2016-12-26 цифровая электроника, цифровая схемотехника, микроконтроллер, логические элементы

Большой радиолюбитель и конструктор программ

Если вы хотите смотреть самое качественное телевидение в России, то без базовых понятий о «цифре» вам не обойтись. И самое главное, о чем следует знать - это о цифровых телевизионных ресиверах или приставках. Мы расскажем о них все!

Цифровой ресивер представляет собой устройство для приема сигнала цифрового телевидения, преобразования и передачи его на аналоговый телевизор совершенно любой модели. Нередко цифровые ресиверы также называют цифровыми приставками, ТВ-тюнерами, dvb-t2 приставками или просто dvb-t2 приемниками. Обозначение «dvb-t2» говорит о том, какой именно стандарт цифрового телевидения поддерживает тот или иной ресивер. На сегодняшний день существую несколько кардинально отличающихся между собой стандартов цифрового телевидения:
- DVB-T/T2 – эфирное цифровое телевидение
- DVB-S – спутниковое телевидение
- DVB-C – кабельное телевидение
- DVB-T – эфирное цифровое телевидение
- DVB-H – мобильное телевидение

Наиболее простым и доступным на сегодняшний день является эфирное цифровое телевидение стандарта DVB-T2. Именно оно должно в самое ближайшее время заменить все аналоговое телевидение в России в рамках специальной государственной программы. Поэтому речь в данной статье пойдет дальше именно о цифровых телевизионных ресиверах, предназначенных для принятия сигнала стандарта DVB- T2. Существуют приставки для домашних телевизоров и для автомобильных, и все они работают по одному принципу, все они отличаются простой эксплуатацией и широким функционалом.


Просмотр каналов цифрового телевидения - это основная задача ресивера, к дополнительным опциям относятся:

1. Поддержка различных форматов видео и аудио
2. Функция записи прямого эфира телевидения
3. Воспроизведение мультимедийных файлов с USB-носителей
4. Функция паузы прямого эфира и дальнейшего воспроизведения с момента остановки
5. TimeShift - возможность отложенного просмотра программ цифрового телевидения

Как работает цифровой телевизионный ресивер?

Схема работы цифровой приставки достаточно проста. На первой промежуточной частоте сигнал в диапазоне 950-2150 МГц с выхода малошумящего усилителя конвертера переходит по кабелю в СВЧ приемник ресивера, в демодуляторе корректируются потенциальные ошибки, а выделенный на выходе поток поступает на демультиплексор, разделяющий информационный поток на видео, звук и др., где и осуществляется дешифровка. В декодере видео потока MPEG-2 видеосигналы декодируются в декомпрессированные цифровые сигналы, которые далее разделяются на составляющие: яркостной (U), зеленой (G), красной (R), синей (В).

Кодер цифрового тв преобразовывает стандарты, следовательно, на его выход можно подключить приемник, работающий в одном из трех стандартов для аналогового тв: РАL, SEСАM или NТSС. А с декодера звука на выходе поступают и цифровые, и аналоговые сигналы. Мультипроцессор предназначен для управления демультиплексором-дешифратором и выделения сигнала при задействовании интерактивной системы связи, а также для выделения интегрированных пакетов данных. А благодаря модулю цифрового управления и ИК датчика есть возможность управлять ресиверов с помощью пульта ДУ.

Электронная цифровая подпись сейчас на слуху - многие современные компании потихоньку переходят на электронный документооборот. Да и в повседневной жизни ты наверняка сталкивался с этой штукой. Если в двух словах, суть ЭЦП очень проста: есть удостоверяющий центр, есть генератор ключей, еще немного магии, и вуаля - все документы подписаны. Осталось разобраться, что же за магия позволяет цифровой подписи работать.

Roadmap

Это пятый урок из цикла «Погружение в крипту». Все уроки цикла в хронологическом порядке:

1. Генерация ключей

Причина стойкости RSA кроется в сложности факторизации больших чисел. Другими словами, перебором очень трудно подобрать такие простые числа, которые в произведении дают модуль n. Ключи генерируются одинаково для подписи и для шифрования.


Когда ключи сгенерированы, можно приступить к вычислению электронной подписи.

2. Вычисление электронной подписи


3. Проверка электронной подписи


RSA, как известно, собирается уходить на пенсию, потому что вычислительные мощности растут не по дням, а по часам. Недалек тот день, когда 1024-битный ключ RSA можно будет подобрать за считаные минуты. Впрочем, о квантовых компьютерах мы поговорим в следующий раз.

В общем, не стоит полагаться на стойкость этой схемы подписи RSA, особенно с такими «криптостойкими» ключами, как в нашем примере.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!