Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Гибридная архитектура процессораСодержание книги
Поиск на нашем сайте
Гибридная вычислительная система — система с гетерогенной аппаратной вычислительной структурой. Комбинация любых вычислительных устройств или блоков, например вычисления с помощью CPU и GPU совместно. Обычно основным вычислительным компонентом систем для высокопроизводительных вычислений, включая кластеры, является центральный процессор. Однако, уже начиная с процессоров Intel486DX в составе компьютеров появился такой элемент, как сопроцессор, что можно считать гибридизацией на аппаратном уровне. GPU Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 4х, 2011 г.), графический процессор изначально создавался как многоядерная структура, в которой количество ядер измеряется сотнями. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления.[3] Каждая из этих двух архитектур имеет свои достоинства. CPU лучше работает с последовательными задачами. При большом объеме обрабатываемой информации очевидное преимущество имеет GPU. Условие только одно – в задаче должен наблюдаться параллелизм.
Эмулятор и ассемблер процессора Subleq Императивный язык SUBLEQ (SUbtractandBranchifLessthanorEQualtozero) реализует процессор с одной инструкцией OISC (OneInstructionSetComputer на базе которого можно построить компьютер архитектуры URISC (UltimateReducedInstructionSetComputer) Ассемблер и интерпретатор реализован в 2006-2009 году
Язык процессора Subleq содержит одну инструкцию. Любая инструкция состоит из трех операндов: A B C, где каждый операнд это одно слово: subleq a b c
Процессор Subleq в первой части инструкции осуществляет манипуляции с памятью. Он вычитает значение ячейки памяти, хранящейся по адресу A, из содержимого ячейки памяти, хранящейся по адресу B, а затем записывает результат обратно в ячейку с адресом B. Затем процессор выполняет вторую часть инструкции - проверку. Если значение ячейки по адресу B, после вычитание, меньше или равно нулю, то выполняется переход по адресу, заданного операндом C; в противном случае процессор продолжает обработку инструкций следующих за ячейкой операнда С. Смысл работы инструкции Subleq ассоциируется с работой нейрона искусственной нейронной сети “Формируется разночтение, запоминается дельта, проверяется ступенчатой активационной функцией дельта и осуществляется переход по произвольно линии связи”.
Ассемблирование. Ассемблер языка Subleq обрабатывает текстовый файл с расширением sq.
Программирование на языке Subleq арифметических операций
Метка ZR обозначает зарезервированной регистр с нулевым значением; NR обозначает зарезервированной регистр с отрицательной единицей; TA, TB, TC, являются временным хранением регистров A, B и C. Команда JMP m: jumptomemorylocation m. Сложение – ADD a b c: m(c) = m(a) + m(b): # Суммадвухчисел C=A+B subleq a ZR subleq b ZR # ZR = - a - b subleq c c # c = 0 subleq ZR c # c = a +b sublez ZR ZR # ZR = 0 6) Вычитание – SUB a b c: m(c) = m(b) - m(a): subleq TA TA # TA = 0 subleq TB TB # TB = 0 subleq a TA subleq b TB subleq TB TA # TA = b - a subleq c c subleq TB TB subleq TA TB # TB = a - b subleq TB c # c = b – a.
Деление – DIV a b c: m(c) = m(a) / m(b): subleq TA subleq TB subleq TC subleq b TA subleq TA TB # TB = b subleq TA TA subleq a TA subleq TA TC # TC = a subleq c c subleq NR c # c++ subleq TC TB?+2 # b -= a, if b<=0 JMP 2 subleq ZR ZR?-2 # loop back to c++
Умножение – MUL a b c: m(c) = m(a) * m(b): subleq TA subleq TB subleq TC subleq b TA subleq TA TB # TB = b subleq NR c # c = 1 subleq TA TA subleq a TA # TA = -a subleq c c #sub (-a) from dest and b--, when b<=0 esc subleq TA c subleq TC TB +2 subleq ZR ZR -2 # loopback
|
||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 188; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.146.178.220 (0.008 с.) |