티스토리 뷰
기본적인 산술 연산들
A A'+ 1 ; 보수화(2의 보수 변환)
A A + B ; 덧셈
A A - B ; 뺄셈
A A x B ; 곱셈
A A / B ; 나눗셈
A A + 1 ; 증가(increment)
A A - 1 ; 감소(decrement)
2의 보수로 표현된 수들의 덧셈 방법
두 수를 더하고, 만약 올림수가 발생하면 버림
병렬 가산기(parallel adder)
덧셈을 수행하는 하드웨어 모듈
비트 수만큼의 전가산기(full-adder)들로 구성
덧셈 연산 결과에 따라 해당 조건 플래그들(condition flags)을 세트
C 플래그 : 올림수(carry)
S 플래그 : 부호(sign)
Z 플래그 : 0(zero)
V 플래그 : 오버플로우(overflow)
4-비트 병렬 가산기와 상태 비트 제어회로
덧셈 오버플로우
덧셈 결과가 그 범위를 초과하여 결과값이 틀리게 되는 상태
검출 방법
두 올림수(carry)들 간의 exclusive-OR를 이용
V = C4 C5
덧셈에서 오버플로우가 발생하는 예
뺄셈
덧셈을 이용하여 수행
A - (+B) = A + (-B)
A - (-B) = A + (+B)
단, A : 피감수(minuend), B : 감수(subtrahend)
덧셈과 뺄셈 겸용 하드웨어의 블록 구성도
뺄셈 오버플로우
뺄셈 결과가 그 범위를 초과하여 결과값이 틀리게 되는 상태.
검출 방법 : 덧셈과 동일 (V = C4 C5 )
부호 없는 정수의 곱셈
각 비트에 대하여 부분 적(partial product) 계산
부분적들을 모두 더하여 최종 결과를 얻음
부호 없는 정수 승산기의 하드웨어 구성도
M 레지스터 : 피승수(multiplicand) 저장
Q 레지스터 : 승수(multiplier) 저장
두 배 길이의 결과값은 A 레지스터와 Q 레지스터에 저장
곱셈이 수행되는 과정에서의 레지스터 내용들
2의 보수들 간의 곱셈
Booth 알고리즘(Booth's algorithm) 사용
하드웨어 구성
부호 없는 정수 승산기의 하드웨어에 다음 부분을 추가
M 레지스터와 병렬 가산기 사이에 보수기(complementer) 추가
Q 레지스터의 우측에 Q-1 이라고 부르는 1-비트 레지스터를 추가하고, 출력을 Q0와 함께 제어 회로로 입력
Booth 알고리즘의 흐름도
Booth 알고리즘을 이용한 곱셈의 예 (-7x3)
나눗셈
나눗셈의 수식 표현
D ÷ V = Q --- R
단, D = 피젯수(dividend), V = 젯수(divisor), Q = 몫(quotient)
V = 젯수(divisor), R = 나머지 수(remainder)
부호 없는 2진 나눗셈
부호 없는 2진 나눗셈 알고리즘의 흐름도
2의 보수 나눗셈 과정
[초기 상태] 젯수는 M 레지스터에, 피젯수는 A와 Q 레지스터에 저장 각 레지스터가 n 비트일 때, 피젯수는 2n 비트 길이의 2의 보수로 표시
[사이클 1] A와 Q 레지스터를 좌측으로 한 비트씩 쉬프트
[사이클 2] 만약 M과 A의 부호가 같으면 A A - M, 다르면 A A + M을 수행한다.
[사이클 3] 연산 전과 후의 A의 부호가 같으면 위의 연산은 성공
연산이 성공이거나 A = 0 이면, Q0 1로 세트
연산이 실패이고 A ≠ 0 이면, Q0 0으로 하고 A를 이전의 값으로 복구
[사이클 4] Q에 비트 자리 수가 남아있다면, 단계 2에서 4까지를 반복
[사이클 5] 나머지 수는 A. 만약 젯수와 피젯수의 부호가 같으면 몫은 Q의 값이고, 그렇지 않으면 Q의 2의 보수가 몫
2의 보수 나눗셈의 예 (7 ÷ (-3))
- #말데아모레스
- #자동차판매순위
- #2025미드
- #세르피엔테스이에스칼레라스
- #면접준비
- #스페인어드라마
- #abc드라마
- #경력경쟁채용
- #멕드추천
- #기대작드라마
- #라스무에르타스
- #쿠팡플레이추천
- #2025트렌드
- #binge추천
- #프라임비디오호주
- #산티타
- #해외드라마추천
- #2025멕시코드라마
- #ev추천
- #체력시험
- #애플티비플러스추천
- #넷플릭스멕시코
- #의무경찰
- #로스그린고헌터스
- #디즈니플러스추천
- #hbo드라마
- #판매순위
- #아마존프라임비디오추천
- #sbs드라마
- #공무원시험
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |