본문 바로가기
컴퓨터공학/디지털공학개론

2. 디지털 시스템과 컴퓨터의 구성

by meow0110 2024. 5. 26.

■ 디지털 시스템의 개념?

-어떤 시스템에 우리가 입력을 넣으면 설계한 의도대로, 의도한 것이 출력되게 하는것

-입출력 시간 및 진폭이 모두 이산적인 시스템으로 디지털 신호만을 다루고 처리하기 위해 설계된 장치들의 총칭

-특정 연산기능이나 논리 출력을 할 수 있도록 각각의 논리 기능을 결합하여 놓은 것

 

■ 그림들의 설명

-한마디로 A,B를 넣었다. 그런데 그 값이 크냐, 같냐, 작냐에 따라 출력이 어떻게 될지 바뀌는 것이다.

 

 

■ 기본적인 가산기(왼쪽 그림)

-위 PPT의 비교기와는 다르게 입력이 3개다! (캐리 입력 Cin 이 추가!)

-캐리 출력 : 덧셈을 했을 때, 10진수의 경우 1+9를 하면 자릿수가 올라간다. 이걸 캐리 라고 보면 된다.

 

■ 오른쪽 그림

-여기서 왼쪽 입력은  3+9 이다. 근데 캐리입력쪽은 2진수 0이라고 되어 있다. 즉  3+9+0 을 말한다.

-그때의 출력을 보면, Σ 에서는 2가 출력되고, C out에서는 1이 출력된다. 즉 여기서 Σ은 일의 자리 2, C out은 십의 자리의 1이다. 그래서 12가 출력이 된다. 

 

■ 결론

-캐리 입력은 자릿수가 올라감에 따라 그 해당 자릿수를 표현해주는 것 같다. 즉 단순한 1,2,3,4,5,6,7,8,9,0이 아닌, 그 윗 숫자가 나오면 그걸 표현해주는 역할이라고 생각해보자!

-이러한 위의 나온 것들이 바로 가산기라고 보면 된다. 덧셈=가산기!

-가산,감산, 곱셈, 제산 등의 기능을 하는게 바로 산술기능이다.

 

■ 코드의 변환기능 개념

-코드(code)는 독특한 형태로 나열된 비트의 집합으로, 특정의 정보를 표현하는데 사용

-코드의 변환은 어떤 형태로 코드화된 정보를 또 다른 형태의 코드화된 정보로 변환시키는 것

 

■ ① 2진수 ↔ BCD / 그레이코드

-한마디로 2진수를 BCD, 2진수를 그레이코드로,  그 반대로도 된다. 개념은 나중에 나온다. 알고만 있자.

 

■ 그림

-인코딩(부호)의 개념을 말함. 

- 정보를 코드화된 형태로 변환하는 디지털회로

-9를 누루면 인코더 기능을 가진 디지털 IC에 들어감. 그러면 9에 대한 2진수 코드(1001)가 나온다. 

 

■ 디코딩의 개념

-코드화된 정보를 다른 코드화되지 않은 형태로 변환하는 디지털회로

-위에서 나왔던 인코딩의 반대 개념

-2진수를 숫자로 나타내주는거다.

 

■ 7-세그먼트 표시기?

-FND 라고도 함. 그냥 숫자 표시기임. 전자시계에서 볼 수 있는 형태. 위 사진처럼!

-2진수(1000)은 8이다. (1000=8)

-이것을 디코더에 넣으면 7세그먼트 표시기에 8 모양으로 나온다. 

 

■ 멀티플렉서와 디멀티플렉서는 데이터를 선택하는 기능을 갖고 있다.

■ 멀티플렉서

-여러 개의 입력단을 통해 들어오는 디지털 데이터를 정해진 순서대로 한 대의 출력단을 통해 전송하는 회로

-멀티플렉서 내에 시계 톱니장치같은게 있다고 생각하자. 원하는걸 듣고 싶으면 ∆tx값을 정하게 된다.

-∆t1 을 선택하면 A를

-∆t2 을 선택하면 B를

-∆t3 을 선택하면 C가 입력되게 된다.

 

■ 중간부분

-A~D의 데이터 라고 A,B,C,D를 모두 말하는게 아니다. A는 D로 라고 생각한다.

 

■ 디멀티플렉서

- 하나의 입력으로 들어오는 데이터를 정해진 시간순서에 의해 여러 출력으로 분배하는 디지털 회로

-∆t1 일때는 D를

-∆t2 일때는 E를

-∆t3 일떄는 F를 출력하게 된다.

 

■ 결론

-A의 목소리를 듣고 싶으면 A를 누루면 된다. C면 C를 누루면 된다.

 

 

■ 저장기능 = 메모리 기능 (중요하다!)

■ 플립플롭-저장 기능의 명칭이다. 

■ 레지스터-위의 플립플롭을 여러개 이어서 구성한 

 

■ 4비트 직렬 시프트 레지스터 (옆으로 천천히 밀고 들어온다.)

-한 비트씩 천천히 들어온다.

 

■ 4비트 병렬 시프트 레지스터 (위에서 한번에!)

-한꺼번에 들어온다.

 

 

■ 반도체 메모리 : SSD도 있다.

 

■ 계수 기능 : 숫자를 센다. 카운터!

-5개의 펄스가 들어오면, 5를 출력한다.

 

 

■ 외우는게 아니다. 위에 배운 것들을 다 짬뽕한 것들이다. 어떤 흐름인지 대강 봐보자

■ 도식은 내가 정리한 것이다. 총 1~15단계가지 있다. 

■ 중간에 n-1  n-2 처럼 표시한건, 잠시 그쪽으로 빠져나간 거일뿐(ex) 3-1, 3-2) ,  n 번 순으로 보면 된다. 

 

■ 지난 시간에 배운거를 잠깐 보자. (3개의 기본 게이트)

-Not 게이트 

-AND 게이트

-OR 게이트 

 

■ 이러한 게이트의 성격을 이용해서 논리소자들을 마치 C언어 코딩하는것처럼 프로그래밍이 가능하다. 여기서 배울 내용이다.

 

■ 프로그램 가능한 논리소자 개념

-특수 논리 기능을 수행할 수 있도록 제조사 또는 사용자에 의해 프로그램될 수 있음

-프로그램 가능한 논리소자는 고정 기능의 논리소자에 비해 보드의 크기를 줄일 수 있고, 기능을 변경하여 회로 설계 과정이 빠르고, 저가의 비용으로 논리회로를 구현할 수 있음

 

■ 특징

-  PLD, FPGA 둘다 프로그래밍이 가능하다.

 

■PLD

[문제] 논리회로를 구성하고자 할 때 IC에 내장되어 있는 AND, OR, NAND, NOR, XOR, 플립플롭 등의 논리소자 중에서 선택적으로 퓨즈를 절단하는 방법으로 사용자가 직접 기록할 수 있는 PAL 또는 PLA와 같은 IC는 다음 중 어디에 속하는가?

- SSI와 MSI대신에 PLD(Programmable Logic Device)를 사용함으로써 공간을 절약하고 소자의 수를 줄일 수 있을 뿐만 아니라 비용도 절감할 수 있다

 

 

■ 그냥 읽어만 보자. 나중에 배운다 함.

 

■ PAL은 많이 쓰인다 함.

■ GAL 도 최근 많이 쓰인다함. 즉 여기 2개가 많이 쓰임

 

 

■ 우리가 다 아는 것들의 구성이다. 조심해야할건 메모리. 여기서 메모리는 RAM을 말함.

■ SSD, HDD와 같은 것들은 저장장치 '메모리'이다. RAM과 구별하자!

 

■ 여기서 메모리 중요. 메모리는 직접 저장장치가 아니다. CPU에서 처리한 데이터들, 혹은 저장장치에 있던 데이터들을 올려서 CPU가 빠르게 쓸 수 있도록 해준다. 

■ 왜냐하면 CPU에서 저장장치(HDD)에게 직접적으로 처리시킬려면......너무 오래 걸린다. CPU는 엄청 빠른데, 일반적인 저장장치들은 엄청 느리기 때문이다.

RAM은 휘발성, 즉 저장이 안되고 날라간다. 

 

■ RAM 메모리보다 느리다. 대신 영구 저장이 된다. 그리고 용량이 크다! 그리고 싸다! 아직까지는

 

■ 화살표의 방향에 주의하자! 즉, 서로 왓다갓다 한다는 의미이다. 한쪽으로만 가는게 아닌

■ 시스템 버스는 많은 데이터를 한번에 보내준다. 

 

■ 제어 장치 : 이 녀석이 CPU내에서 두목이다. CPU에서 중요한 조종 담당한다. 연산장치에게 계산명령도 하고, 레지스터에게 저장하라고 명령도 한다. 그리고 이걸 어디에 보낼지도 제어한다. 

 

■ 메모리의 계층적 구조

■ 레지스터, 캐시, 메인메모리의 특징 : 프로세스(프로그램)에 직접 접근 가능.

ex) 그래픽작업을 하면 CPU, RAM에서 직접 프로그램에 접근해서 작업함. 

■여기서 잠시, 프로세스, 프로세서의 차이?

프로세서 : 처리를 하는 것. CPU를 말함.

프로세스 : 프로그램을 말함.

 

 

■보조기억장치 (하드디스크)

-느리다. 대신 싸다.

-혼자 실행이 안된다. 반드시 메인메모리 RAM이 필요하다.

-왜 혼자 안돼? 프로그램이 하드디스크에 직접 접근하는게 아님. RAM에 올려줘야지 가능하니까!

 

■메인 메모리 (RAM)

-조금 비싸다.

-이녀석이 많을수록 작업이 편해진다.

 

■ 캐시와 레지스터 (CPU)

-비싸다!  빠르다! 

-크기가 작다. 왜? 크게 만들 수 없음. 그러면 천문학적으로 비싸진다.

 

 

 

학습정리

1. 디지털 시스템

  • 입출력 시간 및 진폭이 모두 이산적인 시스템으로 디지털 신호만을 다루고 처리하기 위해 설계된 장치들의 총칭
  • 특정 연산기능이나 논리 출력을 할 수 있도록 각각의 논리 기능을 결합하여 놓은 것

2. 프로그램 가능한 논리소자

  • 특수 논리 기능을 수행할 수 있도록 제조사 또는 사용자에 의해 프로그램될 수 있음
  • 프로그램 가능한 논리소자는 고정 기능의 논리소자에 비해 보드의 크기를 줄일 수 있고, 기능을 변경하여 회로 설계 과정이 빠르고, 저가의 비용으로 논리회로를 구현할 수 있음

3. 메모리의 계층구조

  • 메모리를 계층적으로 구성하여 비용, 속도, 용량, 접근시간 등을 상호 보완