|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
RISC-V и реализация функций работы с тритами
Author |
Message |
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
Вчера подключил модуль ESP32-C3 Wi-Fi,BT c микроконтроллером RISC-V и подготовил проект на языки С и исходными кодами на ассемблере. Фрагмент Assemblertes.S с вызовом функции. Это Arduino проект. Если у кого есть желание "пощупать" выкладываю архив с проектом Ternary_RISC_V_.zip. Лучше конечно же использовать эмулятор для написания кода асемблера. В МГУ читают лекции и выкладывают видео. Ссылка: 01. Принципы развития архитектур ЭВМ; система команд RISC-V - https://youtu.be/JSFhP0ZmB2oСтуденты выполняют работу в эмуляторе RISC-V, написанной на Java RARS -- RISC-V Assembler and Runtime Simulator — https://github.com/TheThirdOne/rars
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
29 Feb 2024 15:33 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
Полезные материалы по RISC-VОфициальные ресурсы Учебные курсы и материалы Видеоматериалы Статьи и обзоры Литература Симуляторы, эмуляторы, наборы инструментов Opensource RISC-V processors from Academia
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
01 Mar 2024 05:47 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
Планирование регистров для реализации архитектуры "Setun-1958" Ссылка на лекцию: https://uneex.org/LecturesCMC/Architect ... yRegisters | | | | Code: /** * Filename: "emusetun.c " * * Project: Виртуальная машина МЦВМ "Сетунь" 1958 года на языке Си * * Create date: 01.11.2018 * Edit date: 16.10.2023 */ #define Version "1.93"
/** * Определение памяти машины "Сетунь-1958" */ trs_t mem_fram[SIZE_GR_TRIT_FRAM][SIZE_GRFRAM]; /* оперативное запоминающее устройство на ферритовых сердечниках */ trs_t mem_drum[NUMBER_ZONE_DRUM + ZONE_DRUM_BEG][SIZE_ZONE_TRIT_DRUM]; /* запоминающее устройство на магнитном барабане */
/** *********************************** * Определение регистров "Сетунь-1958" * ----------------------------------- */ /* Основные регистры в порядке пульта управления */ trs_t K = {.l = 9, .t0 = 0, .t1 = 0}; /* K(1:9) код команды (адрес ячейки оперативной памяти) */ trs_t F = {.l = 5, .t0 = 0, .t1 = 0}; /* F(1:5) индекс регистр */ trs_t C = {.l = 5, .t0 = 0, .t1 = 0}; /* C(1:5) программный счетчик */ trs_t W = {.l = 1, .t0 = 0, .t1 = 0}; /* W(1:1) знак троичного числа */ // trs_t ph1 = {.l = 1, .t0 = 0, .t1 = 0}; /* ph1(1:1) 1 разряд переполнения */ trs_t ph2 = {.l = 1, .t0 = 0, .t1 = 0}; /* ph2(1:1) 1 разряд переполнения */ trs_t S = {.l = 18, .t0 = 0, .t1 = 0}; /* S(1:18) аккумулятор */ trs_t R = {.l = 18, .t0 = 0, .t1 = 0}; /* R(1:18) регистр множителя */ trs_t MB = {.l = 4, .t0 = 0, .t1 = 0}; /* MB(1:4) троичное число зоны магнитного барабана */ /* Дополнительные */ trs_t MR = {.l = 9, .t0 = 0, .t1 = 0}; /* временный регистр для обмена с FRAM */ long_trs_t TMP = {.l = 36, .t0 = 0, .t1 = 0}; /* временная переменная для троичного числа */ // trs_t BRPNT = {.l = 4, .t0 = 0, .t1 = 0}; /* BRPNT(1:5) - точка остановки по значению программного счетчика */
| | | | |
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
01 Mar 2024 13:12 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
TODO - [Х] Создать файл реализации троичной машины "Сетунь" на ассемблере - [Х] Определение регистров RISC-V и машина "Сетунь" - [Х] Компиляция файла setun1958asm.s - Ok'
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
01 Mar 2024 15:01 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
Эмулятор троичной машины 'СЕТУНЬ' SETUN-1958 VM на языке AssemblerA virtual machine of ternary computer Setun, also known as "Small Automatic Digital Machine" written on Assembler. С открытым исходным кодом по лицензии GNU GENERAL PUBLIC LICENSE. https://github.com/askfind/Emulator-Set ... /tree/main | | | | Quote: .globl main
# Сообщение о проекте .data project: .string "Ternary small digital computer 'Setun' on RISC-V\n"
# # Macros #
# Сброс машины .macro reset mv s0, zero mv s1, zero mv s2, zero mv s3, zero mv s4, zero mv s5, zero mv s6, zero mv s7, zero mv s8, zero mv s9, zero mv s10, zero mv s11, zero mv t0, zero mv t1, zero mv t2, zero mv t3, zero .end_macro | | | | |
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
03 Mar 2024 06:41 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
TODO Emulator-Setun-1958-Assembler ver.0.02 - [Х] Добавлена операция AND на тритами.
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
Last edited by askfind on 04 Mar 2024 02:00, edited 2 times in total.
|
04 Mar 2024 00:37 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
TODO Emulator-Setun-1958-Assembler ver.0.03 -[X] FIX ERROR oper AND-t
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
04 Mar 2024 01:53 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
TODO Emulator-Setun-1958-Assembler ver.0.04 ## 3.2. Троичная операция OR для тритов ### 3.3. Троичная операция XOR для тритов
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
04 Mar 2024 13:58 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
Emulator-Setun-1958-Assembler ver.0.05 ### 3.4. Троичная операция NOT для тритов
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
Last edited by askfind on 04 Mar 2024 15:01, edited 1 time in total.
|
04 Mar 2024 14:22 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
TODO Emulator-Setun-1958-Assembler ver.0.06 ### 3.5. Троичная операция SUM_HALF полусумматор для тритов
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
04 Mar 2024 15:01 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
TODO Emulator-Setun-1958-Assembler ver.0.07
### 3.6. Троичная операция SUM_t полный троичный сумматор для тритов
SUM_t_tests(...) : sum_t(-1,-1,-1)->0 -1 sum_t(-1,-1,0)->0 0 sum_t(1,1,0)->-1 1 sum_t(1,1,1)->0 1
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
04 Mar 2024 17:02 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
RISC-V Assembly ProgrammmingRobert Winkler Version 0.8.5, 2024-01-29: Beta InfoCopyright © 2021-2024 Robert Winkler Licensed under Creative Commons. This book is available online in both HTML and PDF form. You can support the book and purchase the chapter exercise solutions here. The repo for the book, where you can get the code referenced and report any errors (submit an issue or even a pull request) is here. If you’re interested in contacting me regarding RISC-V tutoring or any other business request related to the book, you can reach me at books@robertwinkler.com.
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
05 Mar 2024 02:50 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
TODO Emulator-Setun-1958-Assembler ver.0.08
### 3.7. Операции над троичными числами TRS_t
TRS_t tests(...) : a0=0xAAAA, a1=0xBBBB; clean_trs(a0,a1)->0 0 ts1=0x1, ts0=0x1,pos=0; get_trit(ts1,ts0,pos)->1 ts1=0x0, ts0=0x1,pos=0; get_trit(ts1,ts0,pos)->-1 ts1=0x0, ts0=0x0,pos=0; get_trit(ts1,ts0,pos)->0 ts1=0x4, ts0=0x4,pos=2; get_trit(ts1,ts0,pos)->1 ts1=0x0, ts0=0x4,pos=2; get_trit(ts1,ts0,pos)->-1 ts1=0x0, ts0=0x0,pos=2; get_trit(ts1,ts0,pos)->0
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
05 Mar 2024 13:16 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
TODO Emulator-Setun-1958-Assembler ver.0.09
### 3.7. Операции над троичными числами TRS_t
``` TRS_t tests(...) : a0=0xAAAA, a1=0xBBBB; clean_trs(a0,a1)->0 0 ts1=0x1, ts0=0x1,pos=0; get_trit(ts1,ts0,pos)->1 ts1=0x0, ts0=0x1,pos=0; get_trit(ts1,ts0,pos)->-1 ts1=0x0, ts0=0x0,pos=0; get_trit(ts1,ts0,pos)->0 ts1=0x4, ts0=0x4,pos=2; get_trit(ts1,ts0,pos)->1 ts1=0x0, ts0=0x4,pos=2; get_trit(ts1,ts0,pos)->-1 ts1=0x0, ts0=0x0,pos=2; get_trit(ts1,ts0,pos)->0 ts1=0x0000, ts0=0x0000, pos=5, val=-1; set_trit(ts1,ts0,pos,val)->32 0 ts1=0x0000, ts0=0x0000, pos=5, val=0; set_trit(ts1,ts0,pos,val)->0 0 ts1=0x0000, ts0=0x0000, pos=5, val=+1; set_trit(ts1,ts0,pos,val)->32 32 ```
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
06 Mar 2024 13:44 |
|
|
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
RISC-V Instruction-Set Erik Engheim <erik.engheim@ma.com>
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
07 Mar 2024 02:44 |
|
|
Who is online |
Users browsing this forum: No registered users and 32 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|