[컴퓨터구조론_생능] ch01 개념정리

728x90

[컴퓨터구조론_생능출판사_김종현]

Ch01. 컴퓨터시스템 개요

1-1. 컴퓨터의 기본 구조

-컴퓨터는 프로그램 코드들을 정해진 순서대로 실행

(필요한 데이터 읽기, 저장, 처리 등)

-컴퓨터 실행 돕는 하드웨어 요소들은 상호 연결

[컴퓨터 기본 구조]

(1) CPU (중앙 처리 장치)

: 프로그램 실행과 데이터 처리 등 중추적 기능 수행

(2) Memory (기억장치)

: CPU가 처리할 프로그램 코드와 데이터 저장되는 공간

주기억장치(메인 메모리, 1차 기억장치)

-고속의 읽기/쓰기 가능

-CPU 가까이에서 CPU가 직접 액세스 가능

-저장용량 한계O , 영구저장X

-일시적 저장 휘발성 메모리

보조 기억장치(2차 기억장치, 주변 장치)

-속도가 느림

-CPU가 직접 액세스 불가능//별도 제어기 통해 액세스 가능

-영구 저장 능력 O

(3) I/O 장치 (입출력 장치)

: CPU와 직접 데이터 교환 X

: 별도 제어기 통해 CPU와 소통O

: 별도 제어기가 CPU로부터 명령받으면 I/O장치 실행됨

*주변장치

: CPU에 의해 직접 액세스되지 못하고 별도의 제어기 통해 액세스 가능한 장치(, 입출력장치, 보조저장장치들을 주변장치라고 부름)


1-2. 정보의 표현과 저장

-컴퓨터가 처리하는 정보 : 프로그램 코드, 데이터 등

-이러한 정보들은 모두 기계어(2진수 비트)형태로 표현, 저장됨

[기계어 번역 과정]

: 고급언어는 어느 컴퓨터나 대부분 호환O

: 기계어는 CPU마다 다르다

: 중간언어’ : 고급언어와 기계어 간 언어 상의 차이를 해결하기 위해 존재

: 번역된 기계어들은 순서대로 기억장치에 저장됨

(1) 어셈블리 언어 <중간언어>

: 언어 상의 차이 극복을 위해 고급언어와 기계어 사이에 존재하는 중간 언어

: LOAD, ADD< STOR ...

(2) 기계어의 필드 구성 (명령어 형식)

- 연산코드 필드 : 연산 지정해주는 비트

- 오퍼랜드 필드 : 적재될 데이터가 저장되어 있는 메모리의 주소

(3) 단어(word)

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

: 각 기억장소에 저장되는 데이터 단위


1-3. 시스템의 구성 : 컴퓨터 주요 요소들의 상호작용

[시스템 버스]

: CPU와 다른 요소 사이의 정보 교환 통로

주소 버스 (단방향성)

: CPU주소 정보 전송하기 위한 신호선들 집합

: 전체 신호 선 개수 -> 최대 기억장치 용량 결정

: 주소는 CPU에 의해 발생되어 -> 기억장치/I.O장치로 보내지는 정보이기에 단방향성

데이터 버스 (양방향성)

: CPU데이터를 전송하기 위한 신호선들의 집합

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

: 데이터는 읽기/쓰기 동작 모두 가능하기 때문에 양방향성

제어 버스

: CPU가 시스템 요소들의 동작 제어하기 위한 신호선들의 집합

   *액세스: CPU가 기억장치에 데이터 저장하거나 이미 저장된 내용 읽는 동작

(1) CPU와 기억장치의 접속

: CPU와 시스템 내부 기억장치 간 상호작용

 

데이터 읽기 : CPU -> 기억장치로 주소, 읽기 신호 보냄

데이터 쓰기(저장) : CPU -> 기억장치로 주소, 데이터, 쓰기 신호 보냄

 

기억장치 읽기 시간

: CPU는 데이터가 저장되어 있는 기억장소의 주소를 주소버스 통해 기억장치로 보내면서 동시에 읽기신호를 활성화 시킨다.

일정시간 지연된 이후 기억장치로부터 읽혀진 데이터는 데이터 버스에 실려 읽혀진다.

 

기억장치 쓰기 시간

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

(2) CPUI/O 장치의 접속

: CPUI/O 장치를 직접 제어하지는 않지만

각 장치의 제어기가 수행할 동작 지정 명령을 보내고 정보와 데이터를 주고 받는다.

(내부의 상태 레지스터, 데이터 레지스터)

 1) CPU(키보드로부터) 데이터 입력하는 과정

키보드로 데이터 입력 -> 데이터가 키보드 제어기로 전송 -> 입력 데이터가 준비상태

 2) CPU(프린터로) 데이터 출력하는 과정

프린터 제어기 내 상태 레지스터 읽음 (현재 실행 이전의 프린터 동작 완료상태인지 확인)

-> 프린터할 데이터를 데이터 레지스터로 쓰고 -> 프린터 시작신호 보냄

(3) 전체 시스템의 구성

[컴퓨터 시스템이 수행 가능한 기능]

1) 프로그램 실행 : 주 기억장치에서 프로그램 코드읽어서 실행

2) 데이터 저장 : 프로그램 실행결과로 얻어진 데이터를 다시 주기억장치에 저장

3) 데이터 이동 : 보조저장장치에 저장된 정보를 주 기억장치로 이동

4) 데이터 입,출력 : 사용자가 키보드 통해 보내온 데이터를 읽거나 CPU 처리값 출력

5) 제어 : 프로그램 순서대로 실행 중 필요에 따라 순서 변경 제어 실행

728x90