반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- Cortex-M3
- SPI mode
- LinkedList
- asynchronous fifo
- FIFO 설계
- booth algorithm
- booth multiplier 설계
- ARM
- Keynote 표
- cadence conformal eco
- 비동기 FIFO 구조
- 자료구조
- booth multiplier
- keynote 도형 복사
- lec check
- ACK Polling
- Async FIFO
- c
- C언어
- 연산 가속기 설계
- ISR
- BSS
- malloc
- Sync FIFO
- keynote 사용법
- LEC
- 곱셈기 설계
- keynote
- i2c
- keynote 도형 회전
Archives
- Today
- Total
JINTBEAT Design Life
Barrel Shifter란? 본문
반응형
디지털 회로에서 데이터를 여러 비트 단위로 "한 번에" Shift 해주는 하드웨어
쉽게 말하면, 여러번 shift 명령을 하지 않고, 한 번에 원하는 만큼 이동시키는 장치이다.
x = x << 1; // 1비트 이동
x = x << 1; // 또 1비트
x = x << 1; // 또 1비트
> 3번 해야 3비트 이동
그런데, Barrel Shifter는?
x = x << 3; // 한 번에 3비트 이동
왜 "Barrel"이라는 이름이지?
구조가 약간 이런 느낌이라서 그렇다.
- 입력 비트들이 원형(Barrel)처럼 연결되어 있음.
- 선택 신호에 따라 "쭉 밀려서" 출력으로 나옴
RTL 관점
Barrel Shifter는 보통 MUX 트리 구조로 만들어진다.
예 : 8bit shifter
- 1 bit shift stage
- 2bit shift stage
- 4bit shift stage
> 각각을 조합해서 원하는 shift량을 만든다.
특징
1. 1-cycle 동작
- 여러 번 shift 안해도 됨
- CPU ALU에서 매우 중요
2. 빠름 (하지만 비용이 있다)
- 속도 : 빠름
- 대신에 MUX가 많아 area 증가하고, fanout 증가해서 timing 부담이 생김.
용도
1. CPU (ARM, RISC-V)
- ALU안에 기본 포함
- 예 : LSL, LSR, ROR
2. Address 계산
- addr = base + (index << 2) → barrel shifter 필수
핵심 한 줄 요약
Barrel Shifter는 "한 사이클에 원하는 만큼 비트를 이동시키는 MUX기반 회로"
- 이 글은 Chatgpt 문답에 의해 작성되었습니다.
반응형
'🖥️ - ARM' 카테고리의 다른 글
| SPI - Daisy Chain (0) | 2026.05.26 |
|---|---|
| SPI - 기본 개념 (CPOL / CPHA) (0) | 2026.05.16 |
| ELF(Executable and Linkable Format) 이란? (2) | 2026.04.12 |
| Linker - (2) (2) | 2026.04.09 |
| Linker - (1) (0) | 2026.04.09 |