1.3.2 CPU와 I/O 장치의 접속
필요한 버스 및 제어 신호
- 주소 버스
- 데이터 버스
- 제어신호: I/O 읽기 신호, I/O 쓰기 신호
접속 경로: CPU <-> 시스템 버스 <-> I/O 장치 제어기 <-> I/O 장치
<I/O 장치 접속 사례: CPU-키보드 & 프린터>
I/O 장치 제어기(I/O Device Controller)
- 기능: CPU로부터 I/O 명령을 받아서, 해당 I/O 장치를 제어하고, 데이터를 이동함으로써 명령을 수행하는 전자회로 장치(예: 키보드 제어기, 프린터 제어기 등)
- 상태 레지스터
-I/O 장치의 현재 상태를 나타내는 비트들을 저장한 레지스터
-준비 상태(RDY)비트, 데이터 전송확인(ACK)비트 등
- 데이터 레지스터
- CPU와 I/O 장치 간에 이동되는 데이터를 일시적으로 저장하는 레지스터
키보드의 데이터 입력 과정
-
키보드 제어기
-키보드의 어떠한 키(Key)를 누르면, 그 키에 대응되는 ASCII 코드가 키보드 제어기의 데이터 레지스터에 저장되고, 동시에 상태 레지스터의 In_RDY비트가 1로 세트
-
CPU:
1.키보드 제어기로부터 상태 레지스터의 내용을 읽어서 In_RDY 비트가 세트 되었는지 검사(In_RDY 비트는 데이터 레지스터에 외부로부터 데이이터가 적재되었는지를 표시)
2.만약 세트 되지 않았으면, 1번을 반복하며 대기. 만약 세트 되었다면, 데이터 레지스터의 내용을 읽음
프린터의 데이터 출력 과정
- CPU:
1.프린터 제어기의 상태 레지스터의 내용을 읽어서 Out_RDY 비트 검사(Out_RDY 비트: 프린터가 출력할 준비가 되었는지를 표시)
2.만약 세트되지 않았다면, 1번을 반복하며 대기. 만약 세트 되었다면, 프린트할 데이터를 프린터 제어기의 데이터 레지스터에 저장(데이터 블록 전체를 제어기 내의 데이터 기억장치에 저장하는 것도 가능: spooling)
- 프린터 제어기:
1.데이터 레지스터(혹은 데이터 기억장치)의 내용을 프린터로 보내고,
2.프린터의 하드웨어를 제어하면서 인쇄 동작 수행
CPU와 보조저장장치의 접속
-
보조 저장 장치들(디스트, 플래시 메모리, SSD, CD-ROM등)도 각 장치를 위한 제어기를 통하여 키보드나 프린터와 유사한 방법으로 접속
-
차이점: 데이터 전송 단위
-키보드: 바이트 단위로 전송
-보조저장장치: 블록(512/1024/4096 바이트) 단위로 전송
➡ 제어기 내에 한 블록 이상을 임시 저장할 수 있는 데이터 기억 장치(버퍼) 필요
1.3.3 컴퓨터 시스템의 전체 구성
컴퓨터의 기본적인 기능들
-프로그램 실행: CPU가 주기억장치로부터 프로그램 코드를 읽어서 실행
-데이터 저장: 프로그램 실행 결과로서 얻어진 데이터를 주기억 장치에 저장
-데이터 이동: 디스크 혹은 CD-ROM에 저장되어 있는 프로그램과 데이터 블록을 기억장치로 이동
-데이터 입력/출력: 사용자가 키보드를 통하여 보내는 명령이나 데이터를 읽어 들인다. 또한 CPU가 처리한 결과값이나 기억장치의 내용을 프린터(혹은 모니터)로 출력
-제어: 프로그램이 순서대로 실행되도록 또는 필요에 따라 실행 순서를 변경하도록 조정하며, 각종 제어 신호들을 발생
1.4 컴퓨터 구조의 발전 과정
- 주요 부품들의 발전 과정
-릴레이(Relay) -> 진공관 -> 트랜지스터 -> 반도체 집적회로(IC)
-발전 과정에서 개선된 특성들: 처리속도 향상, 저장용량 증가, 크기 감소, 가격 하락, 신뢰도 향상
- 초기 컴퓨터들의 근본적인 설계 개념과 동작 원리가 현대의 컴퓨터들과 거의 같음
최초의 컴퓨터
- 1642년, Blaise Pascal(프랑스)
- 덧셈과 뺄셈을 수행하는 기계적 카운터
- 다이얼의 위치에 의하여 십진수를 표시하는 6개의 원형판 세트들로 구성
- 각 원형판은 일시적으로 숫자를 기억하는 레지스터로 사용
ENIAC
- Electronic Numerical Integrator And Computer
- 1940년대 초, Von Neumann(폰 노이만)이 개발
- 펜실베니아 대학에서 개발한 진공관을 사용한 최초의 전자식 컴퓨터
- 문제점: 프로그램의 저장 및 변경 불가능
- 폰 노이만의 설계 개념(Stored-Program 원리) 발표
-프로그램과 데이터를 내부에 저장
-2진수 체계(Binary Numver System) 사용
-1945년 발표 후, EDVAC(Electronic Discrete Variable Computer) 개발에 실제 적용IAS 컴퓨터
- 1945년 ~ 1952년: 폰 노이만이 IAS에서 개발
-폰 노이만: 프린스턴대학 및 IAS(Institute for Advanced Studies)의 수학 교수
- 프로그램 저장과 변경이 가능한 최초의 디지털 컴퓨터
- 주요 구성요소
-프로그램 제어 유니트(Program Control Unit): 명령어 인출/ 해독
-산술논리연산장치(ALU)
-주기억장치: 명령어와 데이터를 모두 저장
-입출력장치
IAS 컴퓨터의 구조
- 폰 노이만 아키텍쳐(Von Neumann Architecture): 프로그램 코드들을 기억장치에 저장된 순서대로 실행하며, 그 주소는 CPU의 내부 레지스터인 프로그램 카운터(Program Counter)에 의해 지정됨
1.4.2 주요 컴퓨터 부품들의 발전 경위
- 트랜지스터(Transistor)
-초기(제 1세대) 전자식 컴퓨터의 핵심 부품인 진공관을 대체한 전자 부품
-진공관보터 작고 싸며 더 적은 열을 발산
-반도체 재료인 실리콘으로 만들어진 고체(Solid-State)장치
-제2세대 컴퓨터들의 핵심 부품
-초기 컴퓨터들은 약 1000개의 트랜지스터들로 구성
- 집적 회로(Integrated Circuit:IC)
-수만 개 이상은 트랜지스터들을 하나의 반도체 칩에 집적시킨 전자부품
-제3세대 컴퓨터들의 핵심 부품
집적도에 따른 IC의 분류
- SSI(Small Scale IC)
-수십 개의 트랜지스터들이 집적되는 소규모 IC
-최근에는 주로 기본적인 디지털 게이트(Digital Gate)들을 포함하는 칩으로만 사용됨
- MSI(Medium Scale IC)
-수백 개의 트랜지스터들이 집적되는 IC
-카운터(Counter), 해독기(Decoder) 또는 시프트 레지스터(Shift Register)와 같은 조합 회로나 순차 회로를 포함하는 칩
- LSI(Large Scale IC)
-수천개의 트랜지스터들이 집적되는 대규모 IC
-8-비트 마이크로프로세서 칩이나 소규모 반도체 기억장치 칩
- VLSI(Very Large Scale IC)
-수만 내지 수십만 개 이상의 트랜지스터들이 집적되는 초대규모IC
-제 4세대 컴퓨터들의 부품
-마이크로 프로세서 칩들과 대용량 반도체 기억장치 칩
- ULSI(Ultra Large Scale IC)
-수백만 개 이상의 트랜지스터들이 집적되는 32-비트급 이상 마이크로프로세서 칩들과 수백 메가비트 이상의 반도체 기억장치 칩들 및 앞으로 출현할 고밀도 반도체 칩들을 저장하기 위한 용어로서, VVLSI(Very Very Large Scale IC)라고도 불림
IC 사용에 따른 이점
- 전기적 통로가 짧아짐 -> 동작 속도가 크게 상승
- 컴퓨터 크기의 감소
- 칩 내부의 회로들 간의 상호연결 -> 부품들의 신뢰도 향상
- 전력 소모 감소 및 냉각장치의 소형화
- 컴퓨터 가격 하락
- VLSI의 출현으로 개인용 컴퓨터(PC)가 개발됨
덕분에 좋은 정보 얻어갑니다, 감사합니다.