User Tag List

Страница 4 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 31 по 40 из 70

Тема: Возможность доработки БК0010-01 -> БК0011М

  1. #31

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    процессоры серии имеют и более продвинутую архитектуру (предвыборка даже у ВМ1, предекодер у ВМ2/ВМ3, блок арифметики, у ВМ3 интерфейс сопроцессора, контроллер прерываний полностью свой)
    Да, но к самой реализации камня и БК на этом камне у меня много претензий (речь про ВМ1, за остальные не в курсе):
    16-битная шина адреса при 16-битном машинном слове - это тупик. Сделали бы хоть 20, ну минимум 18 ША.
    Работа с половинками 16-битных регистров очень ущербная, регистры не делятся пополам, как в Z80, у которого, по сути, тоже 16-битные регистры.
    Отсутствуют порты ввода-вывода как класс, сделана их имитация путем чтения-записи в память, что сильно ограничивает возможности проца и машины.
    Причем часть адресов подменяется реальными портами, физически реализованными на плате, что еще больше запутывает программиста. Нужно курить мануал по каждому порту.
    На эту удочку попадаются даже опытные кодеры. Известный Manwe, ваяя код своего плеера для Covox, даже не знал, что обратно данные из "порта" ковокса прочитать не получится.
    Довольно странная (с точки зрения спектрумиста) система прерываний. Повторюсь, с точки зрения спектрумиста. Отсутствует привязка прерываний к кадровому синхроимпульсу
    (в БК-0010), соответственно, плавное пофреймовое изменение картинки по сигналу VSync реализуется с огромными сложностями. В 11-й модели это, вроде, пофиксили.
    Совершенно дурацки реализован экран. Ну кто додумался сделать квадратную область вывода (256х256) прямоугольником??? Делали бы или 256х192, как на Спектруме, или 256х256,
    но квадратом на экране, а не 4:3 с растянутыми пикселями. Любой код, работающий с графикой, необходимо обучать, что смещение вверх-вниз не равно влево-вправо.
    Автоматом идет следствие - невозможно напрямую 1 в 1 попиксельно копировать изображения на БК или обратно с БК, нужна конвертация.

    Уж извините за такие подробности, но, с точки зрения рядового юзера, 8-битный Спектрум как комп состоялся куда лучше 16-битного БК.

    - - - Добавлено - - -

    Цитата Сообщение от MM Посмотреть сообщение
    Модель БК11 без "М" - не особо удачная
    Да, штудировал инфу по моделям, 0011М - лучший вариант. Если клава от 10-ки реально подходит, пусть и с перепайкой шлейфов, то подумаю.

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Да, но к самой реализации камня и БК на этом камне у меня много претензий (речь про ВМ1, за остальные не в курсе)
    Лень писать большой ответ, но претензий собственно к ВМ1 я в Вашем посте не увидел. Есть наезд на архитектуру PDP-11 в-общем, и на БК-001x в частности, но то такое.
    Дело в том, что даже стартовый ВМ1 - это приличная машинка, умеющая то, что 8080/z80 никогда не умел:
    - асинхронная (16-битная) шина с подтверждением и тайм-аутом
    - система исключений
    - векторный контроллер прерываний
    - ортогональная система команд
    То, что оно было медленным в ограниченной реализации (транзисторные бюджеты и скорость вентилей на тех технологиях) и сложным/дорогим никак не умаляет архитектурных принципов. Другое дело что они тогда опередили время и в тот момент уступили более простых решениям для массовых потребителей.
    И софт на тех машинках запускали соответствующий. Разве можно сравнить RSX-11M с полноценной вытесняющей многозадачностью, реальным временем, виртуальной памятью, разделением прав доступа, разделяемыми библиотеками (то что позже стало dll/so), с CP/M или MS-DOS? Машинки на PDP-11 до сих пор рулят ядерными реакторами в Штатах, как с этим у Z80 ? Ну не вопрос, для массовой персональной игровой поделки - z80 подошел отлично - дешево, просто и сердито. Почему бы и нет, для братьев Марио можно обойтись без виртуальной памяти и исключений, PDP-11 тут и правда оверкил, и сама бэкашка, честно говоря, весьма странная поделка. Но это не значит что ВМ1 - "не тот". Для тех времен - вполне себе "тот", индустриальный стандарт, я очень рад что начал свою айтишную карьеру с СМ4/RSX-11M а не со Спектрума - пришлось влезть в кучу разных фундаментальных концепций сразу, и это дало мне нормальный стартовый каркас, а не сделало гуру оптимизации клешинга

    Эти 8 пользователя(ей) поблагодарили Vslav за это полезное сообщение:

    avk.ghost(08.06.2022), Hunta(20.07.2021), MM(19.07.2021), Radon17(19.07.2021), reddie(19.07.2021), SuperMax(19.07.2021), xolod(19.07.2021), Ратмир(20.07.2021)

  4. #33

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    ВМ1 - это приличная машинка, умеющая то, что 8080/z80 никогда не умел:
    - асинхронная (16-битная) шина с подтверждением и тайм-аутом
    Не силен в этой области, пришлось курить доки. В итоге нашел главное по асинхронке:

    В момент времени t0 инициатор выдает, на линии шины адрес подчиненного устройства и информацию о типе пересылки (команду). В момент времени t1 он сообщает об этом всем подчиненным устройствам по линии Master-ready (инициатор готов). Все подключенные к шине устройства, при активации этой линии, декодируют адрес. Устройство, для которого предназначена команда, выполняет ее и информирует об этом хозяина сигналом квитирования Slave-ready (подчиненный готов), после чего хозяин может начинать новый шинный цикл.
    Т.е. пока устройство назначения не пришлет команду подтверждения приема - процессор простаивает.
    Это реализуется и на Спектруме, проц вэйтится, если в момент обращения к памяти она занята видеоконтроллером.
    С чтением-записью портов примерно та же ситуация, проц можно застопорить по обращению к ним.

    - система исключений
    Имеется в виду аварийный выход по неправильному коду операции? Тут да, Z80 просто проигнорит его.

    - векторный контроллер прерываний
    Как раз процессор Z80 (а не Спектрум) умеет работать с векторами, выставляемыми на шину. Баловался в свое время.
    Можно даже реализовать подобие приоритетов прерываний. Но в Спектруме это не реализовано для простоты и дешевизны.

    - ортогональная система команд
    А вот это и есть то, что зацепило меня в БК (процессоре). Ну, удивило, обрадовало, в этом смысле.
    Можно одной командой творить штуки, которые у Z80 займут несколько. Но, тут есть одно большое НО.
    Поискав данные о растактовке команд ВМ1 (я ж кодер, ага), внезапно обнаружил, что самые "вкусные" команды
    жрут до 60 тактов процессора. То бишь проц банально молотит кучу мелких последовательных операций на одну команду.
    Z80 сделает то же самое за примерно такое же время, просто ему приходится расписывать команды отдельно.

    В целом, ВМ1, конечно, сильнее Z80, но в БК все та же убогая страничная адресация памяти свыше 64К. А все из-за куцей шины адреса.
    Плюс (для БК10 особенно критично) любая команда жрет минимум 2 байта памяти. Даже банальный NOP. В итоге код разбухает.
    Неужели нельзя было сделать некий набор однобайтных инструкций? Пусть машинное слово 2 байта, но можно же заложить условие, скажем,
    что однобайтные команды обязательно идут по две. Допустим, работа с половинками регистров. Вариантов можно придумать массу.

    Ладно, все это к топику отношения не имеет. Но сравнительный анализ интересен))) Прошу не подчищать сообщение.

  5. #34

    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,245
    Спасибо Благодарностей отдано 
    343
    Спасибо Благодарностей получено 
    369
    Поблагодарили
    261 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    В этом и весь смысл... ниже дам развернутый ответ.
    Тем не менее, в каждом втором описании/рассказе о БКашках содержится увлекательное чтиво про искомые 5-10 минут прогрева. Не у всех же подряд кондеры высохли/микрухи сдохли.
    где именно ? пруфы ?
    работа после прогрева это _явная_ неисправность.
    я в начале 90х годов профессионально занимался ремонтом БКшек и подобные неисправности встречались не часто, но достаточно легко устранялись
    и в основном причиной были 037-е, но были даже 128-е. реже рассыпуха.

    Да, он примитивная машина, зато работает )) С точки зрения, как бы это сказать, удачности, БК еще примитивнее Спектрума, ибо на родной (железной) машине
    невозможно полноценно писать объемные программы, тупо не хватает ресурсов. Даром, что ли, нынче весь софт для БК поголовно пишется на PC в кроссах.
    это нынче, раньше все разрабатывалось на самих БК.
    смешно слушать про "невозможно полноценно писать объемные программы" ибо серия ассемблеров ТURBO появилась еще на 10-ке


    В то же время, на 128-м Спектруме без проблем пишется весь нужный код (в ассемблере) и компилится на оригинальной машине.
    128й корректно сравнивать с БК11М и тут никаких проблем с ресурсами или средствами разработки нет

    Теперь подробно поясню, в чем моя мотивация сделать из 10ки 11й. Будет немного длинно, но, возможно, интересно.
    Вообще, я спектрумист, а БКшкой заинтересовался недавно, разгребая старое железо и обнаружив "потрошеный на кондеры" БК-0010.
    Если сама плата исправна, восстановление даже с учетом замены проца (он тоже выкушен) выйдет довольно дешевым.
    Начал смотреть инфу в инете о компе, о процессоре. Привлекла необычная система команд, по сравнению с Z80 позволяющая немыслимые вещи.
    Правда, когда узнал, какой ценой даются эти команды, восторг несколько поутих. Но речь не об этом.
    Сравнивая БК и Спектрум, нашел явную аналогию: по возможностям 0010 и 0011 примерно равны ZX 48 и ZX 128, даже объем памяти, можно сказать, совпал.
    Само собой, захотелось 11-ю БК. Полез мониторить цены. Сперва удивили цены на 10-ю, но там хотя бы знаменитые кондеры частично оправдывают стоимость.
    Когда же увидел цены на 11-ю... нет, уж, спасибо. Лучше в эмуляторе посижу. Платить 15 и больше тысяч за комп уровня Спектрума и Денди,
    софт для которого можно пересчитать по пальцам (речь про 0011), а число пользователей в разы ниже юзеров того же Спектрума - по-моему, бред.

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

    да, напоминаю, не надо путать 11 и 11М
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  6. #35

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Т.е. пока устройство назначения не пришлет команду подтверждения приема - процессор простаивает.
    Это реализуется и на Спектруме, проц вэйтится, если в момент обращения к памяти она занята видеоконтроллером.
    Нет, тут есть принципиальная разница - между снятием READY и ожиданием RPLY.
    При ожидании RPLY у ВМ1 запускается внутренний таймер, и если по истечении таймера ответ не получен - возникает исключение.
    Такой подход позволяет реализовать простейший PnP и программно определить есть что-то по интересующему адресу или нет.
    Более того, можно принципиально реализовать интересные вещи типа Substrative Decoding.

    Цитата Сообщение от reddie Посмотреть сообщение
    С чтением-записью портов примерно та же ситуация, проц можно застопорить по обращению к ним.
    I/O порты это вообще очень страшная вещь, стоившая индустрии миллиарды долларов, и эти счета до сих пор полностью не оплачены.
    Digital на самом деле сделала крутейший шаг вперед выкинув адресное пространство портов и включив устройства в адресное пространство памяти, унифицировав транзакции шины. Да, когда у вас нет защиты памяти, и всего 64К мгновенно доступны по произвольному адресу - втыкать устройства в это пространство страшно и не очень надежно. Но в DEC понимали что защита памяти будет, обязательно будет, и рискнули сделать унификацию - они умели думать на пару шагов вперед. Нету на шинах DECа адресного пространства портов. Это делает транзакции на шине полностью унифицированными и их количество минимальным - схемы декодирования упростились намного, DMA стал унифицированным и прочее. А вот x86, например, до сих пор цепляется за отдельное адресное пространство портов и все время платил за это свою цену - отдельный тип транзакций, отдельные схемы декодирования, отдельные шины, отдельные инструкции. Дальше-больше, отдельный тип транзакций PCI, типы BAR. Скорости растут, появляются новые шины, и везде это гемор с отдельным классом транзакций I/O портов тянется, взымая свою плату с процессоров, чипсетов и софта. Но шины все быстрее - синхронные протоколы, последовательные каналы, пакетный обмен, и на этом - все, I/O наконец умирает, например в шине AXI таких транзакций нет. Теоретически можно тегировать, но никто с этим уже не заморачивается. И вот уже спецификация SR-IOV говорит что устройства с I/O BAR не подлежат виртуализации. Почему? "Идите на@#й со своими I/O портами, вот почему" - ласково сказали разработчики рут-комплексов, виртуальных функций, IOMMU/VT-d и гипервизоров. В-общем, I/O порты на заре индустрии имели смысл, но потом они собрали кровавую жатву обратной совместимости, и местами все еще продолжают собирать, хотя сегодня изоляция адресных пространств реализуется совсем другими методами. Ото я загнул?

    Цитата Сообщение от reddie Посмотреть сообщение
    Как раз процессор Z80 (а не Спектрум) умеет работать с векторами, выставляемыми на шину. Баловался в свое время.
    Да, про IM2 я подзабыл, так что признаем что умеет, да.

    Цитата Сообщение от reddie Посмотреть сообщение
    Поискав данные о растактовке команд ВМ1 (я ж кодер, ага), внезапно обнаружил, что самые "вкусные" команды
    жрут до 60 тактов процессора. То бишь проц банально молотит кучу мелких последовательных операций на одну
    Да, это правда, ВМ1 не самая быстрая реализация команд PDP-11. Первый блин, к тому же реализованный на микроавтомате сделанном для другой архитектуры. ВМ2 - "работа над ошибками", при сопоставимом транзисторном бюджете работает намного лучше - предвыборка, предекодер, простой конвейер, блок арифметики, вылизанная микропрограмма.

    Цитата Сообщение от reddie Посмотреть сообщение
    Неужели нельзя было сделать некий набор однобайтных инструкций? Пусть машинное слово 2 байта, но можно же заложить условие, скажем,
    что однобайтные команды обязательно идут по две. Допустим, работа с половинками регистров. Вариантов можно придумать массу.
    Да все можно, но это будет другая архитектура. И опять-таки, надо смотреть не на братьев Марио, а в завтра - проблема памяти решается, объемов кода решается, а моноширинная система команд остается. И на этом сегодня стоят и ARM-ы и RISC V - декодер проще, конвейер проще, перформанс на такт выше. Но PDP-11 - это чуть другое, не RISC, да, но свой бонус от ортогональной системы команд он тоже получил - первые PDP-11 удалось собрать на мелкой логике.
    Последний раз редактировалось Vslav; 19.07.2021 в 22:20.

    Эти 3 пользователя(ей) поблагодарили Vslav за это полезное сообщение:

    grf(20.07.2021), Hunta(20.07.2021), SuperMax(20.07.2021)

  7. #36

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SuperMax Посмотреть сообщение
    да, напоминаю, не надо путать 11 и 11М
    Да не путаю, просто под 11 как бы по умолчанию подразумевается 11М. Это все равно, что писать каждый раз Z80A вместо Z80.
    Да, БК11(М) как бы "аналог" Спектрума-128, но нынешняя тяга к эмуляторам и кроссам свое дело делают...
    Про зависания и прогревы информации масса, но сейчас уже не могу ковырять, спать пора. Потом насобираю, если принципиально.
    Там речь о том, что чуть ли не таймеры и синхронизация с телевизором от температуры зависит, я ж не сам это сочинил))

  8. #37

    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,246
    Спасибо Благодарностей отдано 
    498
    Спасибо Благодарностей получено 
    557
    Поблагодарили
    436 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    но в БК все та же убогая страничная адресация памяти свыше 64К
    БК11 разработана была в период лета 1985 ( идея ), начало 1986 г. ( плата с 5 шт. набортными ПЗУ и стартующая с БИОС от БК0010 ) и полноценная 2-кварцевая БК11 в декабре 1986 г., на 1801РР1 с 201-202 дампами БИОСа.
    Т.к. были заданы топнормы ДПП 0.3/0.3 миллиметра и строго дешовые ДИП ИС, практически никакого др. варианта небыло, при сохранении аппаратной ( переключаемой ) совместимости с БК0010.
    В 1987 г. было принято решение о проектировании БК0100, но вот незадача - на Экситон пришел руководить господин Южной наружности, и все денюшки на проектирование чудесным образом стали испаряться в московских "прачечных", в т.ч. сотни тыс. полноценных рублей на проектирование БМК.
    ( А кое-кто в 1991 г. прикупил себе новенький СААБ, и еще несколько "зашкваров" было... )
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU

  9. #38

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    Т.к. были заданы топнормы ДПП 0.3/0.3 миллиметра и строго дешовые ДИП ИС, практически никакого др. варианта небыло
    Ну это уже побочки, я имел в виду не конкретно БК, а процессор. 16-битная шина адреса на 16-битном (по шине данных) проце это мрак.
    В целом, признаю, мои придирки, в основном, относятся именно к реализации БК как компа, а не применявшемуся в нем процессору.
    Список претензий расписан где-то повыше)) Там еще забыл упомянуть отдельную клавишу для повтора символов. Пять баллов за идею.
    Это каким надо гением быть, чтоб залепить отдельную кнопку вместо нормального драйвера клавиатуры, отслеживающего удержание клавиш.
    Можно было сделать машину намного продвинутей, даже с таким урезанным по шине камнем. Но не зажатая в 64к адресов шина оставляла бы задел на будущее.

    Ладно, наши лирические измышления к теме топика мало относятся. Но для потомков, для истории пусть остаются. Чтоб не повторяли ошибок предков =)

  10. #39

    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    600
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Ну это уже побочки, я имел в виду не конкретно БК, а процессор. 16-битная шина адреса на 16-битном (по шине данных) проце это мрак.
    "По шине данных"????? Ты не знаешь, что у БК нет отдельной шины данных? У БК шина МПИ (QBUS), она мультиплексированная!

    И вообще, в БК не шина тормозит. Совсем не шина.

    Цитата Сообщение от reddie Посмотреть сообщение
    Там еще забыл упомянуть отдельную клавишу для повтора символов. Пять баллов за идею.
    Ну вот это единственная разумная претензия пока что.

    Цитата Сообщение от reddie Посмотреть сообщение
    Но не зажатая в 64к адресов шина оставляла бы задел на будущее.
    Так ты к процессору или к БК претензии имеешь? 16 бит адреса -- это ограничение процессора.

  11. #40

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Ты не знаешь, что у БК нет отдельной шины данных?
    В курсе, доки по процу и БК ковырял. Совмещенная шина - еще больший идиотизм, потери времени на мультиплекс.
    Цитата Сообщение от Sandro Посмотреть сообщение
    Так ты к процессору или к БК претензии имеешь? 16 бит адреса -- это ограничение процессора.
    К обоим, но конкретно здесь - к процессору. Лишь к ВМ3, наконец, додумались сделать расширенную шину.

Страница 4 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Каталогизация софта БК0010 / БК0011М
    от Woland в разделе БК-0010/0011
    Ответов: 21
    Последнее: 26.10.2025, 14:16
  2. Ответов: 2
    Последнее: 24.02.2017, 00:49
  3. Ответов: 0
    Последнее: 10.04.2016, 18:04
  4. Ответов: 70
    Последнее: 21.10.2013, 22:53
  5. Куплю БК0010.01 или БК0011М
    от Hakuna в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 08.06.2010, 13:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •