ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2. 디지털 부속품
    전공공부/컴퓨터시스템구조 2020. 3. 23. 16:05
    728x90
    반응형

    목차

    1. 집적 회로

    2. 디코더

    3. 멀티플렉서

    4. 레지스터

    5. 시프트 레지스터

    6. 이진 카운터

    7. 메모리 장치

     

    2.1 집적 회로

    집적 회로(IC)는 디지털 게이트를 구성하는 전자 부품들을 포함하는 실리콘 반도체 (chip)이다. 칩 안의 많은 게이트들은 회로의 요구에 따라 서로 연결되어 있고, 외부 핀으로의 연결도 갖고 있다. 핀의 갯수는 칩의 크기에 따라 14개에서 100개 이상까지 다양하며, 칩 위의 숫자로 각 IC의 종류를 구별한다.

     

    소규모 집적 장치는 10개 이하의 독립적인 게이트가 하나의 칩에 들어 있고, 게이트의 입출력이 곧바로 외부 핀으로 연결 된다.

    중규모 집적 장치는 10에서 200개 까지 게이트를 집적하고 있으며, 이것들은 디코더나 가산기, 그리고 레지스터같은 기본적인 디지털 장치를 구현하고 있다.

    대규모 집적 장치는 200에서 천 개까지의 게이트를 집적하고서 프로세서나 메모리 칩 같은 디지털 시스템을 형성한다.

    초대규모 집적 장치는 수천 개의 게이트를 하나의 칩에 집적하여 대형 메모리나 복잡한 마이크로 컴퓨터 칩을 형성한다.

     

    디지털 집적 회로는 기능에 따라서 구분되기도 하지만, 그것을 구현하는 데 적용된 기술에 따라 디지털 논리군으로 분류된다. 대표적으로 TTL(트랜지스터- 트랜지스터 논리)가 가장 많이 사용되고 있는 논리군이다.

     

    2.2 디코더

    n비트의 이진코드는 서로 다른 2^n개의 원소 정보를 나타낼 수 있다. 디코더는 n비트로 코팅된 이진 정보를 최대 2^n개의 서로 다른 출력으로 바꾸어 주는 조합 회로이다. n개의 입력과 m(m<=2^n)개의 출력을 가지는 디코더를 n대m 라인 디코더 또는 n x m 디코더라고 한다. 그림 2-1은 3 x 8 디코더의 논리도에서 세 개의 입력 A0, A1, A2와 여덟 개의 디코드된 출력을 가진다. 보수화된 입력을 취하기 위해 세 개의 인버터가 사용되며, 각 이진 조합에 해당하는 여덟 개의 AND게이트가 있다. 그림 2-1의 디코더는 인에이블(enable) 입력(E)를 가지고 있어서 E가 1일 때만 동작을 한다.

    그림 2-1 3-to-8- line decoder

    이것이 입력 이진수에 해당하는 8진수 값이라고 할 수 있다.

     

    2.2.1 NAND 게이트 디코더

    보수화된 형태로 출력을 만드는 것이 더 경제적이기 때문에 NAND게이트로 디코드를 형성하기도 한다. 그림 2-2는 2 X 4 NAND게이트 디코더에 대한 블럭도이다. 이 디코더는 보수화된 출력과 보수화된 인에이블 입력을 가진다.

    그림 2-2 NAND gate decoder

    2.2.2 디코더 확장

    두 개 이상의 디코더를 동일한 인에이블 입력에 연결해 하나의 커다란 디코더를 구성할 수 있다. 즉 4 X 16 디코더 네개로 16 X 64 디코더를 만들 수 있다. 그림 2-3은 두 개의 2 X 4 디코더로 3 X 8 디코더를 구성한 예를 보여주고 있다.

    그림 2-3 두 개의 2 X 4 디코더로 만든 3 X 8 디코더

    2.2.3 인코더

    인코더는 디코더와 반대되는 동작을 수행하는 디지털 회로로서, 2^n개의 입력 값에 대해 n개의 이진 코드를 출력한다. 8진 대 이진 인코더에 대한 진리표가 표 2-2에 나타나 있다. 이 인코더는 한 번에 하나의 입력만 1인 값을 가져야 의미가 있다. 이 인코더는 진리표에 따라 세 개의 OR게이트들로 구현할 수 있으며, 각 출력에 대한 부울식은 다음과 같다.

    표 2-2 이진 인코더에 대한 진리표

    • A0 = D1 + D3 + D5 + D7
    • A1 = D2 + D3 + D6 + D7
    • A2 = D4 + D5 + D6 + D7

    2.3 멀티플렉서

    멀티플렉서는 n개의 선택 입력에 따라 2^n개의 출력을 하나의 출력에 선택적으로 연결시켜 주는 조합 회로이다.

    4 X 1 멀티플렉서가 그림 2-4에 나와 있다. 

    그림 2-4 , 4 X 1 멀티 플렉서

    멀티플렉서는 흔히 데이터 선택기라고도 하며 MUX라고 쓴다.

    멀티플렉서는 디코더와 유사하여 n대 2^n디코더에 2^n개의 입력 라인을 더하게 되면 2^n대 1 멀티플렉서를 구현할 수 있다. 보통 하나의 IC칩에는 여러 개의 멀티플렉서가 포함된다. 그림 2-5의 블럭도는 네 개의 2 x 1 멀티플렉서가 들어 있는 것을 보여준다. 출력 Y0는 A0나 B0에 선택적으로 연결되며, 나머지 출력들도 이와 같이 연결된다. 따라서 이 회로는 함수표에서 보는 바와 같이 두 개의 4비트 데이터를 선택적으로 출력해주는 멀티플렉서로서 동작하게 된다.

    그림 2-5 

     

    2.4 레지스터

    레지스터는 특정한 목적에 사용되는 일시적인 기억 장치로써 데이터를 읽고 쓰는 기능이 매우 빠르며, 중앙 처리 장치(CPU) 내부에 사용된다.

    n비트의 레지스터는 n비트의 이진 정보를 저장하기 위한 n개의 플립플롭과 데이터 처리를 위한 조합 회로로 구성되어 있다. 그림 2-6은 가장 단순한 형태의 레지스터이며, Clock 펄스가 활성화 될 때마다 D플립플롭에의해 입력 변수 I값들이 출력값으로 나오게 된다. 클리어 입력은 그 값이 0이 될 경우, 클럭 동작에 관계없이 레지스터의 모든 플립플롭 출력을 0으로 만든다. 새로운 이진정보를 공통 클럭 신호에 의해 레지스터의 모든 비트가 동시에 로드되며, 레지스터의 내용이 변경되지 않아야 하는 경우에는 클럭 신호가 차단되어야 한다.

    그림 2-6

    2.4.1 병렬 로드를 가진 레지스터

    대부분의 디지털 시스템은 모든 레지스터와 플립플롭에 지속적으로 클럭 펄스를 제공하는 주 클럭 발생기를 가지고 있다. 따라서 특정한 레지스터에 지정된 클럭 펄스만이 영향을 줄 수 있도록 하는 제어 신호가 필요하다.

    그림 2-7의 4비트 레지스터는 로드 제어 입력을 가지고 있어서 클럭 펄스의 작용 여부를 결정할 수 있다. 즉 로드 입력이 1인 경우에는 네 개의 입력이 클럭 펄스의 다음 상승 변이에서 레지스터로 전달되지만, 로드 입력이 0일 경우에는 입력이 차단되고 플립플롭의 D입력이 자신의 출력에 연결된다. 이 그림에서 클럭에 연결된 버퍼(buffer) 게이트는 클럭 발생기로부터의 전력 소모를 줄이는 역할을 하는 것으로 하나의 게이트에 필요한 전력만으로 네 개 게이트에 클럭을 제공할 수 있다.

    그림 2-7 병렬 로드를 가진 4비트 레지스터

     

    2.5 시프트 레지스터

    레지스터에 저장되어 있는 이진 정보를 단방향 또는 양방향으로 이동시킬 수 있는 것이 시프트 레지스터이다. 각 플립플롭들은 각각의 입력과 출력이 연쇄적으로 연결되어 있고, 공통의 클럭 펄스가 다음 상태로의 이동을 제어한다.

    그림 2-9에 병렬 로드를 가진 4비트 양방향 시프트 레지스터가 있다. 각 단은 D플립플롭과 4 x 1멀티플렉서로 구성되어 있으며, 두 선택 입력 (S1과 S0)으로 레지스터의 동작 모드를 결정한다.

    그림 2-9 병렬 로드를 가진 4비트 양방향 시프트 레지스터
    그림 2-9 레지스터에 대한 함수표

    예를들어 S1S0 = 01일 때는 멀티플렉서의 입력 1이 선택되어 오른쪽 시프트 동작을 수행한다. 즉 플립플롭 A0에 직렬 입력이 연결되고 Ai-1의 내용은 Ai로 전달 된다. 반대로 S1S0 = 10일 때는 왼쪽 시프트 동작을 수행하게 되어, 플립플롭 A3에 직렬 입력이 연결되고 , Ai+1의 내용은 Ai로 전달된다. S1S0=11일 때는 병렬 로드 동작을 수행하여 I0에서 I3까지의 입력이 각 플립플롭에 전달된다.

     

    2.6 이진 카운터

    입력 펄스에 따라 미리 정해진 순서대로 상태 변이가 진행되는 레지스터를 카운터라고 한다. 카운터에 사용되는 여러 순서 중에서 오름 이진 순서 (000 -> 001 -> 010 -> 011 ->...)가 가장 간단하다. [그림 2-10] 

    그림 2-10, 4비트 동기 이진 카운터

    동작과정을 보면 다음과 같다. 초기 A0A1A2A3가 0000으로 초기화 돼 있었다고 하자. enable 값을 1로 넣고 클럭펄스를 작동시키면 A0의 값은 JK플립플롭에 의해 보수형태를 출력으로 받아 1로 변하게 된다. 하지만 기존 A0이 0이므로 1&0=0 즉 A1으로 carry값을 전달하지 못하게 된다. 그리고 다음 동작에서 A0는 0으로 바뀌고 기존 A0값이 1이므로 1&1=1 의 값으로 그 다음 JK플립플롭에 전달하여 A1의 값을 1로 바꿔줄 수 있게 된다. 이와 같은 과정을 반복하며 이진 카운터가 실행된다.

     

    2.6.1 병렬 로드를 가진 이진 카운터

    카운터의 초기값 설정을 위해 병렬 로드 기능을 가진 카운터가 필요하다. 그림 2-11 의 병렬 로드 기능과 클럭에 동기적으로 클리어 되는 기능을 가진 이진 카운터의 블럭도가 그려져 있다.

    그림 2-11 병렬 로드와 동기 클리어를 가진 4비트 이진 카운터

    이 회로의 동작은 표 2-5와 같다.

     

    2.7 메모리 장치

    메모리 장치는 정보의 입출력 기능을 가지고 있는 저장요소들의 집합으로서, 입출력에서 하나의 단위로 취급되는 비트의 그룹, word로 정보를 저장한다. 즉 메모리 워드는 1과 0의 비트 그룹으로 숫자, 명령어, 문자 등의 이진수화된 정보를 저장한다. 특히 8비트로 이루어진 비트 그룹을 바이트라고 하며, 대부분의 컴퓨터 메모리는 8의 배수 크기의 워드를 채택한다.

     

    메모리의 내부 구조는 한 워드를 구성하는 비트수나 전체 워드수에 의해 규정된다. 메모리의 각 워드는 0에서부터 2^k-1까지의 주소를 가지고 있어서 주소 입력(k개의 입력 라인)의 값에 따라 특정 워드가 선택된다. 내부의 디코더가 이런 선택 동작을 수행한다. 따라서 컴퓨터의 메모리가 1024워드인 경우는 10비트, 2^32 워드인 경우에는 32비트의 주소가 필요하다. 

     

    2.7.1 임의접근 메모리 (RAM)

    임의 접근 메모리(random-access memory, RAM)에서는 워드의 물리적인 위치에 관계없이 접근 절차나 접근 시간이 동일하다. 메모리와 외부 세계와의 통신은 데이터 입출력 라인, 주소 라인 및 데이터 전송 방향을 결정하는 제어 라인을 통해 이루어진다. 그림 2-12 의 블럭도에 나타난 RAM은 n개의 입력과 출력을 가지고 있고, k개의 주소라인으로 메모리 내의 2^k개 워드 중에서 하나를 선택할 수 있다. 두 개의 제어 입력은 데이터 전송 방향을 지정한다. RAM은 쓰기동작과 데이터 출력을 위한 읽기 동작을 제공하며, 이것은 제어 신호에 의해 선택된다. 하나의 새로운 워드가 전송되어 메모리에 저장될 때에는 다음과 같은 과정이 필요하다.

    1. 원하는 워드의 이진 주소값을 주소 입력에 넣는다.

    2. 메모리에 저장될 데이터 비트들을 데이터 입력에 넣는다.

    3. 쓰기 입력을 활성화 한다.

     

    메모리에 저장된 한 워드를 꺼내오는 데에는 다음과 같은 과정이 필요하다.

    1. 원하는 워드의 이진 주소값을 주소 입력에 넣는다.

    2. 읽기 입력을 활성화 한다.

    그림 2- 12 임의접근 메모리에 대한 블럭도

     

    2.7.2 읽기전용 메모리 (ROM)

    읽기전용 메모리(read-only memory, ROM)에 저장된 데이터는 하드웨어와 수명이 다할 때까지 변하지 않으며, 쓰기 동작에 의해서도 그 내용이 변하지 않는다. 즉 RAM은 회로가 동작하는 동안 그 내용이 변하는 범용 장치이지만, ROM은 한 번 저장된 내용은 영구적이기 때문에 읽기 동작만 허용이 된다. ROM은 내부에 프로그램이 가능한 전자적 퓨즈(fuse)를 가지고 있어서 안에서 어떤 패턴이 형성되면 전원이 끊어지더라도 계속 남아있게 된다.

     

    ROM의 종류

    적은 양의 ROM을 경제적으로 제조하기 위해서는 프로그램이 가능한 ROM (PROM) 을 사용한다. 처음에 PROM의 출력은 모두 1이지만 사용자의 가공에 의해 내부의 원하는 퓨즈를 끊게 되면, 해당 비트가 0을 가리키게 할 수 있다. 즉 사용자가 직접 PROM에 저장될 내용을 프로그래밍할 수 있다는 것이다. 

    ROM이나 PROM을 프로그램하는 하드웨어적 절차는 다시 되돌릴 수 없는 것이기 때문에, ROM에 한 번 정보가 저장된 다음에는 그 내용을 변경할 수 없다. 그러나 소거가능(erasable) PROM(EPROM)은 일정한 시간 동안 자외선에 노출할 경우 그 값이 초기값으로 복구되며, 다시 ROM의 내용을 프로그램할 수 있는 기능을 가지고 있다. 어떤 PROM은 자외선이 아니라 전기적 신호에 의해 ROM의 내용을 지울 수 있는데, 이러한 것을 전기적 소거 가능 PROM (EEPROM)이라고 한다.

     

    728x90
    반응형

    댓글

Designed by Tistory.