CS 공부
컴퓨터의 구조 본문
컴퓨터 구조란
프로그램의 논리적 수행에 직접적인 영향을 주는 시스템의 특성
컴퓨터 구조와 서로 바꿔 쓰는 용어는 명령어 집합(instruction set architecture: ISA)
이 ISA는 명령어 형식, 명령어 연산코드, 레지스터들 명령어 및 데이터 기억장치를 정의해준다.
컴퓨터 조직이란 구조적 구격에서 정의한 사항들을 구현하기 위한 연산 유닛과 상호연결 방식을 말한다.
EX) 비트수, I/O방식, 기억장치 주소지정
프로그래머에게 안 보이는 시스템 특성으로서 아키텍처에 비해 하드웨어에 좀 더 가깝다.
기능
1. 데이터 처리(Data processing)
2. 데이터 저장(Data Storage)
컴퓨터는 지나가는 데이터를 처리하지만 그 과정을 위해서는 컴퓨터는 필요한 데이터를 내부에 일시적으로 저장할 수 있어야한다. 그리고 장기적으로 데이터 저장 기능도 가져야한다
3. 데이터 이동(Data Movement)
컴퓨터 운용 환경에는 데이터 근원지 또는 목적지로서의 기능을 수행하는 장치들이 포함되어있다.
먼거리에 위치한 원격 장치들로 데이터를 이동시키는 과정을 데이터 통신이라고 한다.
4. 제어(control)
컴퓨터 내부에서 제어 유닛이 명령어들에 따라 컴퓨터 자원을 관리하고 효율적으로 사용될 수 있도록 조정해주는 역할을 한다.
구조
컴퓨터 구조에서의 계층적 구조의 특성
1. structure와 function으로 한계층을 설명이 가능하다.
2. 계층적 구조를 가진 시스템은 여러 개의 상호 연관된 서브시스템으로 구성됨
3. 계층 구조는 한계층씩 생각하면서 설계를 진행할 수 있어서 편안
4. 각 계층의 시스템 동작은 다음 하위계층에 특성에 의해서만 영향을 받음

간단한 단일 프로세서 컴퓨터의 내부조직에 대한 계층적 관점을 보여주고 있다,
이런 방식의 구조를 가지는 CPU는 마이크로 프로그램 방식으로 설계된 것
마이크로 프로그램이란 control unit(제어 유닛) 만드는 방식 중 하나 control memory(RAM의 일종) 위주 설계 방식
주요 구성 요소

1, 중앙 처리장치(CPU)
컴퓨터의 동작을 제어하고 데이터 처리 기능을 수행
프로세서라고 부름
2. 주기억장치(메인 메모리)
데이터 저장
3. 입출력
컴퓨터와 외부장치 사이에 데이터를 이동
4. 시스템 상호연결
중앙 처리 장치, 주기억장치 및 입출력장치 사이의 통신을 제공하는 메커니즘 시스템 상호연결의 보편적인 예로는 시스템 버스가 있다.
CPU조직의 주요요소


제어 유닛: CPU 동작제어 컴퓨터 전체 동작 제어
산술논리 연산장치(ALU): 컴퓨터 데이터 처리기능 수행
레지스터: CPU내부 저장공간 제공
CPU상호 연결: 제어 유닛 ALU 레지스터들 간이 통신을 위한 메커니즘 제공
기억 장치
메인 메모리

프로세서 외부에 있으면서 프로세서에서 수행할 프로그램과 데이터를 저장하거나 프로세서에 처리한 결과를 저장
주기억장치 또는 1차 기억장치라고도 한다. 저장 밀도가 높고 가격이 싼 DRAM을 많이 사용

프로세서와 보조기억장치 사이에 있다. 디스크 입출력 병목현상 해결 역할 맡고 있다.
프로세서와 메인 메모리 간에 속도 차이의 부담을 줄이려고 프로세서 내부나 외부에 캐시를 구현하기도 함
메모리 매핑

컴파일로 논리적 주소를 물리적 주소로 변환하는 과정
메모리 속도

메모리 접근시간과 메모리 사이클 시간으로 표현
캐시


프로세서의 속도 차이를 보완하는 고속 버퍼
메인 메모리가 데이터를 블록 단위로 가져와 프로세서에 워드 단위로 전달하여 속도를 높임
데이터가 이동하는 통로를 확대하여 프로세서와 메모리의 속도차이를 줄임
캐시의 성능은 작은 용량의 캐시에 프로세서가 이후 참조할 정보가 얼마나 들어 있느냐로 좌우
캐시 적중: 프로세서가 참조하려는 정보가 있을 때
캐시 실패: 프로세서가 참조하려는 정보가 없을 때

캐시 메모리 캐시메모리는 용량이 작은 대신 빠르기 때문에 멀티코어는 cache메모리를 강조하는 것이고 캐시 메모리를 빼놓고 멀티코어를 생각할 수 없다.
그리고 캐시는 여러 가지 레벨로 구성되는데 하드웨어와 가까운 L1이 가장 빠르고 그다음부터 순서대로 이어진다.
보조기억장치
대용량의 자기 디스크, 이동이 편리한 광디스크, 파일을 저장하는 속도가 느린 자기테이프
프로그램과 데이터를 메인 메모리에 옮겨야 실행할 수 있다.
시스템 상호 연결(시스템 버스)

하드웨어를 물리적으로 연결
데이터 주고받는 통로
컴퓨터 내부의 다양한 신호(데이터 입출력 신호, 프로세서 상태 신호, 인터럽트 요구와 허가 신호, 클록 신호등)를 시스템 버스로 전달
데이터 버스: 프로세서와 메인 메모리, 주변 장치사이에서 데이터를 전송
데이터 버스를 구성하는 배선 수는 프로세서가 한 번에 전송할 수 있는 비트 수를 결정함 이를 워드라 한다.
주소 버스: 프로세서가 시스템의 구성 요소를 식별하는 주소 정보를 전송
주소 버스를 구성하는 배선 수는 프로세서와 접촉가능한 메인 메모리의 최대 용량을 결정
제어 버스: 프로세서가 시스템의 구성 요소를 제어하는 데 사용한다.
제어 신호로 연산 장치의 연산종류와 메인 메모리의 읽기나 쓰기 동작 결정
입출력장치
입력과 출력 장치로 나누어짐.
입력 장치는 컴퓨터 내부로 자료를 입력하는 장치 (키보드, 마우스 등)
출력 장치는 컴퓨터에서 외부로 표현하는 장치 (프린터, 모니터, 스피커 등)
PCB
PCB는 칩들과 다른 전자부품들을 고정시키고 접속해줌
컴퓨터 내의 주 PCB는 마더보드 혹은 시스템보드라고 불림
마더보드에서 하나의 칩이 차지하는 영역는 중요도와 직결된다.
'CS공부 > 컴퓨터 구조' 카테고리의 다른 글
ARM (0) | 2021.07.29 |
---|---|
패리티 비트 & 해밍 코드 (0) | 2021.07.29 |
고정 소수점 & 부동 소수점 (0) | 2021.07.29 |
캐시 메모리 (0) | 2021.07.29 |
CPU의 작동 (0) | 2021.07.26 |