Показаны сообщения с ярлыком CPU. Показать все сообщения
Показаны сообщения с ярлыком CPU. Показать все сообщения

четверг, 7 марта 2013 г.

Первые шаги к многозадачности

Хотя команда ret ещё не работает ;) , имхо, самое время подумать о средствах многозадачности. Сделал набросок дескриптора. Сегментов пока будет 256, но за пределы 30-40 задач пока выход кажется мне маловероятным. ;) В любом случае, поддержка вытесняющего приоритета и кванты времени уже заложены.
Страничную память тоже не планирую, не вижу в ней особого смысла. Тут куда веселей вопрос процедуры переключения контекста и обработка исключительных ситуаций. Но, пока это только планы.

среда, 6 марта 2013 г.

РОН: вполне рабочие.

  Потребовалось всего несколько дней, чтобы число команд РОН довести до 32. Есть всевозможная пересылка, работа со стеком, условные переходы и вызовы подпрограмм. В качестве совсем примитивных операций - сложение и вычитание с регистрами.
   При всём при этом, возврата из подпрограммы по ret - X-CPU пока делать не умеет, хотя можно эмулировать, выталкиванием стека. Итого, общее число команд достигло 6х32=192 или 0xC0 ;).

вторник, 5 марта 2013 г.

pyCPU: 16 команд на РОН не хватило

  В написании эмулятора ПК на python, оказалось, что 16 команд на РОН не просто мало, а ужасно мало. Инкремент, декремент, пересыл между {РОН и РОН, РОН и память, память и РОН}, xor, inv, and, or, shl, shr - и всё. Ни стека, ни индексов, ни переходов, ни каких-либо ещё плюшек.