K_blueprint

컴퓨터 구조론 CH.1 내용 정리 본문

computer architecture

컴퓨터 구조론 CH.1 내용 정리

GODAGO 2023. 11. 7. 11:22
728x90
반응형

< 컴퓨터의 기본 구조 >

 

하드웨어

- 컴퓨터에서 각종 정보의 전송 통로를 제공해주고, 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체들

 

소프트웨어어

- 정보들이 이동하는 방향과 정보 처리의 종류를 지정해 주고, 그러한 동작들이 수행될 시간을 지정해주는 명령들의 집합

 

컴퓨터의 기능

  1. 필요한 데이터를 읽어서(read)
  2. 처리(processing)하고
  3. 결과를 저장(store)한다.

CPU(중앙처리장치, 프로세서)

- ‘프로그램의 실행데이터 처리라는 중추적인 기능의 수행을 담당한다,

- CPU가 한 번에 처리하는 데이터의 길이(비트 수)에 따라 8비트, 32비트, 64비트 컴퓨터로 분류

- 컴퓨터의 이론적인 처리 속도는 CPU의 성능에 의해 결정된다.

- CPU는 기억장치, 입출력장치와 시스템 버스로 연결되어 있다.

 

기억장치(memory : 저장장치)

(CPU가 처리할 프로그램의 코드와 데이터가 저장되는 장소이며 크게 주기억장치보조기억장치로 나뉜다.)

 

- 주기억장치(main memory) : 메인 보드 상에서 CPU와 가까이 위치하며, 반도체 기억장치 칩들로 이루어져 고속의 읽기 및 쓰기가 가능하지만, 가격이 높고 면적을 많이 차지하기 때문에 저장 용량에 한계가 있다. 또한 영구 저장능력이 없기 때문에(휘발성) 프로그램 실행 중에만 일시적으로 사용되는 기억장치

 

- 보조저장장치(2차 기억장치) : 하드 디스크나 SSD와 같이 영구 저장 능력(비휘발성)을 가진 기억장치들을 말하며, 저장밀도가 높고 비트당 가격이 저렴하지만, 속도가 느리고, CPU가 직접 엑세스(읽기/쓰기)를 하지 못하기 때문에 별도의 제어기가 필요하다.

 

입출력장치(I/O장치, 주변장치)

- 입력장치와 출력 장치를 통칭하는 용어 (ex. 키보드, 디스플레이 모니터, 프린터 등)

- CPU와 직접 데이터를 교환할 수 없으며, 각 장치를 위한 별도의 제어기가 존재함(제어기를 통해 CPU로부터 명령을 받아서 장치의 동작을 제어하고 데이터를 이동시킴

 

 

< 정보의 표현과 저장 >

- 컴퓨터가 받아들이고 처리하는 정보의 종류에는 프로그램 코드, 데이터가 있다.(이러한 정보들은 디지털 컴퓨터에서 모두 2진수를 나타내는 비트(bit)들의 조합으로 표현된다.

 

컴파일러

- 컴퓨터 프로그램은 고급언어(C, C++ )를 이용하여 작성이 되는데 이러한 프로그램들은 컴퓨터 하드웨어는 이해하지 못하기 때문에 소프트웨어에 의해 하드웨어가 이해할 수 있는 언어로 번역(기계어,기계코드)해주는 역할이 필요하다.

(기계어 : 컴퓨터 하드웨어가 이해할 수 있는 언어, 2진 비트들로 구성(기계어는 CPU마다 서로 다름))

 

어셈블리어, 어셈블리 명령어

- 고급언어와 기계어 사이에 존재하는 각각의 CPU 고유의 중간 언어(이러한 언어로 작성된 프로그램을 어셈블리 프로그램이라고 하며 이는 기계어와 일대일로 대응된다.)

 

니모닉스

- 명령어가 지정하는 동작을 나타내는 간략화된 기호인 ‘LOAD’, ‘ADD’, ‘STOR’를 의미

 

어셈블러

- 어셈블리 언어로 작성된 프로그램을 기계어 프로그램으로 번역해주는 소프트웨어

 

단어(Word)

- CPU에 의해 한 번에 처리될 수 있는 비트들의 그룹

- 단어의 길이는 CPU의 하드웨어 구조에 따라 8비트, 16비트, 32비트, 64비트 등으로 다양)

- 단어가 크면 클수록 처리 속도가 증가함

 

 

< 시스템의 구성 >

시스템 버스

- CPU와 다른 요소들 사이에 정보를 교환하는 통로

 

주소버스

- CPU가 외부로 발생하는 주소 정보를 전송하는 신호 선들의 집합

 

CPU가 발생하는 주소 비트들의 수를 주소 버스의 폭이라고 하는데 만약 그 폭이 16비트라면, 최대 2^16 = 65,536(64k)의 기억 장소들의 주소를 지정해 줄 수 있다.

 

데이터 버스

- CPU가 기억장치 혹은 I/O 장치와의 사이에 데이터를 전송하기 위한 신호 선들의 집합

- 양방향의 형태

 

제어버스

- CPU가 시스템 내의 각종 요소들의 동작을 제어하는데 필요한 신호 선들의 집합.

ex) 인터럽트 신호 : CPU가 일을 수행하고 있을 때 예외상황이 발생할 경우 CPU에게 먼저 알려 우선적으로 일을 처리할 수 있도록 하는 것.

 

주소는 CPU에 의해 발생되어 기억장치와 I/O 장치로 보내지는 정보이기 때문에 주소버스는 단방향 전송/읽기와 쓰기 모두 가능해야 하므로 데이터 버스는 양방향 전송

 

엑세스(access)

- CPU가 데이터를 기억장치의 특정 장소에 저장하거나 이미 저장되어 있는 내용을 읽는 동작

 

기억장치 쓰기 시간

- CPU가 주소와 데이터를 보낸 순간부터 저장이 완료될 때까지의 시간

 

기억장치 읽기 시간

- CPU가 주소를 발생한 시간부터 읽기 동작이 완료될 때까지의 시간

 

CPU는 데이터가 저장되어 있는 기억 장소의 주소를 주소 버스를 통하여 기억장치로 보내면서 동시에 읽기 신호를 활성화시킨다.(읽기는 데이터 버스가 늦게 출발/쓰기는 거의 같이 출발)

 

지연시간

- 주소를 해독(Decode)하는데 걸리는 시간과 기억장치 내부에서 데이터를 인출하는데 걸리는 시간을 합한 시간.

 

 

< CPU와 I/O 장치의 접속>

- 주기억&CPU = ‘직통연결즉 별도의 제어기가 필요없다. (그 외의 외부 장치들은 각각의 제어기를 통해 CPU와 소통)

 

데이터 레지스터

- CPUI/O 장치간의 임시 데이터 기억장치

 

상태 레지스터

- I/O 장치의 현재 상태를 나타내는 비트들을 저장하는 레지스터

 

CPU는 데이터 입력을 원하는 시점에서 먼저 상태 레지스터를 읽어들여서 IN_RDY(입력준비)가 1로 세트되어 있는지를 검사한다.(1 – 데이터 들어옴, 0 – 데이터 없음)

 

CPU는 데이터를 프린터로 보내기 전에 먼저 프린터 제어기 내의 상태 레지스터를 읽어서, 데이터 출력준비(Out_RDY) 비트를 검사한다.

 

차이점 : 데이터 전송 단위(키보드 : 바이트 단위 전송/보조저장장치 : 블록 단위로 전송)

 

 

< 전체 시스템의 구성 >

(완전한 컴퓨터 시스템의 구성)

 

프로그램(명령어) 실행

- CPU가 주기억장치로부터 프로그램 코드를 읽어서 실행한다.

 

데이터 저장

- 프로그램 실행 결과로서 얻어진 데이터를 주기억장치에 저장한다,

 

데이터 이동

- 디스크나 SSD에 저장되어 있는 프로그램과 데이터 블록을 주기억장치로 이동한다.

 

데이터 입력 및 출력

- 사용자가 키보드를 통하여 보내는 명령이나 데이터를 읽어 들인다. 또한 CPU가 처리한 결과 값이나 기억장치의 내용을 프린터(혹은 모니터)로 출력한다.

 

제어

- 프로그램이 순서대로 실행되도록 혹은 필요에 따라 실행 순서를 변경하도록 조정하며, 각종 제어 신호들을 발생한다.

 

 

< 컴퓨터 구조의 발전 과정 >

컴퓨터의 세대

- 진공관(1세대) > 트랜지스터(2세대) > 반도체집적회로(IC)(3세대) > 마이크로프로세스-1970(4세대) > 차세대 컴퓨터VLSI(5세대)

 

현재 컴퓨터의 처리속도가 계속 높아지고 있다(저장용량 증가/크기감소/가격하락/신뢰도 증가 등)

 

컴퓨터의 근본적인 설계 개념은 크게 바뀌지 않음

 

Analytical Engine

- 어떠한 수학 연산도 자동적으로 수행할 수 있는 일반목적용 기계

- 네 가지 산술연산 기능과 입력 및 출력장치를 모두 갖춘 최초의 일반목적용 계산기계

 

ENIAC(폰노이만)

- 진공관을 이용한 최초의 전자식 컴퓨터

- 프로그램을 저장하고 변경하는 것이 불가능

 

주요 컴퓨터들의 발전 경위

- 1967년 한국 최초 컴퓨터 수입

- 개인용 컴퓨터(PC) : 소형/저가, 최근 64비트 단위의 데이터 처리 및 기억장치 주소로 사용, 듀얼코어 및 멀티-코어 구조로 발전

- 집적회로 : 실리콘 반도체 칩에 다수의 트랜지스터들을 넣어(집적시켜)제조한 전자부품

 

임베디드 컴퓨터(내장컴퓨터)

- 각종 기계장치나 전자장치들의 내부에 포함되어, 그 장치들의 동작을 제어하는 컴퓨터

- 일반적으로 최소의 비용으로 필요한 만큼의 성능을 가지도록 설계된다.

- 실시간으로 프로그램을 처리해야 하는 경우가 많다.

- 사물 인터넷(IOT) 및 지능형 로봇의 핵심 요소로도 사용되기 때문에 더욱 다양해지고 보급도 확대될 전망이다.

 

서버급 컴퓨터 시스템

- 워크스테이션 : 고속 그래픽 처리 및 시뮬레이션 등에 사용되는 64-비트급 고성능 컴퓨터

- 슈퍼미니컴퓨터 : 미니컴퓨터의 수십 배 성능을 가지는 서버급 컴퓨터시스템, 그러한 성능을 가지기 위하여 한 시스템 에 20개 이상의 프로세서들을 포함하는 다중프로세서 시스템으로 구성되고 있다.

 

다운사이징

- 대형컴퓨터를 이용한 중앙집중식 처리 방식에서 여러 대의 중형급 시스템들을 이용한 응용별 처리 방식으로 바뀌어가는 현상

 

슈퍼컴퓨터

- 현존하는 컴퓨터들 중에서 처리 속도와 저장 용량이 상대적으로 월등한 컴퓨터

- 최근에는 페타플롭스급의 속도를 가져야 슈퍼컴퓨터로 분류될 수 있다.

- 주요 응용분야 : 항공 우주학, 천문학, 핵공학, 인공지능, 입체영상처리 등

- 종류 : 파이프라인 슈퍼컴퓨터/대규모 병렬처리시스템/클러스터 컴퓨터

 

파이프라인 슈퍼컴퓨터

- 고도로 파이프라이닝 된 구조를 가진 소수의 CPU들을 이용하여 구성되는 슈퍼컴퓨터

 

대규모 병렬 처리시스템

- 매우 많은 수의 프로세서들을 이용하여 병렬처리를 수행하도록 설계되는 구성 방식

 

클러스터 컴퓨터

- 고속 LAN이나 네트워크 스위치에 의해 서로 연결된 독립적인 컴퓨터들의 집합체

 

728x90
반응형

'computer architecture' 카테고리의 다른 글

컴퓨터 주기억장치의 종류와 역할  (1) 2023.11.07
컴퓨터 구조 과제  (0) 2023.09.17