The M1 represents the beginning of a paradigm shift that will benefit the RISC-V microprocessors, but not in the way you think.
, Apple M1 โ . . RISC-V.
, M1. (. out-of-order execution, OoOE).
. Apple , :
GPU (Graphical Processing Unit, ) ( ).
Neural Engine. .
.
.
, , Apple , โโ.
. 1985 Amiga 1000 . GPU . Google (Google Tensor Processing Unit, Google TPU) โ , .
TPU Google โ (Application Specific Integrated Circuits, ASIC). .
?
CPU, . , . โ , .
Intel 8087 (FPU). Intel 8086 , . ?
Intel 8087. , , .
(integers): 43, -5, 92, 4
. .
. , , 4,25, 84,7
3,1415
. . , . .
, . , . . . , 3 ร 4
โ 4 + 4 + 4
.
, CPU , ( ).
loadi r3, 0 ; Load 0 into register r3
multiply:
add r3, r1 ; r3 โ r3 + r1
dec r2 ; r2 โ r2 - 1
bgt r2, multiply ; goto multiply if r2 > 0
, , : ?
, .
. CPU , . . CPU .
, , (CPU) , , .
. . / , , .
. , CPU ( ). (Input / Output) . . . , , , , .
, . , .
, . . . :
LSU (Load Store Unit), .
, . ( ). , , , Input/Output .
. , .
, .
, , , , GPU, FPU, Neural Engine , / . , . , , , , , DMA ( ) .
, , .
? 84, x . 85 y. , - :
load r1, 84 ; get x-coordinate
loar r2, 85 ; get y-coordinate
DMA 110, 111 113, . , DMA:
loadi r1, 1024 ; set register r to source address
loadi r2, 50 ; bytes to copy
loadi r3, 2048 ; destination address
store r1, 110 ; tell DMA controller start address
store r2, 111 ; tell DMA to copy 50 bytes
store r3, 113 ; tell DMA where to copy 50 bytes to
. . . C / C ++ DOS, . C, , , .
char *video_buffer = 0xB8000; // set pointer to CGA video buffer
video_buffer[3] = 42; // change color of 4th pixel
. Neural Engine, GPU, Secure Enclave . . , . , .
, CPU Neural Engine GPU, , . Neural Engine GPU , -.
, , , . . - .
?
, , , . - , CPU. , CPU , , .
, , , .
, . , .
, . , . .
? . , .
. , CPU . , . CPU GPU, . GPU , CPU , .
M1 Neural Engine, -. , Neural Engine , CPU.
RISC-V
2010 . , , CPU . โ .
, . , . 3โ5 . , .
. . , . , , , . (Out-of-Order Execution, OoOE), : Apple M1 ?
: CPU ?
, 128 , Ampere Altra Max ARM. ? . , 128 . 8 . , , , 32 , , .
, , CPU, ?
: . , , 20 000 , , CPU 15 000 . 80-. CPU 100 . , 1000 . , 100 000 . .
, . , , .
. . , , , . CPU , . , - .
CPU . , โ , CPU, . , Neural Engine TPU (Tensor Processing Unit), , ( ).
RISC-V
RISC-V. , 40โ50 , . , , , x86 1500 .
, , RISC-V . . , RISC-V , , .
, , . Apple M1 โโ, . RISC-V.
? ? , , Apple . , , ARM. . - , , .
RISC-V ?
. , , .
ARM. , .
, โ . RISC-V , . , .
ARM? ARM CPU , . RISC-V ARM 2019 .
, . ARM ARM. CPU Mac iPhone.
. , .
Nvidia RISC-V
? RISC-V Nvidia . GPU - CPU , . , , , , . .
RISC-V RISC-V , ARM.
RISC-V , , ARM. Nvidia , , RISC-V, , - . .
, , . GPU, , , , .
RISC-V Machine Learning Accelerator (ET-SOC-1)
Esperanto Technologies โ , RISC-V. SoC ET-SOC-1, , SoC M1. 23,8 16 M1.
Firestorm , RISC-V ET-Maxion. , Linux. 1000 ET-Minion. RISC-V, RISC-V. ? , .
, . ET-SOC-1 , M1? , โโFirestorm , . , , , . . ET-Minion, , , , , , , .
ET-SOC-1 , RISC-V. ET-Maxion ET-Minion Esperanto Technologies. , Apple ( - ) ET-Minion M1, .
ARM x86
, , ARM. , , RISC-V . , , System-on-a-Chip, (SoC) RISC-V, ARM.
: RISC-V: Apple ?
, , RISC-V. , ARM RISC-V. , , ARM RISC-V.
ARM RISC-V
ARM RISC-V, : , , , , .
, RISC-V .
RISC-V , , , , ARM, RISC-V.
- Raspberry Pi. ARM. RISC-V , . . . โ . , . Linux , , .
RISC-V , RISC-V .
Nvidia Jetson Nano, . Raspberry Pi , , .
NVIDIA Jetson Nano.
RISC-V CPU?
: ARM RISC-V? , , RISC-V ยซ ยป , โโ , ARM x86.
RISC-V . . ARM, -, RISC-V. , , : RISC-V .
, . RISC 90-, x86 .
Intel RISC- 90-: Is It Game Over x86 ISA Intel?
, , CPU RISC-V, . MacOS Windows ARM. , , Microsoft Apple .
OTUS . . OTUS.