Pull to refresh
0
@pharoread⁠-⁠only

User

Send message
Полезно ещё наличие трекера в профиле пользователя на оставленных комментариях к статье

Бывает даже к очень давнишним статьям появляются комментарии, но это не отследить, если не подписан на статью, хотя и оставил в ней комментарий.

P.S. К, примеру, если зайдёшь в профиль пользователя на оставленные комментарии и там бы тоже такой трекер был бы полезен для прочтения новых сообщений.
Минусуют и ладно, а вот было бы интересно прочитать комментарий за прилетевший плюс для понимания отклика от положительной обратной связи.
Мне особенно запомнилась игра Zynaps её начальным треком звуковой заставки при выводе на бипер.
image

P.S. А, игр, действительно много было интересных и особенно запоминающихся и из-за фишки
ZX-Spectrum — его небольшой цветовой «поаллитрой в ярких цветах.
К примеру, разместили/считали данные одной структуры, а на следующем шагe понадобились данные другой структуры и обработка данных полей.
Разве в этом случае можно обойтись лишь работой с имеющимся количеством регистров зная что при «каждом» чихе данные придётся перегружать в них?
А, если ещё используется, к примеру, какое то ядро представляющее функциональность ОС. (RTOS).
Больше для интереса запускал на Atmega162 amForth (версии 5.5) пришлось, правда, немного повозиться для оживления для неё загрузчика.
А, далее ещё и проверил работоспособность прошивки через запуск её в программе Proteus с её штатным терминалом. Узнал, что в программе Proteus не реализован функционал поддержки самопрограммирования AVR контроллеров.

P.S. По PIC есть такая методичка Г.Р.Алпатов «Применение PIC-контроллеров в измерительной технике»
Учебно-методическое пособие «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ
И книги отличные печатали, в особенности издательства Мир и с красочно сделанным контентом.

P.S. Таблицу команд и мнемоник процессора Z80 была у меня из двух томника за автором Рафикузмана.
С делением на 4-5 из-за наличия аккумулятора не очень корректный вывод.
т.к. лишь ограниченное число переменных можно разместить в регистрах и вычислительные формулы чего-либо по данным тоже потрeбует считывания/записи данных в регисты из/в памяти.

P.S. К примеру у PIC контроллера тоже данные проходят через «один» регистр и 4-е такта на команду, но это не помешало им занять «ведущее» положение на рынке и купить Atmel.
MISC против RISC против CISC
Philip J. Koopman, Jr. «Стековые компьютеры, новая волна» (1989)
MuP21
Прагматичные процессоры (статья от 2001г)

В отличие и от самых эффективных эмуляторов Java-машины, и от лучших JIT-компиляторов (осуществляющих трансляцию Java-кодов в коды целевой платформы в ходе загрузки задачи), аппаратные стековые машины привлекательны не только (и не столько) очень высокой производительностью, хотя их быстродействие впечатляет. Так, при потреблении в 5 раз (!) меньшей мощности они уверенно — почти в 2 раза — обходят своих далеко не самых медленных конкурентов из регистрового мира RISC: классическая стековая
машина «выдает» на тестах CM (CaffeineMark) 1900 единиц против 1000 единиц очень удачного процессора ARM7TDMI при тактовой частоте 100 MHz (для сравнения, этот показатель соответствует уровню производительности процессора Intel Pentium 150 MHz или даже Pentium Pro 200 MHz — в зависимости от качества реализации виртуальной машины Java). При этом следует учесть, что тесты CM комплексные, и полученная оценка является интегрированной, включающей и интенсивные вычисления с плавающей точкой, которые обычно производителями стековых машин аппаратно не поддерживаются!

Но все же главная привлекательность безадресных архитектур кроется в исключительно высоких показателях скорости переключения между задачами/потоками в многозадачных/поточных программных системах. Каноническим регистровым машинам в таких случаях надо сохранить
текущий контекст в стеке, размещающемся в некоторой области оперативной памяти.
Так как контекст современных процессоров достаточно объемен (обычно у них много регистров), а операции записи во внешнюю память относительно медленны, то и время переключения получается (в терминах процессора) очень продолжительным. Стековым машинам такие операции не нужны — их контекст уже хранится в стеке, поэтому переключение обычно осуществляется за один такт. Чтобы понять порядок величин, следует привести такой пример: переключение между потоками даже в весьма неплохих ОС реального времени, написанных на компилируемых языках и тщательно оптимизированных, отнимает одну-две миллисекунды процессорного времени.
Для процессора aJ-100 и программы, написанной на Java, переключение между двумя потоками занимает строго 1 микросекунду.

Такая разница (на три порядка!) означает, что процессору легче «справляться»
со множеством разных задач, что исключительно важно уже не только для «настольных» машин, но и для самых разнообразных персональных устройств.
..


MISC (компьютер с минимальным набором команд, Minimal Instruction Set Computer) — архитектура для проектирования процессора, которая отличается наилучшей эффективностью и простотой в сравнении с CISC и RISC. Может содержать в себе блок RISC, обрабатывающий в себе от 10 базовых команд (+, —, /, *, if, else & etc), из которых формируются более сложные операции над значениями, методом ветвления полученных результатов в ПЗУ. С точки зрения быстродействия, время выполнения инструкции, скорость записи и передачи данных в память, сократилось бы в разы, так как не нужно было бы ожидать, пока заполнится и очистится конвейер, а выполнять всё «потоково» без задержек.

Причиной, по которой данная архитектура не стала популярной в компьютерных технологиях – сложность написания программ под различные процессоры. Ведь все нюансы по подбору методов вычисления и оптимизаций возлагались на плечи программистов. К тому же, с повышением сложности выполняемых задач, требовалось более сложное ПО, что тормозило бы развитие микропроцессорного рынка. Поэтому, было разумнее переложить и стандартизировать процессы выполнения стандартных формул (инструкций) на плечи процессорных специализированных блоков и написать программу «дирижёр», которая управляла бы этими процессами (как в CISC).

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

Первая вариация данного процессора под названием MuP21 (1995г)

, имеет вычислительную способность 100 MIPS, при техпроцессе 1.2 мкм (!), энергопотребление 50 мВт. Работа процессорa на 100 мГц и количество транзисторов равно 7000 штук (!).
Впечатляет. У Pentium 1 (60 МГц) с 3.1 млн. транзисторов, 0,8 мкм и до 15 ватт энергопотреблением, вычислительные возможности были примерно на том же уровне.
Вероятно, как людей обслуживающих Корвет класс и разрабатывающих ПО для их по заказам от производителя?

P.S. А, понятно, они у нас ещё были на первом или втором курсе.
(года разные поступления в Вуз)
Как то даже не думал о том, откуда у меня образовалась привычка иногда писать от руки полупечатным шрифтом.
Да, объём курсовых такой примерно и требовался, а бывало прокатывало их написания с двойным интервалом между строк для объёмности выходной работы.

P.S. Особо требовалось соблюдать шрифтовые нормы в предмете начертательной геометрии.
с Z80 у меня вообще началось знакомство с ассемблером на ZX-Spectrum.
в разработке программы ПЗУ для включения в неё и режима турбосчитывания и рускоязычной клавиатуры. Пришлось пройти несколько итераций стирания-записи ПЗУ ультрафиолетовой лампой до получения удовлeтворительного результата.
Потом ещё подцепил полноразмерную клавиатуру задействовав все 8-мь линий порта ввода и как финал переделка программы редактора TLW для понимания ей всех появившихся клавиш.

P.S. Дальше даже расширял уже штатный Бейсик для поддержки им функционала форматного вывода данных по аналогии с Си языком.
Примерно год от начала процесса до внедрения в производственный цикл. Забавно, что бухгалтерская часть учёта этих данных писалась на Турбо Бейсике 1.0, но уже не мной, кроме программы преобразования данных из протокола прибора в формат для обработки принятый в базе данных.

P.S. Попутно написал и программу для машины укладчика ткакни в поддоны для измерения её длины.
Драйвер для ПК вообще сначала писался на Турбо С, а потом уже его выхлоп стал ассемблерной программой в DOS. :)
В моём случае выбора по железу не было т.к. изначально эти приборы были сделаны разработчиками на Чайковском комбинате шёлковых тканей, а моей задачей была привязка в технологическую структуру местной фабрики с разработкой большей части ПО как верхнего уровня так и программы самого прибора.
Это 1816ВЕ39 и 1816ВЕ48 (8051), как наиболее востребованные (их вроде, и сейчас можно купить в ЧипДип) и книга по ним?

P.S. В книге Хвоща ещё были представлены разные МПК.
Это не безрыбье — это 1994г. когда и зарплату предлагали получать в виде рулонов ткани, а обычная зарплата исчислялась в сотнях тысяч рублей. :)
Да, возможностей 580 было достаточно для решения и производственных задач.
В моей прктике сделал по работе автоматизацию места разбраковщика ткани в цеху на ткацкой фабрике (устройство с клавишами, сегментно-буквенным индикатором на 15-ть символов, датчиком метража). — 9ть приборов соединялись по RS-232 к компьютеру на 386-х процессоре и после соединения со стороны ПК периодически отдавали данные в систему для их хранения, обобщения и учёта для бухгалтерской программы.
На ПК данные с приборов запрашивались с помощью резидентной программы.
Тактовая 1821 (контроллер совместимый с 580, но однополярным питанием) вроде даже была где то 2.5МГц.
Программа писалась сначала в парадигме «супер-петли», но её возможностей со временем не хватило и было принято решение её переделки на алгоритм работы реагирования на возникающие события в системе, чего вполне оказалось достаточно для решения всех задач для работы прибора.

P.S. 500 тыс/с — это вроде при оценке команд типа пересылки регистр-регистр.
Случай был такой.

После составления программы на МК ассемблерa 580 принялся за её переписывание от руки на чистовой лист бумаги A4, завершил это действие, но при проверке сделанного
выяснился маленький ньюанс, что лист бумаги, в процессе оформления кода, был перевёрнут не справо-налево, а сверху-вниз и сответственно текст на обратной стороне листа стал «вверх-тармашкой». А, что делать время потрачено много и переписывать повторно тоже самое не оказалось желания. Было принято решение идти и сдавать лабароторную работу в таком виде преподавателю с озвучиванием ему сего получившегося казуса.
На что было примерно сказано по смыслу преподователем следующее: что важнa не форма, а содержание.
В результате лабораторная работа была зачтена. :)
Цитата из статьи по Форт с Лурк.

Итого, если в LISP скобка — это базовый эзотерический символ, а в прочих языках соблюдается некий баланс, то в Форте вся эзотерика строится на отсутствии скобок в записи выражений. Мегаследствие: все различия глобальных концептов в программировании определяются числом скобок в языке! А не всякими там ООП, замыканиями и прочими коротящими мозги штуками.

Ну, почему же без дела?
У меня даже осталось интересное воспоминание по сдаче лабы на этот чемоданчик Гаку С.П :)
Ну да, ещё можно добавить к практическим навыкам — участие в олимпиадах по программированию. :)

Information

Rating
Does not participate
Registered
Activity