deer-develop / study

2 stars 0 forks source link

그래서 불 연산이 뭔지는 왜 안가르쳐 주나요 #12

Open hyewoncc opened 5 months ago

hyewoncc commented 5 months ago

2장 제목이 불 연산이래서 1장에 나온 게이트를 생각했는데, 다 읽고 나니 계속 2진수 얘기만 했더라고 그래서 불 연산이 뭐지... 했는데 덕수가 슬랙에 올려준 거 봤어 ㅋㅋㅋ 감사합니다

2.1 산술 연산

놀랍게도 산술 연산을 포함하여 디지털 컴퓨터에서 수행되는 모든 함수는 2진수의 덧셈으로 환원할 수 있다. p38

위에 나열된 덧셈, 부호 변환, 뺄셈, 비교, 곱셈(무식하게 생각하면 덧셈을 반복하면 되겠지만, 아마 절대 그렇게 구현하지 않겠지?) 까진 알겠는데, 나눗셈을 덧셈으로 처리한다는게 논리적으로 말이 안되는 것 같아서 상상해보다 찾아봤어. 컴퓨터구조-2진수 나눗셈 근데 전 혀 이해는 못함 ㅋㅋㅋ

2.4 부호가 있는 이진수

2의 보수법이 특히 더 좋은 이유는, 뺄셈이 덧셈의 특별한 경우로 처리되기 때문이다. p43

음수 표시하고 싶으면 10진수 처럼, 맨 앞 비트가 1이면 양수, 0이면 음수라고 정해놓고 한 자리 더 붙여서 표기하면 되는 거 아닌가? 싶었는데 이런 좋은 방법이 있었구나 싶어. 알고리즘 풀 때 관련한 비트연산 문제를 본 것 같기도 하고...

2.5.2 산술 논리 장치

명세표를 전혀 이해못하겠는데 과제하면서 다시 봐야겠다

2.8 정리

새로운 컴퓨터 시스템을 설계할 때, 어떤 기능을 ALU와 OS 중 어디에서 처리하게 할지는 비용/성능 관점에서 큰 딜레마다.
...우리가 설계한 ALU에는 곱셈이나 나눗셈이 없다. 대신 II부에서 운영체제를 설명할 때, 곱셈과 나눗셈 및 기타 수학 연산을 비트 단위로 효율적이고 우아하게 계산하는 알고리즘을 구현할 것이다. ...코드 컴파일 이후에 표현식의 일부는 ALU에서, 나머지는 OS에서 계산되지만... p53

모두 덧셈으로 할 수 있다해서 모두 ALU에서 처리할 줄 알았는데, 그게 아니어서 흥미로웠음!