Показать сообщение отдельно
Старый 03.08.2014, 10:57   #1519
AS21
Старожил Клуба
 
Аватар для AS21
 
Имя: Николай
Авто: ASX 1.6 2WD MT
Сообщений: 2,199
По умолчанию Re: Исследование механизма работы ПО MMCS

Вот что ответил Alex Konshin по SH4

Насчёт SH4. Читать дисассемблированый текст очень трудно из-за особеностей архитектуры SH4.
1) Процессор выполняет одну/две команды за такт, причём их порядок в паре неважен. Точнее, если команды зависимы, то выполняется за такт только одна, если независимы, то сразу две. Например, если в пограмме команда перехода, а за ней загрузка чего-то в регистр, так выполнятся обе команды. Это очень мешает пониманию программы, да и эмулировать это непросто. Нечто подобное вроде есть у процессоров Sparc. И это только одна особенность SH4.
2) В SH4 нет специальной команды для системных вызовов. Вместо этого, насколько я помню, в WinCE делаются попытки перехода по нечётныму адресу (в SH4 команды должны быть по чётным адресам), происходит прерывание, а обработчик прерывания уже по этому плохому значению адреса понимает что за системный вызов.
3) В SH4 нет понятия порта I/O, точнее ввод-вывод спроецирован на память (примерно как в PDP/VAX). Т.е. запись по некому адресу может приводить к записи, например, в таймер или серийный порт, ну и наоборот, чтение может на самом деле читать откуда-то извне.
4) Помимо этого есть аппаратная поддержка виртуальной памяти. Хотя это на уровне приложения и неважно, но эмулировать её непросто.
Документацию по самому процессору и по некоторой переферии (но не всей) находил в интернете.

Так что если остались силы копать, то копать будем сами
AS21 вне форума   Вверх Ответить с цитированием