Здравствуйте, гость ( Вход | Регистрация )



 
Ответить в данную темуНачать новую тему
> Кубический процессор, новый тип процессора
Anton_uz
сообщение 31.10.2011, 0:57
Сообщение #1


Бит
*

Группа: Пользователи
Сообщений: 1
Регистрация: 31.10.2011
Пользователь №: 45422
Спасибо сказали: 0 раз

Опыт работы с ПК: 19



Кубический процессор представляет собой очень простой и быстрый, с точки зрения обычной логики, инструмент для обработки двоичных сигналов (в дальнейшем - слов).
У процессора есть вспомогательные фабрики (Ф1 – Ф4), которые имеют несложную структуру взаимодействия между составными частями процессора и работают на его частоте.
Каждая фабрика представляет собой дополнительный обслуживающий блок, необходимый процессору (следовательно, - и компьютеру) для нормальной работы.

Прикрепленный файл  6ac8f8736de5.jpg ( 81.04 килобайт ) Кол-во скачиваний: 0


Данная архитектура взаимодействия имеет ряд преимуществ:
1. Каждый такт используется максимально эффективно (отсутствуют пустые циклы);
2. Отпадает необходимость в стеке;
3. Отпадает необходимость в портах ввода/вывода.

А теперь рассмотрим все составные части процессора более детально.
Процессор.
В функции вышеописанного процессора входит следующее:
1. Чтение и обработка очередного слова из ОЗУ за 1 такт, находящегося по адресу Ra;
2. Назначение соответствующих заданий фабрикам процессора;
3. Выполнение подпрограммы по указанному в магазине (М1 – М4) адресу+1 после получения подтверждения от конкретной фабрики об успешном выполнении задания;

Чтение и обработка очередного слова из ОЗУ за 1 такт, находящегося по адресу Ra
Зачем нужна такая обработка ? – она нужна для обеспечения максимальной производительности. Размерность этого слова – величина спорная и требующая дальнейших вычислений. Предположим что одно машинное слово имеет размерность 256 бит, вы скажете – зачем так много ? Дело здесь в том, что слово имеет определенный формат, и поступая в процессор оно говорит о многом, а именно:
1. Для какой фабрики предназначена данная инструкция;
2. Информация для регистра 1 (адрес входящих данных в ОЗУ);
3. Информация для регистра 2 (длина обрабатываемых данных);
4. Информация для регистра 3 (адрес исходящих данных в ОЗУ);
5. Информация для регистра 4 (команда для работы с данными);
6. Адрес подпрограммы в ОЗУ, запускаемой после получения сигнала от фабрики об успешном выполнении конкретной команды;
7. Биты статической инициализации фабрики (если требуется сменить внутренний режим работы конкретной фабрики).
Для какой фабрики предназначена данная инструкция
Дело в том, что чем больше вспомогательных фабрик, тем мощнее становиться наш кубический процессор. Кубическим он назван потому, что автор первоначально планировал его реализацию и исполнение в виде куба со сложной внутренней архитектурой, напоминающей строение граната, который растёт на дереве (исследуйте пленочные перегородки внутри него), но в последствии, отказался от этой идеи в виду невозможности её реализации на данный момент состояния технического прогресса. В последствии было найдено новое решение – это реализация данного процессора в виде отдельных его частей на печатной плате, в том числе и вспомогательных фабрик, представляющих собой многофункциональные микросхемы, впаянные (или вставленные в соответствующие разъёмы - «сокеты»).
Как определить, - для какой фабрики предназначена очередная инструкция ? – для этого есть старшие биты (т.е. бит №256, бит №255, бит №254, бит №253). Учитывая, что фабрики и процессор работают на одной частоте и подключены к одной шине, то наличие в словах последних битов, установленных в «1» вполне оправданная методика. Естественно, ассемблера мы больше не увидим (разве что некоторых его команд типа JMP и RETURN) и в компилятор любого языка будет зашито золотое правило: «В одном машинном слове запрещён одновременный вызов нескольких фабрик», или говоря простыми словами – нельзя устанавливать одновременно бит №256, бит №255, бит №254, бит №253 в «1».

Информация для регистра 1 (адрес входящих данных в ОЗУ)
Этот адрес нужен фабрике для извлечения и обработки данных соответствующим методом, а именно методом, описанным в регистре 4.
Информация для регистра 2 (длина обрабатываемых данных)
Соответственно – длина входящих данных.
Информация для регистра 3 (адрес исходящих данных в ОЗУ)
Этот адрес нужен фабрике для формирования и записи результатов своей работы (длина исходящих данных передается процессору через специальный канал и одновременно служит для процессора флагом выполнения очередного задания от фабрики).
Информация для регистра 4 (команда для работы с данными)
В этом регистре храниться текущая команда или код текущей операции над очередной группой данных, переданных фабрике.
Адрес подпрограммы в ОЗУ, запускаемой после получения сигнала от фабрики об успешном выполнении конкретной команды
Адрес+1, помещаемый, в момент обработки очередного машинного слова, в магазин процессора, выделенный для конкретной фабрики.
Почему «+1» ?, - потому что по адресу «Адрес» после выполнения фабрикой очередного задания будет содержаться размер выполненного задания в установленных единицах (байтах, словах и т.д.) – установка происходит внутри фабрики с помощью битов статической инициализации фабрики.
Как избавиться от такого неумного смещения «Адрес+1»? – очень просто – нужно проинициализировать статические биты фабрики и отключить режим возврата размерности выходных данных после выполнения очередной операции фабрикой, после чего сигналом для запуска подпрограммы будет служить простой код «1», полученный по специальной шине.
Магазин процессора для конкретной фабрики представляет собой статический массив ячеек, пронумерованный снизу-вверх, т.е. нижний индекс этого массива равен 1 и адрес, записанный по этому индексу является активным адресом для запуска подпрограммы, после запуска которой этот адрес заменяется вышестоящим в общем массиве адресов (т.е. происходит переписывание массива адресов сверху-вниз на 1 индекс с затиранием самого нижнего из них). Так что, каждая ячейка в этом магазине адресов может содержать адрес подпрограммы, либо значение 1, либо значение 0. А теперь более детально об этих значениях:
Адрес подпрограммы.
Адрес, откуда процессор начинает читать и исполнять машинные слова, до момента, пока он не встретит специальный код с мнемоникой «Return». После обработки процессором этого кода происходит возврат из подпрограммы и процессор вытаскивает прежнее значение адреса из своего внутреннего регистра «Rb» и передает это значение пошаговому регистру «Ra», отвечающему за чтение и выполнение очередного машинного слова по адресу, записанному в нём с последующим инкриментом.

Значение 1
Это значение говорит процессору о том, что адрес подпрограммы не изменился и остался прежним, после чего происходит запуск подпрограммы по последнему известному адресу (за это отвечает статический индекс магазина фабрики «0» - нулевой индекс).
Значение 0
Это значение говорит процессору о том, что запускать подпрограмму не требуется после выполнения задания конкретной фабрикой.
Биты статической инициализации фабрики (если требуется сменить внутренний режим работы конкретной фабрики)
Аналог этому явлению могу привести внутренние CMOS-часы и параметры BIOS, за исключением того факта, что время доступа для инициализации этих бит составляет 1 такт.
Назначение соответствующих заданий фабрикам процессора
Фабрики процессора служат для исполнения специализированных функций, входящих в состав конкретной фабрики. Задание представляет собой описанный выше алгоритм, состоящий из инициализации четырех регистров фабрики.
Выполнение подпрограммы по указанному в магазине (М1 – М4) адресу+1 после получения подтверждения от конкретной фабрики об успешном выполнении задания
Данный алгоритм был предоставлен выше за исключением того факта, что подпрограмма запускается только после получения специального сигнала от фабрики в процессор по специальной шине (по другой шине), этот сигнал имеет разрядность несколько бит (предположим 128 бит) и его отличие от нуля говорит об успешном исполнении фабрикой очередного задания.
Также программисту может понадобиться определить размер выходных данных от конкретной фабрики, для этого предусмотрен специальный внутренний режим любой фабрики, активировав который, можно получить размер выходных данных фабрики по адресу «Адрес» (т.е. по предыдущему адресу старта подпрограммы).
Наибольший интерес представляет собой фабрика ввода/вывода, описание работы которой выходит за рамки данной книги и предоставляется каждому читателю в виде инструмента к свободному творчеству.


P.S. Что можно сказать о прочитанном ?
Можно выделить три вещи:
1. Стало меньше регистров;
2. Одна ячейка памяти, отведённая под исполняемый машинный код, теперь имеет одну размерность: 256 бит;
3. Регистр AX автор оставил для непредвиденных машинных ситуаций.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщени
Нет новых сообщений В теме есть приложенияПроцессор Intel Xeon 3070 на матери Epox EP-5PL945-C/G
Помогите "подружить" материнку с процессором.
5 Медведь Вениамин 6421 1.10.2017, 0:55
Посл. сообщение: Медведь Вениамин
Нет новых сообщений Как спасти жизнь китайцу на процессор ATJ2117
плеер mp3 nano 1.8
0 berlion 4463 16.3.2013, 16:01
Посл. сообщение: berlion
Нет новых сообщений Процессор Intel Core 2 Solo SU3500
разгон
9 vovchik 13137 26.5.2011, 14:20
Посл. сообщение: -Гость-
Нет новых сообщений В теме есть приложенияПотенет ли мать HP Compaq dx7300 Процессор Intel Core i5 650
Или ещё и метеринскую менять прийдётся?
2 Веня 6228 6.4.2010, 9:23
Посл. сообщение: Zhelezaka
Нет новых сообщений Не определяется процессор на ASRock K10N78
2 AndreiZhuravlyov 3753 20.9.2009, 8:38
Посл. сообщение: uaz236


 



RSS Текстовая версия Сейчас: 23.9.2020, 17:00