nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 12:56



Reply to topic  [ 21 posts ]  Go to page 1, 2  Next
RISC-V и реализация функций работы с тритами 
Author Message
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Вчера подключил модуль ESP32-C3 Wi-Fi,BT c микроконтроллером RISC-V и подготовил проект на языки С и исходными кодами на ассемблере.

Фрагмент Assemblertes.S с вызовом функции.

Code:
 .global assemblyAdd
assemblyAdd:
  slli a0, a0, 0
  ret


Это 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


Attachments:
Ternary_RISC_V_.zip [9.01 KiB]
Downloaded 15 times
photo_2024-03-01_00-12-59 (2).jpg
photo_2024-03-01_00-12-59 (2).jpg [ 142.79 KiB | Viewed 851 times ]
photo_2024-03-01_00-12-59.jpg
photo_2024-03-01_00-12-59.jpg [ 179.06 KiB | Viewed 851 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
29 Feb 2024 15:33
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Полезные материалы по RISC-V

    Официальные ресурсы
    Учебные курсы и материалы
    Видеоматериалы
    Статьи и обзоры
    Литература
    Симуляторы, эмуляторы, наборы инструментов
    Opensource RISC-V processors from Academia


Attachments:
riscv.pdf [289.56 KiB]
Downloaded 14 times
Снимок экрана от 2024-03-01 15-38-11.png
Снимок экрана от 2024-03-01 15-38-11.png [ 65.86 KiB | Viewed 794 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
01 Mar 2024 05:47
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Планирование регистров для реализации архитектуры "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) - точка остановки по значению программного счетчика */


Attachments:
Снимок экрана от 2024-03-01 22-59-00.png
Снимок экрана от 2024-03-01 22-59-00.png [ 192.06 KiB | Viewed 761 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
01 Mar 2024 13:12
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Code:
#
# Filename: "setun1958asm.s"
#
# Project: Троичная МЦВМ "Сетунь" 1958 года на языке ассемблера RISC-V
#
# Create date: 01.03.2024
# Edit date:   02.03.2023
#
# Version:     0.01
#
# Author:      Vladimir V.
# E-mail:      askfind@ya.ru
#
# GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
#


#
#


TODO
- [Х] Создать файл реализации троичной машины "Сетунь" на ассемблере
- [Х] Определение регистров RISC-V и машина "Сетунь"
- [Х] Компиляция файла setun1958asm.s - Ok'


Attachments:
setun1958asm.zip [1.13 KiB]
Downloaded 15 times

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
01 Mar 2024 15:01
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Эмулятор троичной машины 'СЕТУНЬ' SETUN-1958 VM на языке Assembler

A 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


Attachments:
Снимок экрана от 2024-03-03 16-34-32.png
Снимок экрана от 2024-03-03 16-34-32.png [ 143.52 KiB | Viewed 719 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
03 Mar 2024 06:41
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
TODO
Emulator-Setun-1958-Assembler ver.0.02
- [Х] Добавлена операция AND на тритами.

Code:
AND_t tests(...) :
 and_t(-1,-1)->-1
 and_t(-1,0)->-1
 and_t(-1,1)->-1
 and_t(0,-1)->-1
 and_t(0,0)->0
 and_t(0,1)->0
 and_t(1,-1)->-1
 and_t(1,0)->-1
 and_t(1,1)->1


Attachments:
Снимок экрана от 2024-03-04 11-51-52.png
Снимок экрана от 2024-03-04 11-51-52.png [ 137.77 KiB | Viewed 663 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)


Last edited by askfind on 04 Mar 2024 02:00, edited 2 times in total.

04 Mar 2024 00:37
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
TODO
Emulator-Setun-1958-Assembler ver.0.03
-[X] FIX ERROR oper AND-t

Code:
AND_t tests(...) :
 and_t(-1,-1)->-1
 and_t(-1,0)->-1
 and_t(-1,1)->-1
 and_t(0,-1)->-1
 and_t(0,0)->0
 and_t(0,1)->0
 and_t(1,-1)->-1
 and_t(1,0)->0
 and_t(1,1)->1

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)


04 Mar 2024 01:53
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
TODO
Emulator-Setun-1958-Assembler ver.0.04

## 3.2. Троичная операция OR для тритов
Code:
OR_t tests(...) :
 or_t(-1,-1)->-1
 or_t(-1,0)->0
 or_t(-1,1)->1
 or_t(0,-1)->0
 or_t(0,0)->0
 or_t(0,1)->1
 or_t(1,-1)->1
 or_t(1,0)->1
 or_t(1,1)->1



### 3.3. Троичная операция XOR для тритов


Code:
 XOR_t tests(...) :
 xor_t(-1,-1)->-1
 xor_t(-1,0)->0
 xor_t(-1,1)->1
 xor_t(0,-1)->0
 xor_t(0,0)->0
 xor_t(0,1)->0
 xor_t(1,-1)->1
 xor_t(1,0)->0
 xor_t(1,1)->-1

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)


04 Mar 2024 13:58
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Emulator-Setun-1958-Assembler ver.0.05

### 3.4. Троичная операция NOT для тритов

Code:
 NOT_t tests(...) :
 not_t(-1)->1
 not_t(0)->0
 not_t(1)->-1

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)


Last edited by askfind on 04 Mar 2024 15:01, edited 1 time in total.



04 Mar 2024 14:22
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
TODO
Emulator-Setun-1958-Assembler ver.0.06

### 3.5. Троичная операция SUM_HALF полусумматор для тритов

Code:
 SUM_HALF_t tests(...) :
 sum_half_t(-1,-1)->1
 sum_half_t(-1,0)->-1
 sum_half_t(-1,1)->0
 sum_half_t(0,-1)->-1
 sum_half_t(0,0)->0
 sum_half_t(0,1)->1
 sum_half_t(1,-1)->0
 sum_half_t(1,0)->1
 sum_half_t(1,1)->-1


Attachments:
T4SIJezPOuo.jpg
T4SIJezPOuo.jpg [ 115.46 KiB | Viewed 603 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
04 Mar 2024 15:01
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
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
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
RISC-V Assembly Programmming
Robert Winkler
Version 0.8.5, 2024-01-29: Beta

Info
Copyright © 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.


Attachments:
riscv_book.pdf [1.6 MiB]
Downloaded 11 times
Снимок экрана от 2024-03-05 12-23-06.png
Снимок экрана от 2024-03-05 12-23-06.png [ 83.99 KiB | Viewed 565 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
05 Mar 2024 02:50
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
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
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
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
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
RISC-V Instruction-Set
Erik Engheim <erik.engheim@ma.com>


Attachments:
RISC-V-cheatsheet-RV32I-4-3.pdf [174.94 KiB]
Downloaded 9 times
Снимок экрана от 2024-03-07 12-34-44.png
Снимок экрана от 2024-03-07 12-34-44.png [ 191.55 KiB | Viewed 402 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
07 Mar 2024 02:44
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 21 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 12 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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.