'과거의 컴퓨터 공부/Computer Architecture'에 해당하는 글 3건

반응형


오늘의 포스팅은 CPU의 구조입니다.

CPU 란 Central Process Unit 즉, 중앙 처리 장치라는 놈으로, 컴퓨터의 핵심요소라면 핵심 요소라 할 수 있습니다. 

CPU는 기억 장치에 저장되어 있는 프로그램 코드인 '명령어'들을 실행함으로써 프로그램을 수행하게 됩니다.

여기서 프로그램을 수행할 때, 다음과 같은 5가지 과정을 거칩니다

1)Instruction Fetch

2)Instruction Decode

3)Data Fetch

4)Data Process

5)Data Store

여기서 1~2 번과정은 모든 명령어들에 대해 공통적으로 수행되지만, 3~5 은 명령어에 따라 필요한 경우에만 수행된다는 것을 알아두시기 바랍니다.


이번 포스팅에서는 CPU의 기본구조에 대해서만 알아볼 것이고, 다음 포스팅에서 명령어의 실행을 하고, 어떻게 하면 좀더 빠르게 사용할 수 있을지에 대한 방법을 제시하도록 하겠습니다(아실분들은 아시겠지만 파이프 라인에 대해 포스팅할겁니다.)


CPU는 ALU, Register set, CU(control Unit; 편의점이름아닙니다;;죄송합니다)로 구성되는데 각각의 특징을 살펴보고 가도록 하겠습니다

ALU

-각종 산술 연산들과 논리 연산들을 수행하는 회로들로 이루어진 하드웨어 모듈

-논리 연산 ~>AND, OR, NOT

-산술 연산 ~ >+,-,*,/ 등의 사칙연산


레지스터

-CPU 내부에 위치한 기억장치

-액세스 속도가 컴퓨터의 기억 장치들중 가장 빠름

-내부 회로가 복잡해서 비교적 큰 공간을 차지해서, 많은 수의 레지스터들을 CPU 내에 포함시키기는 힘듬


CU

-프로그램 코드를 해석하고, 그것을 실행하기 위한 제어 신호들을 순차적으로 발생하는 하드웨어 모듈

-즉, 명령어 실행에 필요한 각종 정보들의 전송 통로와 방향을 지정해주고, CPU 내부 요소들과 시스템 구성 요소들의 동작 시간도 결정해준다.

-제어 신호들의 종류와 발생 시간은 명령어마다 서로 다르기 때문에 CPU가 제공하는 명령어들의 수가 많아 질수록 제어 유니트의 내부 회로는 더복잡해진다


~>여기서 이와 같은 복잡도를 줄이기위해 제어 유니트 동작을 '소프트웨어'로 처리하는것을 '마이크로 프로그래밍'이라 하고, '하드웨어'만으로 명령어를 실행할 수 있도록 하는것이 'RISC'입니다 (참고로 하드웨어가 소프트웨어보다 속도가 빠릅니다)


[CPU 내부 구조 및 시스템 버스 접속]

~>내부 버스의 선들은 외부 시스템 버스와는 직접 연결되지 않으며, 반드시 '버퍼 레지스터' 혹은 '인터페이스 회로'를 통해 시스템 버스와 접속된다는 것을 명심하시기 바랍니다.

반응형

'과거의 컴퓨터 공부 > Computer Architecture' 카테고리의 다른 글

(2)시스템 구성  (0) 2014.04.04
(1)개요  (0) 2014.04.04
,
반응형

System Bus

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

-Address bus(단 방향성)

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

-주소 선의 개수는 CPU와 접속될 수 있는 최대 기억장치 용량을 결정해 준다

-주소 버스의 폭(width): CPU가 발생하는 주소 비트들의 수


-Data Bus(양 방향성)

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

-데이터 버스의 폭: 한 번에 전송될 수 있는 데이터 비트의 수


-Control Bus

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

-제어 신호 선들의 수는 CPU에 따라, 혹은 시스템 구성에 따라 달라진다.


Access

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


CPU가 특정 기억 장소로 부터 데이터를 읽을 때 ~> '주소' & '읽기 신호'

데이터를 저장하려는 경우 ~> '주소' & '데이터, 쓰기 신호'

~>CPU는 데이터를 저장할 기억 장소의 주소와 저장할 데이터를 각각 주소 버스와 데이터 버스를 통해 보내면서 동시에 쓰기 신호를 활성화 시킨다.


CPU와 I/O 장치의 접속

-CPU가 직접 제어하거나 액세스는 하지 못하고 I/O 장치들과 마찬가지로 별도의 인터페이스 회로 또는 제어기를 통해야 하기 떄문에 I/O장치들과 같은 방법으로 CPU와 접속되어야 한다

-키보드    

1.키보드가 눌려진다

2.데이터가 키보드 제어기로 전송된다

3.데이터 레지스터(=데이터 버퍼)에 저장되고, 동시에 상태 레지스터의 지정된 비트가 세트된다(여기서는 1로 되어야함)

4.이 1로 되는비트를 In_RDY라 하고, 해당 비트가 세트되어 있는지를 검사한다.

5.세트 되어있으면 데이터 레지스터의 내용을 CPU로 읽어들임으로써 데이터 입력과정이 완료된다.

5.세트 안되어있으면 상태 레지스터의 내용을 읽고 검사하는 동작을 반복하며 기다린다.

~>반복 검사 과정은 In_RDY 비트가 세트될 때까지, 즉 키가 눌러져서 데이터가 들어올 때까지 계속됨.

-프린트기의 경우 (Out_RDY)로 이름만 바꿔주고 과정은 똑같음

~>최근에는 버퍼의 용량을 대폭 늘려서 프린트할 데이터 파일 전체를 미리 이동시킬 수 있도록 해서, 프린트 동작에 대한 CPU의 개입을 줄여주고 있다.


*CPU는 시스템에 접속되어 있는 I/O 장치들을 직접 제어하지는 않지만, 각 장치의 제어기가 수행할 동작을 지정하는 명령을 보내거나 상태 정보와 데이터를 주고 받을 수 있어야 한다. 이를 위해서 CPU는 각 I/O 장치의 제어기를 구분하고 정보를 주고 받을 수 있어야 한다.

~> 이 방법은 각 제어기 내에 '상태 레지스터'와 '데이터 레지스터'를 각각 한 단어 길이의 기억장치로 간주하고, 주소를 한 개 씩 배정하는 것.

~>CPU가 제어기 내부 레지스터들의 주소를 이용해 해당 I/O 장치를 제어할 수 있게 된다.

반응형

'과거의 컴퓨터 공부 > Computer Architecture' 카테고리의 다른 글

(3)CPU 구조  (0) 2014.04.09
(1)개요  (0) 2014.04.04
,
반응형

하드웨어(hardware)

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

-컴퓨터의 기본적인 능력은 하드웨어에 의해 결정된다.


소프트웨어(software)

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

-하드웨어가 제공해주는 기능들을 이용하여 최종적인 결과를 얻을 수 있도록 도와준다.


컴퓨터의 기본 구조 

1)read

2)process

3)store


CPU(Central Process Unit) (=Processor)

-'프로그램 실행'과 '데이터 처리'의 중추적 기능 수행

-CPU가 한번에 처리하는 데이터의 길이(비트)에 따라 32-bit 또는 64-bit 컴퓨터가 된다

-이론적인 처리 속도는 CPU의 속도에 의해 결정된다.

-CPU가 처리할 프로그램 코드들과 데이터는 memory(기억장치;Storage device)에 저장 된다.

~>주 기억 장치, 보조 기억 장치


컴퓨터의 기본 구조

-주 기억 장치(Main Memory)

-CPU의 가장 가까이에 위치, 반도체 기억장치 칩들로 이뤄져 고속 액세스 가능

-하지만 비싸고, 저장 용량에 한계가 있음

-영구 저장 능력이 없기 때문에 프로그램 실행 중에 일시적으로만 사용되는 기억장치


-보조 기억 장치(Auciliary Storage Device)

-하드디스크, CR-ROM

-영구저장 능력을 가진 기억 장치

-저장 밀도가 높고 , 가격이 낮음

-속도가 느림

-입출력 장치(I/O device)

-사용자와 컴퓨터간의 대화를 위한 도구


반응형

'과거의 컴퓨터 공부 > Computer Architecture' 카테고리의 다른 글

(3)CPU 구조  (0) 2014.04.09
(2)시스템 구성  (0) 2014.04.04
,