인프런 커뮤니티 질문&답변
강의 11:57분 bit 계산 질문드립니다.
작성
·
285
1
안녕하세요! SW전공잔데 AI에 관심이 있어서 이 강의를 듣다가, 강의에서 넘어가신 bit계산이 어떻게 계산된 값인지 이해가 안가서 질문드립니다. 프로그래밍 언어의 자료형이랑은 다른 개념같은데, HW 설계에서는 어떤 식으로 미리 계산을 하는지 궁금합니다.
답변 1
1
안녕하세요 :)
해당 내용은 Verilog HDL Season1 에서 다룬적이 있고요.
질문자 분께서 SW 전공자시니 SW 관점에서 설명을 드리겠습니다.
================================================
C 언어와 같은 CPU 기반의 SW 언어들은 "지정된 Type" 이 존재합니다.
예를 들면 bool, char, int, long, double , float etc.. 등등이죠.
이 "지정된 Type" 은 고유 byte 를 갖고 연산방법또한 정해져있습니다.
강의에서 사용한 unsigned int 를 예를들어볼께요.
unsigned char 는 32bit 4 byte 입니다. 그리고 unsigned int 의 연산방식을 취합니다.
HW 는 이론상 선언 bit 의 제약이 없습니다.
33bit 을 선언할 수 있고, 25 bit 선언할 수 있고, 1111 bit 등 자유롭게 선언할 수 있죠.
그리고 이 선언된 bit 는 실제 HW 로 생성이 됩니다. (적은 bit 사용이 작은 HW 를 만들 수 있겠죠. 무조건 큰 bit 를 사용하지 않습니다.)
==================================
연산시 Overflow 는 없다 라는 가정이면, 큰 bit 를 사용해야 합니다.
SW 는 고정된 type 인 unsigned int (32b) 를 사용했다면, (현재 실습에서 사용하는 max bit 는 27 bit 입니다. 그래서 32b 으로 커버가 돼죠)
HW 의 실습코드를 보시면, 설계자가 직접 사용할 bit 수를 지정해서 사용하신 것을 확인하실 수 있습니다.

즐공하세요 :)





