C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지 |
아이디 비밀번호
 
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[1865] Re:컴퓨터 질문..
태즈 [taz1000] 2933 읽음    2001-09-16 10:26
조성택 님이 쓰신 글 :
: 왜 컴퓨터는 이진수를 쓰져??
: 1~N가지 정보를 2진수로 부호화 하면 몇 비트가 되죠??

2진수이니 사용가능한 수는 0,1 두가지죠.
따라서 2진수 1비트 (1자리)로는 0이나 1 밖에 나타내질 못하죠.

2비트라면 00, 01, 10, 11 이렇게 4개.

3비트라면 000,001, 010, 011,100,101,110,111 이렇게 8가지의 경우를 표현할 수가 있죠.

이런식으로 보면 n bit의 2진수로 나타낼 수 있는 가지의 수는
2^n 이 되겠죠...

1~~N가지의 정보를 부호화 한다면...
2^(n-1) <= N < 2^n  을 만족하는 n을 찾으시면 그게 필요한 최소비트가 되죠.

예를 들어.. 512가지 종류라면.. 9비트로 표현이 가능하죠...
만약에 513가지라면.. 이제 9비트로는 모자라게 되죠.. 10비트를 쓰면 1024가지를 나타낼 수가 있게
되니.. 비록 511가지의 경우를 낭비하게 되더라도 어쩔 수 없이 10비트를 써야하겠죠.. 9비트로는
불가능하니깐.. 이것을 위의 식으로 검증(?)해보면...

2^9 (512)   <=  N (513)   < 2^10 (1024)
이런식으로 만족하게 되죠... 그래서 10 비트가 필요하죠.


그리고.. 컴퓨터는 왜 2진법을 쓰는가...
표현력이 딸리고 내공이 부족한 저이지만, 나름대로 설명을 시도해보면....



컴퓨터는 왜 2진수를 쓰는지..

컴퓨터 내부에 있는 대부분의 칩들 CPU, Chipset등등은 반도체 제조 방법(?공정?)
중에서 CMOS 공정을 이용합니다. 이게 대략 어떤 것인가 하면...
개략적인 설명을 위해서 실제를 """무척""" 간략화 하였기에 관련된 분야를
아시는 분이 보시면, '어.. ' 하실지도.. 말그대로 개략적인 설명을 위한 것이기에.......

다른데서 편집에서 올리니.. 그림이 막 밀리네요.. 대강 보시면 아실수 있으실듯..
몇번 줄을 맞추려고 수정을 시도했는데, 잘 안되네요.

   Vsource                Vgate                       Vdrain
    │                     │                           │
     │                               │                           │
     │                       ┌────┴─────┐                │
     │                       │    Gate            │                      │
     │                       └──────────┘                │
     │                                                               │
──┴───────┬────────┬───────┴────
                            │                         │
   Source   n+      │       p+       │       drain   n+
                    │                │
                            │                         │
──────────┘                └─────────────

                           substrate
─────────────────────────────────

MOS에는 NMOS와 PMOS가 있는데, 위의 것은 NMOS입니다. PMOS는 모든것의 극성(?)을 반대로 돌린 것입니다.

source, drain 이라고 쓰여있고, n+라고 쓰여있는 것은 여기에는 '전자'가 아주
아주 많다는 것을 뜻합니다. 가운데에 p+라고 쓰여져있는 부분은 '전자'의 반대
극성을 가지는 '홀'(정확하게는 '전자가 있어야 하는데 없는 빈 부분'이지만,
여기 설명에서는 중요하지 않습니다. 그냥 그런게 있구나.. 하시면 됩니다.)이라는
것이 무척 많은 곳입니다.

가운데 위에 붕 뜬 부분은 아래판 위에 어떤 절연물질이 있고 그 위에 놓여져
있는 것입니다. 즉 Gate에 전압을 걸어주면 이게 아래로 흐르지는 않는다는
것입니다.

Vdrain - Vsource에 전압 5V를 걸명 어떻게 될까요.. 전기가 흐를까요? 
전기가 흐르기 위해서는 '통로'가 있어야 합니다. source, drain쪽에 있는 전자가
쭉~~ 흘러가야 전기가 흘러야 하는데, 가운데 부분에는 이 전자가 거의 없기 때문에 (사실 전자 수는 헤아릴 수 없이 많지만 '전기가 흐르는 것에 기여를 할 전자'
가 없는 것입니다.) 전류가 흐르지를 못합니다. 이런 상태를 'off'라고 하죠.
만약 여기서 Vgate에 5V를 걸어준다면.....
위에서 말씀 드렸죠.. substrate부분에는 전자가 헤아릴 수 없이 많지만 '전류가
흐르는 것에 기여를 할 전자'가 없다고 했죠.. Vgate에 5V가 오면.. Gate는 '+'
극성을 띄겠죠. 그러면 이게 마치 '자석'의 역할을 하게됩니다.
아래에 p+ 부분으로 전자( 전자는 -극성을 가졌으니 +의 gate가까이로 모이게
되죠..)가 쫙~~~ 모입니다. 결국 '전류에 흐르는 것에 기여를 할 전자'가
생기게 되는 것입니다. 이렇게 되면 drain과 source사이에 전자가 흐를
통로가 생기게 되는 겁니다. 이런 상태를 'on'이라고 하죠.

즉 Vgate가 스위치의 역할을 하면서 전류가 흐르거나, 안 흐르거나를 조절하게
됩니다.

이걸 가지고 어떻게 IC회로를 구성하고 하는지는... 음. 복잡합니다. 여기서
이렇게 설명하기에는 제 내공이 아직... 기본적인 개념은 그렇습니다.

위와 같이 'on-off'상태를 구분하기에는 무척 쉽습니다. 하지만, 이걸 3가지
이상의 상태로 나타내려면.. 장난 아니게 복잡해지게 됩니다.
완전히 off, on, 그리고 중간 단계... 반도체 특성이 on, off는 구현이
쉽지만, 그 중간단계는 무척 어렵습니다. 조금만 상황이 달라져도 -
온도가 올라가거나.(대부분의 칩이 그렇죠) 전압이 조금만 흔들리거나 하여도
'중간단계'는 off나 on쪽으로 쉽게 움직입니다. 컨트롤 하기가 어렵죠. 너무.

그래서 아직까지는 on-off를 기반으로 한 2진 개념이 사용되는 겁니다.

지금 여러 곳에서 on-off 2진이 아닌 여러 단계를 표현할 수 있는 방법을
연구하고 있습니다. 연구실에서 프로토 타입으로는 몇군데서 성과를
보았지만, 이걸 상용공정에서 상용IC를 만드는데 사용하기에는 무리가 있죠.
시간이 지나면 언젠가는... 만나볼 수 있겠죠.




  표현력이 딸리고 급하게 쓰는 글이어서 제대로 전달이 되었는지 모르겠습니다.
다시 한번 말씀 드리지만, 위의 글은 '개념적인 전달'을 위해서 작성한 것입니다.
자세한 내용을 아시는 분께서 보기에 무리가 있을 겁니다. 만약 '이건 도저히..'
이런 부분이 있으면 답글을 달아주십시요. 다른 표현을...

긴글 읽느니라 수고하셨네요.. ㅎㅎ..

+ -

관련 글 리스트
1860 컴퓨터 질문.. 조성택 2951 2001/09/16
1865     Re:컴퓨터 질문.. 태즈 2933 2001/09/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.