[책] 그래서 컴퓨터는 어떻게 동작하나요? - 3

깨미·2021년 9월 23일
0

💻 배워가기 💻

목록 보기
16/30
post-thumbnail

코드와 비트

비트

  • on : 전류가 흐르는 상태
  • off : 전류가 흐르지 않는 상태

코드

'어떤 사물'이 '다른 사물'을 의미하도록 만들어 주는 방법.

비트가 어떤 뜻을 가지려면 비트 외부에 있는 사물을 연결해줘야 한다.
비트 하나로 많은 일을 할 수 있지만 또 할 수 없는 일이나 비트로 표현하기 곤란한 문제들도 많다. 비트 여러 개를 하나처럼 묶은 코드를 만들어 사용하면, 1비트짜리 코드를 사용할 때보다 훨씬 쓸모 있을 것.

0과 1

비트 : 전기가 있거나(on) 없는(off) 장소.
on - 1, off - 0
이는 임의적인 코드

바이트

복잡한 것을 표현하는 방법 : 비트 여러 개를 쌓아 올리고 묶어서 단일 장치처럼 사용.
1비트 메모리 8개. 각 입력 단자 i와 출력 단자 o가 있음. 제어 단자 s가 1이 되었다 0으로 바뀌면 메모리 8개가 모두 동시에 비트의 상태를 장치에 쓴다.

바이트 : 비트를 8개 묶은 단위
가능한 상태는 282^8 로 256개.

바이트와 코드

아스키 코드

정보 교환을 위한 미국 표준 문자 기호(American Standard Code for Information Interchange, ASCII)

코드

컴퓨터가 코드로 입력받는 건 256개 상태 중 하나의 상태가 들어 있는 바이트.
컴퓨터 코드는 바이트의 256가지 비트 패턴에다 어떤 다른 것을 대응하기 위한 도구.

  1. 코드책처럼 같은 목적을 가지는 패턴 전체나 목록 전체.
  2. 개별적 패턴 하나.

레지스터

이전에 봤던 바이트 메모리에서 컴퓨터 내부에 기억된 1바이트를 출력하는 것을 제어할 부품도 있어야 함. 이 기능을 추가하려면 AND 게이트 8개가 필요.

출력 제어기

AND 게이트 8개를 서로 연결한 장치.

e : 출력제어단자

eoresult
00block
1imaintain


출력 제어기는 e가 1일 때 바이트 출력을 열고 e가 0일 때 출력을 차단한다.
마치 출입문을 열고 닫는 것과 같다.

레지스터

바이트 메모리와 출력 제어기를 합친 장치를 '레지스터'라고 한다. 그림에는 'R'로 표시.
어떤 정보를 쓸 수 있는 공간이 있고 거기다 적을 수 있을 뿐 아니라 적힌 것을 읽고 확인할 수도 있다. (입력 비트 8개의 상태를 기록하는 부품.) 레지스터에 새로운 상태를 저장하려면 기존의 바이트 상태를 덮어씌우는 수밖에 없다. 이 과정에서 기존의 바이트 상태는 없어지고 레지스터에 남는 것은 가장 최근에 저장한 값뿐이다.

버스

컴퓨터 안에는 레지스터가 이곳저곳에 들어 있음. 컴퓨터가 어떤 일을 하려면 레지스터 안에 있는 바이트 내용을 보거나 가져와야 할 일이 많음.

버스

겹선은 전선이 교차된 지점을 나타낸 것.
버스는 다양한 장치로 비트를 보내는 8개 짜리 전선 다발.
다발 = 전선이 8개 있어야 1바이트 정보를 전송할 수 있음.

바이트 정보는 출발지에서 컴퓨터에 있는 수많은 장치로 보낼 수 있어야 함. 자연히 버스를 모든 길목에 설치해야 함. 그래서 레지스터의 입력과 출력을 제어할 수 있게 설계함.

입력 제어 단자와 출력제어 단자는 마치 버스 정류장처럼 어떤 출발지에서 바이트라는 승객을 태우고 원하는 목적지에 정확히 내려주는 역할.

레지스터 간에 바이트 데이터를 복사하는 방법

모든 레지스터에서 입력 제어비트 s와 출력 제어 비트 e를 0으로 설정하며, 모든 레지스터에 들어 있는 바이트의 상태는 이전과 동일하고 버스에는 아무 데이터도 존재하지 않는다.

이때 R1에 들어 있는 바이트 데이터를 R4에 복사 하고 싶다면 R1의 e를 1로 설정해야 한다. 그러면 R1은 버스에 데이터를 출력하고 다른 레지스터가 데이터를 입력받을 수 있다.

그 다음에 R4의 s를 잠시 1로 설정했다가 0으로 바꾸면 R4가 버스에 있는 데이터를 순식간에 입력 받아 저장한다.

컴퓨터 버스는 사람들을 태우는 버스와 비슷. 컴퓨터 버스에는 정류소 처럼 작동하는 레지스터가 많이 있고, 바이트는 목적지 레지스터에 정확히 하차할 수 있다. 그 안에 있는 비트가 전기이기 때문. 바이트 데이터를 출력하는 레지스터는 1개만 가능, 바이트 데이터를 입력받는 레지스터는 동시에 2개 이상도 가능.

바이트 복사

바이트는 256개 상태 중 하나의 상태가 될 수 있는 장소. 이 바이트를 저쪽으로 이동하라에서 '바이트'는 바이트 자체가 아니라 바이트 안에 든 상태(내용)를 의미. 바이트는 이동이 아니라 복사되는 것.

profile
vis ta vie

0개의 댓글