Apple M1 annonce le décollage du RISC-V

Le M1 représente le début d'un changement de paradigme qui profitera aux microprocesseurs RISC-V, mais pas comme vous le pensez.

Il est maintenant devenu évident que la création de la puce Apple M1 est un événement remarquable. Les implications pour l'ensemble de l'industrie deviennent peu à peu claires. Dans cet article, je veux parler de la communication avec les microprocesseurs RISC-V.





: Apple M1 ?





, 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) . . . , , , , .





, . , .





, . . . :





  1. LSU (Load Store Unit), .





  2. , . ( ). , , , Input/Output .





  3. . , .





  4. , .





, , , , 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.





Carte SiFive RISC-V capable d'exécuter Linux
RISC-V SiFive, Linux

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.





Tracé sur l'espéranto ET-SoC-1.  Image: Art Swift.
Esperanto ET-SoC-1. : Art Swift.

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 4,      ARM.
Raspberry Pi 4, ARM.

- 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?





RISC-V : RISC-V.





, , CPU RISC-V, . MacOS Windows ARM. , , Microsoft Apple .





OTUS . .   OTUS.





, " " -   .












All Articles