1. Concrete Encoding of information
우리는 information을 bits로 encoding할 수 있었다. 그렇다면 이러한 bits를 어떻게 물리적으로 encoding할 수 있을까?
여러가지를 이용할 수 있지만, 다음과 같은 조건을 만족하는 것이 좋다.
- Small, Inexpensive,
- Stable, Reliable, Repeatable
- Easy to access, transformaion, combine, transmit, store
우리는 주로 Electric phenomenon인 voltages, phase, current, frequency 등을 이용하여 encoding할 수 있다.
상황에 맞는 응용에 맞게 최선을 선택해서 사용하면 된다. 여기서는 Voltage를 이용할 것이다.
Voltage는 쉽게 생성, 탐지, 조작이 가능하고, 이미 많은 관련된 지식이 있으며, 0에 근접하는 power dissipation으로 변화없는 information을 steady state로 유지시킬 수 있다.
하지만, 단점도 있다. voltages는 magnetic flux의 변화에 영향을 받을 수 있는데 이는 EMF를 발생시키기 때문이다(Faraday's rule). 또한, RC circuit의 충전/방전 시 생성되는 판사이의 potential difference (voltage) 를 전송할 때, 충전/방전에 걸리는 시간이 있으므로 그 voltage를 변경하는데 시간이 걸린다.
2. Analog Signaling
0V ~ 1V사이의 voltage로 N bits information을 표현하기 위해서는 구간을 1/2^N 로 나누어 특정시간내에 빠르고 신뢰성있게 구간을 구별할 수 있어야 한다.
예를 들어, 우리는 흑백이미지를 좌우로 scan하여 우리는 0V ~ 1V사이의 voltage wave 로 encoding할 수 있다.
이러한 voltage wave는 processing block을 사용하여 할 Copy, Inverting 할 수 있는데, Copy block은 입력과 동일한 출력을 나오게 만들고, Inverting Block은 입력을 반대로 뒤집는다.
Processing block을 사용하는데에는 이점이 있다. 신뢰할만한 pre-packaged processing block을 사용함으로서 analog engineering에 대해 모르더라도 우리는 signal을 처리할 수 있다. 또한, block을 조립하여 predictable composition을 만들 수 있고, 최종적으로 성능이 보장되는 processing component를 만들 수 있다.
하지만 원본 image에 대해 processing block인 copy, invert를 반복하여 원본으로 다시 되돌렸을 때, 실제로는 원본과 동일하지 않는 흐릿한 image를 얻게 된다. 이것은 제조과정, 환경 등에 의해서 정확한 voltage가 아닌 약간의 오차가 발생하기 때문이다. 실제 세상에서 이러한 Noise, inaccuaracy는 피할 수 없다. 작은 error라할지라도 large system이 되었을 때 이것이 쌓이면 큰 error가 될 수 있다. 따라서, 작은 error가 쌓이기 전에 이를 제거해야 한다.
3. Using Voltages Digitally
실제 input/output인 물리적인 voltages를 처리하기 위해서는, voltages를 bits로 표현하는 방법이 필요하다.
첫번째 방법은, 특정 하나의 threshold 를 기준으로 그보다 작은 voltage는 0으로 큰 voltage는 1로 표현하는 것이다. 하지만, voltage가 threshold에 가까워질 수록 0인지 1인지 구별이 어려워지므로 비싼 voltage divider로 threshold와 멀리 떨어진 곳에 voltage가 생성되도록 해야한다.
두번째 방법은, 두개의 voltage threshold를 두고 작은 threshold($V_L$)보다 작으면 0으로, 큰 threshold($V_H$) 보다 크면 1로 표현하는 것이다. 두 threshold의 사이지점은 , forbidden zone으로 system에 어떠한 요청도 할 수 없다.
이러한 방식으로 표현하게 되면, forbidden zone의 voltage는 무시하므로 저렴한 voltage divider로 voltage를 생성해도 문제가 없다. 다만 converter는 이러한 votlage를 정확하게 구분하여 0인지, forbidden zone인지, 1인지 구분할 수 있어야 한다. 우리는 이 방식을 사용하도록 한다.
4. Conbinational Devices
Combinational Devices는 다음을 갖는 circuit element이다.
1) 한개이상의 input
2) 한개이상의 output
3) possible input combination에 대한 output을 정의하는 functional specification
(예를들어, 3개의 input이면 2*2*2의 총 8개의 possible value가 존재하는데, 각각의 possible value에 대한 output value가 정의되어야함)
4) input의 변화에 대해, output이 반영될때까지 얼마나 걸리는지에 대해 말해주는 timing specifiction
(이러한 propagation delay $t_{PD}$ 는 input이 stable&valid digital value가 된 후, output이 stable&valid digital value가 될때까지 걸리는 시간의 upper bound이다.)
이러한 Combintaional devices를 이용하여 Combinational Digital System을 구성하기 위해서는 다음과 같은 Composition rule을 만족해야 한다.
1) 모든 circuit element는 combinational이어야 한다.
2) 모든 component의 input은 system input, 다른 component의 output, constant voltage(유효하게 0 또는 1을 나타내는)와 연결되어 있어야 한다.
3) circuit은 directed cycle이 있어서는 안된다
(cycle이 있다면, propagation delay가 무한대가 될 수 있고 timing specifiction이 정의되지 않으므로 Combinational Digital System은 conbinational device가 될 수 없음. Combinational Digital System에서 전체 propagation delay는 내부적으로 input에서 output까지 도달하는 longest path의 propagation delay임)
이러한 Comtinational Digital System 또한 Combinational Devices로 볼 수 있다.
5. Dealing with noise
한 combinational device에서 다른 combinational device로 voltage를 보낼 때, $V_L-\epsilon$ 값을 송신 후 noise에 의해서 $V_L+\epsilon$ 값으로 수신하였을 때, valid value는 invalid value로 해석되는 문제가 발생한다.
이러한 noise는 여러가지로부터 온다.
1) 회로의특성 : 저항으로 인한 voltage감소, Inductance로 인한 voltage감소 등
2) 제조의특성 : 제조공정의 오차, 허용가능한 공차 등
3) 환경적요인 : 외부 자기장, 온도 변화 등
이러한 noise로 인한 output과 input의 차이를 극복하기 위해서, output에 대한 input에 약간의 오차를 고려해준다.
$V_{OL}$ (lower threshold of output) 보다 약간 큰 threshold를 $V_{IL}$ (lower threshold of intput)으로,
$V_{OH}$ (Higher threshold of output) 보다 약간 작은 threshold를 $V_{IH}$ (Higher threshold of intput)으로 설정하는 방식이다. 즉, input에는 약간의 noise margin을 주는것이다.
만약 device의 input으로 $V_{IL}$ 과 $V_{IH}$ 사이의 구간값이 들어오면 invalid한 것으로 본다.
6. Voltage Transfer Characteristic(VTC)
buffer와 같은, combinational device는 valid input에 대한 invalid ouput이 나오는 특성을 가져서는 안된다(VTC)
buffer의 입력을 valid한 값을 받았는데 output이 invalid값인 V_OH와 V_OL사이의 값이 나오면 안된다는 것이다.
그래야 그 다음 그리고 또 다음 신호 전달과정이 정상적으로 이루어진다.
즉, device의 input에 대한 output 출력 그래프를 그렸을 때 색칠된부분(forbidden zone)을 거치면 안된다는 것이다.
또한, $V_{OH}-V_{OL} > V_{IH}-V_{IL} $이여야 하므로 그래프의 중앙지역($V_{IH} ~ V_{IL}$)에서 기울기는 1보다 크다. 이 기울기를 gain으로 정의하면, gain > 1 이여야 하며, 기울기 값이 더 크게 설정 가능한 device일 수록 더 많은 noise margin을 허용한다는 의미이므로 더 강건한(tolerate)한 시스템을 구축할 수 있다 . 하지만, 전체 영역에 걸쳐서 기울기가 1보다 클수는 없으므로, 그래프는 항상 non-linear해야한다.
따라서, 일반적으로 linear devices들인 resistor, capacitor, inductor로만 circuit을 구성하면 이러한 특성을 갖는 voltage transfer를 구현할 수 없다. 따라서, 우리는 반드시 그래프 중앙지역에서 기울기가 1보다 크게하고, non-linear한 특성을 갖는 device를 이용해야 한다.
'프로그래밍 > Computer Structure' 카테고리의 다른 글
3. CMOS(Complementary Metal-Oxide-Semiconductor) - 1 (0) | 2024.11.05 |
---|---|
1. Basics of information (0) | 2024.10.09 |