Skip to content

TetVoid/conveyor_architecture_pairwise_product_calculations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mrz_first_lab

В лабраторной работе реализованно 6 потоков Потоки вызываются рекурсивно каждый поток представляет собой выполнение метода Stage в каждом потоке у нас 3 операции (промежуточное порозрядное умножения для каждого из чисел) так как операции выполняются за разное время, а операция 2 потока 2 не может начаться пока операция 2 потока 1 не закончится так как зависит от результатов её выполнения введены маркеры измениния для каждой пары чисел и они храняться в массиве change[3]

новый поток необходимо создавать только после выполнения первой операции в потоке (на следующих операциях не нужно) для отслеживания этого был введён флаг index

все промежуточные ответы как и конечный храняться в векторе tempAnswer[3]

само умножение построенно на методе stageOfMultiplication который в зависимости от стадии умножения делает нужный сдвиг в новом слагаемом а затем складывает с предыдущем ответом ВНИМАНИЕ stageOfMultiplication заточена под 6 разрядные числа если передать стадию большей разрядности метод отработает некоректно

метод boolSum выполняет поразрядное сложение предоставленных ему двоичных чисел

методы fromIntToBool и fromBoolToInt выполняют перевод их десятичной системы в двоичнную и наоборот соответсвенно

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published