728x90
하드웨어 : 비트에 대해 동작하는 장치를 포함해 모든 물리적인 장치
그 중에서 조합 논리
(불리언 대수) 를 구현하는 하드웨어에 대해 살펴볼 것이다.
- 디지털 컴퓨터의 사례
- 톱니바퀴 이용
- 두 바퀴의 상대적 회전 속도를 통한 계산
- 계산자
log(x*y) = log(x) + log(y)
를 이용하여 계산하는것- 앞의 x만큼 띄어서 y해당 계산자를 붙이면 곱셈값을 구할 수 있다.
- 추가로 이거 밑이 10인 상용로그라 10의 거듭제곱도 쉽게 구할수있음(그거는 그냥 숫자처리하면 되니까)
- 차분기관같은것도 있었다고 함
- 톱니바퀴 이용
- 아날로그 디지털 차이
- 디지털 : 이산적 -> 하나하나 다른 존재로 구분된다. 정수만 표현 가능
- 아날로그 : 연속적 -> 실수를 표현 가능
- 즉 계산자같은 애들은 아날로그 컴퓨터임
- 이거는 문제가 실수의 범위가 커질수록 찾기가 쉽지 않다는것
- 하드웨어에서는 크기가 중요하다.
- 컴퓨터 클록 속도가 40GHz라고 하면 1초에 40억개의 계산을 할 수있다는 것이다.
- 이게 결국 전자가 어떤 속도로 이동해야하는거 -> 따라서 하드웨어 크기가 작으면 효율적인것이다.
- 근데 물체가 너무 작으면 속도나 효율은 좋아지지만 간섭하기가 아주 쉬워진다.
- 그래서 디지털을 만드는것이 필요한데, 생각해보면 디지털이라는게 어쨌든 아날로그 세상에 존재하는것이다. -> 그래서 어떻게든 디지털로 만들어야 할 것
- 아날로그에서 디지털 만들기
- 전이 함수
-
-
- 중요한건 함수에 있어 상단부/하단부가 아닌 직선부에 닿도록 해야하는것(그래야 너무 밝거나 어둡거나 하지 않으니)
- 만약 증폭 전이 함수의 기울기가 크면(직선부가 가파르면) 출력이 이상해짐
- 입력의 범위가 직선부뿐 아니라 상단/하단부에 해당하면 왜곡이 생김
- 출력이 확 커짐
- 이런 입력이 조금만 번해도 곡선의 가파른 부분 때문에 출력이 커지는 판정 기준을 문턱값이라고 한다.
- 여기서 보면 이런 문턱값의 왜곡 발생은 결국 하단부 -> 상단부로의 변경을 뜻하는 것인데(말하자면 직선부를 지나쳤다 - 계단이 변경됨) 이를 통해 왜곡으로 디지털 값을 만들수 있다.
- 디지털은 결국 직선부를 최대한 작게 만드는 것
- 여기서 보면 이런 문턱값의 왜곡 발생은 결국 하단부 -> 상단부로의 변경을 뜻하는 것인데(말하자면 직선부를 지나쳤다 - 계단이 변경됨) 이를 통해 왜곡으로 디지털 값을 만들수 있다.
-
- 10진 숫자 대신 비트를 사용하는 이유
- 당연한거임 -> 10진수 만드는것보다 그냥 문턱값에서 하나 올리면서 그거를 10개 쓰는게 나음
- 하단부 : 차단 / 상단부 : 포화
- 전이함수를 아주 가파르게 하면 간단!
- 비트를 처리하기 위한 하드웨어
- 릴레이, 진공관 -> 속도가 느림
- 트랜지스터
- transfer resistor(전송 저항)의 줄임말
- 여러 유형이 있는데 중요한 두 가지 유형
- BJT(쌍극 접합 트랜지스터)
- 전기가 한 방향으로만 흐른다.
- FET(전계 효과 트랜지스터)
- 정전기 효과를 사용해 스위치 움직임
- MOSFET(금속산화물 반도체 전계 효과 트랜지스터) 라는게 있는데 이거는 FET의 일종이고 전력 소모가 적어서 현대 컴퓨터 칩에서 가장 널리 쓰이는중이다.
- BJT(쌍극 접합 트랜지스터)
- 집적 회로
- 트랜지스터를 쓰면 간단한 회로를 만들 때에도 부품이 너무 많이 필요
- 복잡한 시스템을 간단히 만들 수 있다.
- 칩이라고도 불림
- 논리 게이트
- AND / OR / XOR / 인버터(NOT)같은 애들을 미리 만들어놓은 게이트
- NAND / NOR
- 얘들은 논리 게이트에서 가장 단순한애들
- 그래서 싸고 반응속도도 빠르고 전력소모도 적음
- 그래서 기본적으로 이것들이 쓰인다.
- 참고로 입력이 3개인 것도 있음
- 이력 현상을 활용한 잡음 내서 향상
- 위의 게이트를 써서 논리 신호가 0->1 1->0 순식간에 샥샥 가는게 아님
- 대부분 천천히 바뀌는 경우가 많고 잡음이 있으므로 문턱값을 여러번 오락가락하는 글리치(작은 오류) 바랭
- 이런거를 이력 현상을 위해 방지 가능하다.
- 이력 현상이란 판정 기준이 이력(과거에 벌어진 일)에 따라 달라진다는 뜻
- 0 -> 1 : 오른쪽 곡선 사용(/ 요런 형태)
- 1 -> 0 : 왼쪽 곡선 사용(\ 요런 형태)
- 여기서 보면 올라가는신호랑 내려가는신호는 각각 다른 문턱값이 생긴다.
- 즉, 입력신호가 두 문턱값중 하나를 넘어간 경우, 반대쪽 문턱값을 지나가며 출력이 반전되려면 값이 많이 변해야 한다는 것이다. -> 잡음 내성이 커진다(흔들려서 실수로 내려가는 경우에 곡선이 반대면 크기에 따른 판별 가능)
- 요거를 활용하는 게이트가 슈미트 트리거
- 참고로 이거는 비싸고 복잡해서 필요한 경우에만 사용한다.
- 차동 신호
- 잡음이 너무 많으면 위의 이력으로 충분하지 않을 수 있다.
- 그래서 아예 2개를 만들어서 서로의 상대적 위치로 판단할 수 있다.
- 그런 경우는 잡음으로 위치 높낮이가 커져도 상대적 위치가 같으므로 (XO / OX) 값이 일정
- 이게 어떻게 가능한지?
- 드라이버를 통해 한번에 받은 신호를 하나는 그대로, 하나는 반전(O -> O,X)
- OX인 상태로 가니까 잡음이 있건 없건 그대로 송신
- 리시버로 그걸 다시 전환(OX + 잡음이여도 어차피 위치는 아니까)
- 전파 지연
- 입력의 변화가 출력에 영향을 미칠 때까지 걸리는 시간
- 정확한 값은 아니고 측정값이다. 그리고 이거를 잘 계산해서 설계해야한다.(출력이 언제올지를 알아야하니까)
- 출력 유형
- 토템폴 출력
- 일반적인 게이트 출력
- 트랜지스터가 토템폴처럼 세로로 나란히 늘어서 있어서 붙음
- 토템폴 출력
-
- 각각 스위치는 서로 반대로 동작(하나가 ON되면 하나는 OFF)
-
-
- 요렇게 생각할 때 ON이라 하면(위쪽에만 연결, 아래애는 끊김)
-
-
-
- 이런 식으로 H가 되고
- 만약 반대로 OFF라 하면(위쪽이 끊기고 아래가 연결)
-
-
-
- 요렇게 L가 되어 출력이 없는것
- 액티브 풀업이라 서로 연결하면 안된다.
- 즉 둘다 ON이라면?
-
-
-
- 그냥 흘러버려서 전류가 확 커져서 큰일남(불탐)
-
- 오픈 컬렉터 출력
- 오픈컬렉터 / 오픈트레인
-
- 원하는게 0이면 되는데, 1이면 걍 떠있다.
- 1이면 전류가 그냥 흘러가는 상태로 둬서 AND 유지된다.
- 0이면 AND쪽이 아니라 연결된쪽으로 흘러서 AND가 되지 못한다.
- 하나라도 끊어져 있으면 싹다 안되는거지
- 이거는 출력이 여러개 있는 액티브 풀업이 아니기 때문에 출력을 연결 가능하다.
- 그냥 흐르는지 / 흐르지 않는지이니까
- 트라이스테이트 출력
- 오픈컬렉터는 출력 연결은 되는데 액티브 풀업보다 속도가 느리다.
- 토템폴에서 트라이스테이트 출력을 한쪽에다가 더해준다
- 요런 느낌으로 하나 추가해주면
- 요런 식으로 둘다 스위치를 동일하게 ON/ON, OFF/OFF 이렇게 해도 다르게 동작하도록 해주는것
'이론 정리 > 컴퓨터 구조' 카테고리의 다른 글
한 권으로 읽는 컴퓨터 구조와 프로그래밍 5장 정리 (0) | 2024.04.27 |
---|---|
한 권으로 읽는 컴퓨터 구조와 프로그래밍 4장 정리 (0) | 2024.04.13 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 3장 정리 (0) | 2024.04.02 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 1장 정리 (1) | 2024.02.18 |
컴퓨터 구조 큰 그림 (0) | 2024.02.01 |