User Tag List

Показано с 1 по 10 из 99

Тема: Про Motorola, IBM, DEC, ...

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #22

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от litwr Посмотреть сообщение
    LDS для работы с памятью, размером с десяток байт?!
    а где гарантии, что в ds нужное значение перед вызовом? то, что там всегда одно значение - не предлагать! тогда это не полноценный аналог того кода 68k

    Цитата Сообщение от litwr Посмотреть сообщение
    Передавать параметры в регистрах - штука обычная.
    как и чтение из памяти их в регистры (разве что результат долгих вычислений требуется сразу в ascii)

    Цитата Сообщение от litwr Посмотреть сообщение
    А про арм-код не понял, где он? У арм2 нет аппратного деления, поэтому подобный код для арма должен быть весьма большим, сомневаюсь, что 56 байт хватит.
    так это же деление на константу - вот что предлагают в древней книжке 1994 года:
    Код:
    	SUB	a2, a1, #10             ; keep (x-10) for later
    	SUB	a1, a1, a1, lsr #2
    	ADD	a1, a1, a1, lsr #4
    	ADD	a1, a1, a1, lsr #8
    	ADD	a1, a1, a1, lsr #16
    	MOV	a1, a1, lsr #3
    	ADD	a3, a1, a1, asl #2
    	SUBS	a2, a2, a3, asl #1      ; calc (x-10) - (x/10)*10
    	ADDPL	a1, a1, #1              ; fix-up quotient
    	ADDMI	a2, a2, #10             ; fix-up remainder
    итого 10 команд, 40 байт, 10 тактов - ха-ха, против ~300 тактов пары аппаратных интелевских делений
    (притом даже универсальное деление на арм2 емнип в среднем вдвое быстрее аппаратного 8086)

    если к этому куску добавить обвязку:
    Код:
    	LDR	a4, _BUFFER
    _LOOP:	udiv10	из примера
    	ORR	a2, a2, '0'
    	STRB	a2, [a4, #1]!
    	CMP	a1, #0
    	BNZ	_LOOP
    	MOV	pc, lr
    получилось 64 байта с инлайном (чуть наврал, в уме забыл учесть две команды)

    ...но всё равно

    Цитата Сообщение от litwr Посмотреть сообщение
    Похоже нужен урок английского.
    точно нужен, вот только совсем не мне

    Цитата Сообщение от litwr Посмотреть сообщение
    сode density is less so an application in RISC is likely to consume more memory than the equivalent in CISC - переводится как "плотность кодов [у RISC] - МЕНЬШЕ, так что приложение для RISC cкорее всего потребит больше памяти, чем эквивалентное для CISC"
    и? что здесь противоречит моим словам о неконкретности этой части утверждения? при том, что здесь даже не "highly likely" )))

    Цитата Сообщение от litwr Посмотреть сообщение
    however the ARM has a few tricks up its sleeve to reverse this assumption - "однако, АРМ имеет несколько трюков в рукаве, которые могут опровергнуть это предположение"
    а вот здесь как раз однозначно "ЧТОБЫ опровергнуть" без всяких "могут"

    Цитата Сообщение от litwr Посмотреть сообщение
    Я встречал и другие с примерно теми же результатами. 2010-е - это не 90-е.
    вот именно, SIMD уже играли слишком большую роль и на десктопных интелах были тупо шире мобильных армовских
    положение стало выправляться совсем недавно

    Цитата Сообщение от litwr Посмотреть сообщение
    Если у вас есть обратные данные, дайте ссылку, сам таких не встречал.
    сразу не найду, где-нибудь лежат на старом компе, или надо снова искать по форумам

    Цитата Сообщение от litwr Посмотреть сообщение
    Амиговцев понять можно - код 68000 довольно плотный, но армовцы никогда тут не спорили - зачем бы тогда нужно было Пальцы изобретать?
    Повнимательней, я уже ответил выше на сей вопрос. Затем, чтобы скорость не проседала вдвое на узких шинах, когда арм стали предлагать для мобилок. Несколько улучшенная компактность (которую отдел маркетинга арма не замедлил начать пиарить) здесь не цель и не причина, а только следствие.

    Цитата Сообщение от litwr Посмотреть сообщение
    Почти везде, а может и везде про Пальцы пишут только как о способе повысить плотность кода.
    на заборе тоже пишут много чего

    Цитата Сообщение от litwr Посмотреть сообщение
    Хотя более плотные коды из-за лучшей утилизации кэша могут иметь и преимущества по скорости.
    thumb впервые появился в ARM7TDMI, применявшемся обычно без всяких кэшей, зато именно в мобильных устройства, где ради экономии шину резали

    Цитата Сообщение от litwr Посмотреть сообщение
    Менеджмент менеджментом, но отсутствие доступного по цене компа на 68к, способного запустить Дум - это тоже фактор.
    это тоже следствие менеджмента

    Цитата Сообщение от litwr Посмотреть сообщение
    Мне кажется, вы путаете понятие индексного и базового регистра.
    Именно что кажется (как всегда) - собственные сообщения забываем?
    Цитата Сообщение от litwr Посмотреть сообщение
    У х86 роль адресных играют сегментные регистры,
    итак, кто сам же и сказал "адресных"? АДРЕСНЫХ - не индексных и не базовых! но ПОЛНЫЙ адрес x86 содержится в ДВУХ регистрах

    Цитата Сообщение от litwr Посмотреть сообщение
    Сегменты х86 - никак не индексы, а только базы.
    и никак не базы, потому что BASE pointer - это bp у нормальной базы не должно быть ограничений на положение

    Цитата Сообщение от litwr Посмотреть сообщение
    В 68к адресные регистры базы могут быть использованы, пусть и с накладками, как индексы.
    нет, как раз там они могут быть действительно использованы как АДРЕСНЫЕ, то есть содержащие ПОЛНОЦЕННЫЙ адрес в ОДНОМ регистре

    Цитата Сообщение от litwr Посмотреть сообщение
    А как же без возни с регистрами?!
    например, как в армовском коде выше - и вероятнее, что нужное число регистров будет свободно, и голова из-за их специализации не болит

    Цитата Сообщение от litwr Посмотреть сообщение
    Это общий момент программирования на ассемблере.
    ...для процессоров с вопиющим дефицитом даже неуниверсальных регистров (то есть восьмибитных и старых интелов))

    Цитата Сообщение от litwr Посмотреть сообщение
    Это верно, отбросим один-два адресных 16-битных регистра для этих нужд и всё-равно у х86 получим 8 байтовых регистров и один-два парубайтовых. А пары байт можно брать и из стека, без адресных регистров (только SP).
    но уже только последовательно (вот она, возня, уже началась)))

    Цитата Сообщение от litwr Посмотреть сообщение
    Пары байт в х86 отлично работают, а вот 68000 не работают вообще. Там поменять местами байты в слове - это большой тормоз - быстрее из памяти оба байта достать.
    А вот не нужно байты в слове менять - можно поменять слова и работать с младшим байтом каждого слова, забив на старшие. Встречный вопрос - а как в x86 поменять без тормозов местами байты в суперудобных "парубайтовых" di/si/bp? Ааась?

    Цитата Сообщение от litwr Посмотреть сообщение
    И даже если вы поместите два байта в адресный регистр, вам чтобы достать их для обработки потребуется больше тактов, чем загрузить их оба из памяти в регистры данных. Итого по 68к имеем 8 байтовых регистров и всё, а х86 имеет чуть, но больше.
    неееет, итого имеем в мотороле:
    = 8 байтовых регистров (младшие байты регистров данных)
    = 8 байт еще для обмена с ними (третьи байты регистров данных)
    + до 7 байт-источников в адресных регистрах
    А что же в 8086? 8 байтовых регистров и до 3 "парубайтовых", с которыми непонятно как работать, кроме xchg. Но так можно и в мотороле.

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

    Цитата Сообщение от litwr Посмотреть сообщение
    Вы опять про ДОС, который был ОДНОЗАДАЧНЫМ.
    и почему же он с таким расчудесным супер-пупер-ММЮ на сегментах был однозадачным?

    Цитата Сообщение от litwr Посмотреть сообщение
    Могу только удивляться оперативности Интел, который сделал поддержку многозадачности ДОС уже к 1985.
    об чём речь? на пц многозадачность стала робко пробиваться с 386 (а скорости хватать стало только с 486)

    Цитата Сообщение от litwr Посмотреть сообщение
    У меня была Амига-500 с 1988 и экранчик Guru Meditation возникал очень даже нередко.
    так это аналог BSOD, то есть сбоя в компонентах самой системы, который и под виндой с настоящим MMU (а не "мемею") регулярно

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

    Этот пользователь поблагодарил Lethargeek за это полезное сообщение:

    litwr(23.02.2020)

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

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

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

Похожие темы

  1. DEC vs IBM holy war тема
    от bigral в разделе ДВК, УКНЦ
    Ответов: 218
    Последнее: 19.03.2019, 22:45
  2. CM601P клон Motorola 6800
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 15.03.2011, 11:05
  3. эмулятор zx-spectrum на motorola razr v3
    от jyly0s в разделе Эмуляторы
    Ответов: 2
    Последнее: 21.01.2007, 19:16

Ваши права

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