{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T05:38:35Z","timestamp":1740116315516,"version":"3.37.3"},"reference-count":23,"publisher":"World Scientific Pub Co Pte Ltd","issue":"10","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J CIRCUIT SYST COMP"],"published-print":{"date-parts":[[2018,9]]},"abstract":"<jats:p> The paper presents a complete approach to the multithreaded execution of a control program prepared according to IEC61131-3 standard. The program is mapped to a dedicated multiple-core CPU unit. The CPU consists of multiple independent bit and word CPUs. The computation synchronization mechanism is based on memory cells with semaphored access, which enable hardware-level synchronization. The paper presents in detail the architecture, results of implementation and the achieved performance. The custom-developed compiler translates standard programming languages into a multithreaded executable form. It utilizes an original intermediate data flow graph to optimize and recognize program parallelisms. The program is automatically partitioned and mapped to the available computing resources. The paper is concluded with a performance comparison of program executions using the standard single-threaded and proposed approaches. <\/jats:p>","DOI":"10.1142\/s0218126618501621","type":"journal-article","created":{"date-parts":[[2018,1,12]],"date-time":"2018-01-12T03:07:01Z","timestamp":1515726421000},"page":"1850162","source":"Crossref","is-referenced-by-count":4,"title":["Multiple-Core PLC CPU Implementation and Programming"],"prefix":"10.1142","volume":"27","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-1043-290X","authenticated-orcid":false,"given":"Adam","family":"Milik","sequence":"first","affiliation":[{"name":"Institute of Electronics, Silesian University of Technology, Akademicka 16, 44-100 Gliwice, Poland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"219","published-online":{"date-parts":[[2018,5,24]]},"reference":[{"volume-title":"IEC 61131-3: Programming Industrial Automation Systems: Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making Aids","year":"2010","author":"Tiegelkamp J.","key":"S0218126618501621BIB001"},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB002","DOI":"10.1109\/12.135557"},{"key":"S0218126618501621BIB003","first-page":"229","volume":"56","author":"Chmiel M.","year":"2008","journal-title":"Bull. Pol. Acad. Sci. Tech. Sci."},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB005","DOI":"10.1016\/j.micpro.2015.11.001"},{"key":"S0218126618501621BIB007","first-page":"559","volume":"39","author":"Chmiel M.","year":"2010","journal-title":"Control Cybern."},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB009","DOI":"10.5539\/mas.v7n3p64"},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB011","DOI":"10.1109\/37.206990"},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB012","DOI":"10.1007\/s00170-009-2405-0"},{"key":"S0218126618501621BIB013","first-page":"95","volume":"88","author":"Mocha J.","year":"2012","journal-title":"Prz. Elektrotech."},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB016","DOI":"10.1016\/j.micpro.2016.02.003"},{"key":"S0218126618501621BIB017","first-page":"161","volume":"64","author":"Milik A.","year":"2016","journal-title":"Bull. Pol. Acad. Sci. Tech. Sci."},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB019","DOI":"10.1007\/978-1-4419-6778-7"},{"volume-title":"Operating System Concepts","year":"2008","author":"Silberszatz A.","key":"S0218126618501621BIB021"},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB023","DOI":"10.1142\/S0218126617501250"},{"volume-title":"Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems","year":"2006","author":"Deschamps J. P.","key":"S0218126618501621BIB024"},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB025","DOI":"10.1109\/71.80120"},{"volume-title":"High-Level Synthesis: Introduction to Chip and System Design","year":"1994","author":"Gajski D.","key":"S0218126618501621BIB028"},{"volume-title":"Logic Synthesis and Verification Algorithms","year":"2000","author":"Hachtel G. D.","key":"S0218126618501621BIB029"},{"volume-title":"Introduction to Automata Theory, Languages and Computation","year":"1979","author":"Hopcroft J. E.","key":"S0218126618501621BIB030"},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB031","DOI":"10.1109\/54.41671"},{"volume-title":"Algorithms + Data Structures=Programs","year":"1976","author":"Wirth N.","key":"S0218126618501621BIB032"},{"doi-asserted-by":"publisher","key":"S0218126618501621BIB033","DOI":"10.1109\/TCAD.2005.860955"},{"volume-title":"Microprocessors in Instruments and Control","year":"1990","author":"Bibero R. J.","key":"S0218126618501621BIB035"}],"container-title":["Journal of Circuits, Systems and Computers"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218126618501621","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,6]],"date-time":"2019-08-06T18:51:39Z","timestamp":1565117499000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S0218126618501621"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,5,24]]},"references-count":23,"journal-issue":{"issue":"10","published-online":{"date-parts":[[2018,5,24]]},"published-print":{"date-parts":[[2018,9]]}},"alternative-id":["10.1142\/S0218126618501621"],"URL":"https:\/\/doi.org\/10.1142\/s0218126618501621","relation":{},"ISSN":["0218-1266","1793-6454"],"issn-type":[{"type":"print","value":"0218-1266"},{"type":"electronic","value":"1793-6454"}],"subject":[],"published":{"date-parts":[[2018,5,24]]}}}