Гибридная архитектура процессора 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Гибридная архитектура процессора



Гибридная вычислительная система — система с гетерогенной аппаратной вычислительной структурой. Комбинация любых вычислительных устройств или блоков, например вычисления с помощью 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; просмотров: 167; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.145.114 (0.007 с.)