★ 「2019학년도 1학기」 수/업/노/트 ★
by. 동동매니저 >_<
▶ 일자 : 2019년 04월 16일 (화)
▶ 과목 : 컴퓨터 아키텍처
▶ 담당 교수님 : SCH 컴소공 이화민 교수님
※ 이번 수업의 핵심 키워드!!
- ALU
- 정수의 2진수 표현
- 논리 연산
※ 수업 내용을 요약해보면?
★ ALU의 구성요소
▶ 산술 연산장치 : 사칙연산 수행
▶ 논리 연산장치 : 논리연산 수행
▶ 시프트(Shift) 레지스터 : 비트들을 좌측이나 우측으로 이동
▶ 보수기 : 2의 보수를 취함 (음수화)
▶ 상태 레지스터 : 연산 결과의 상태(flag) 저장
★ 정수의 2진수 표현
▶ 10진수 -11.625 = 23+21+20+2-1+2-3 = -1011.101(2)
★ 음수의 2진수 표현
▶ 부호화 크기 표현
- 최상위(맨 좌측) 비트가 부호 비트, 나머지는 수를 표현
- 2진수로의 변환이 쉬움
- 단, 연산을 위해 부호 비트와 크기 비트를 별도로 처리해야 함
- 또, 0에 대한 해석이 2가지로 표현됨. (+0, -0)
▶ 보수 표현
- 1의 보수 : 모든 비트를 반전
- 2의 보수 : 1의 보수에 1을 더함
- 1의 보수 표기법에서도 0에 대한 해석이 2가지가 됨. (00000000, 11111111)
▶ 부호 비트의 확장
- 부호화 표현 : 부호 비트를 최상위 비트로 옮기고, 나머지는 0으로 채움
- 2의 보수 : 모든 상위 비트를 부호 비트로 채움
★ 논리 연산
- AND : 두 비트 모두 1이면 1, 아니면 0
- OR : 두 비트 모두 0이면 0, 아니면 1
- NOT : 비트 반전
- XOR : 두 비트가 다르면 1, 아니면 0
- 선택적 세트 연산 : 특정 비트들을 1로 만들기 위한 동작으로, OR 연산을 수행
- 선택적 보수 연산 : 특정 비트들을 보수화하기 위한 동작으로, XOR 연산을 수행
- 마스크 연산 : 특정 비트들을 0으로 만들기 위한 동작으로, AND 연산 수행
- 삽입 연산 : 데이터 내의 일부 비트들을 새로운 값으로 대체시키기 위한 동작으로, 마스크 연산 + OR 연산을 수행
★ 시프트 연산
- 데이터 비트들을 왼쪽 또는 오른쪽으로 이동시키는 연산
- 넘치는 비트는 버리고, 빈 비트는 0으로 채움
- 순환 시프트 : 최상위(최하위) 비트를 버리지 않고, 반대편 끝의 비트로 들어가는 시프트로, 이를 활용한 직렬 데이터 전송이 가능
※ 수업을 듣고 나서 느낀 점!!
▶ 컴퓨터가 덧셈만을 고집하는 것도 이유가 있었다는 점(?)을 알게 되었음.
▶ 사람에게는 편한 방법이 컴퓨터에게는 불편하다는 것이 많다는 것도 깨달았음.
※ 기타 참고 사항!!
▶ 없음