글 전체보기 17

[컴퓨터구조] 제어 유닛

제어 유닛이란? - CPU의 장치 중 하나로 프로세서의 조작을 지시하며, 입출력 장치를 제어한다. 또한 명령어를 읽고 해석하며, 데이터 처리를 위한 제어 신호를 발생시킨다. 제어 유닛의 기능 - 제어 유닛은 명령어의 해독과 명령어 실행에 필요한 제어 신호를 발생시킨다. - 마이크로 명령어 (Micro Instruction, Control Word) : 명령어 사이클의 각 주기에서 실행되는 각 마이크로연산을 지정해주는 2진 비트로, 제어 단어라고도 한다. - 마이크로 프로그램 (Microprogram) : 마이크로명령어들의 집합 - 루틴(Routine) : CPU의 특정 기능을 수행하기 위한 마이크로명령어들의 그룹이다. = 루틴은 인출 사이클 루틴, 실행 사이클 루틴, 인터럽트 사이클 루틴 등이 있다. 제..

콤퓨타 2021.12.18

[컴퓨터구조] CPU의 구조와 기능 - 3

슈퍼스칼라(Superscalar) - CPU의 처리 속도를 더 높이기 위해서 내부에 2개 이상의 명령어 파이프라인을 포함시킨 구조. - 매 클록 주기마다 각 명령어 파이프라인이 별도의 명령어를 인출하여 동시에 실행하기에 이론적으로 프로그램의 처리속도가 파이프라인의 수만큼 향상할 수 있음. - 파이프라인의 수(m개)에 따라 m-way Superscalar라고 부를 수 있음. 슈퍼스칼라에 의한 속도향상 파이프라인이 1개일 때, 실행 시간 T(1) = k + N - 1 (N:실행할 명령어의 개수) 파이프라인이 m개일 때, 실행 시간 파이프라인이 1개일 때 보다 m개일 때 얼마나 속도가 향상되었는가? 슈퍼스칼라의 속도 저하 요인 - 속도 저하는 속도향상 Sp

콤퓨타 2021.12.16

[컴퓨터구조] CPU의 구조와 기능 - 2

3. 명령어 파이프라이닝 ( Instruction Pipelining ) - CPU의 프로그램 처리 속도를 높이기 위해서 CPU 내부 하드웨어를 여러 단계로 나누어 처리하는 기술 - 2단계 명령어 파이프라인 ( Two-stage Instruction Pipeline ) = 명령어를 실행하는 하드웨어를 인출단계와 실행단계로 나누어 2개의 독립적인 파이프라인으로 분리하여 처리 = 2개의 단계에 동일한 클록을 가해서 동작 시간을 일치시키면 첫 클록주기에서 인출 단계가 첫 명령어 인출, 두 번째 클록주기에서 인출된 명령어가 실행 단계로 보내어 실행, 동시에 인출 단계는 두번째 명령어 인출 = 클록 주기 1에서 명령어를 인출하고, 클록 주기 2에서 명령어 실행과 다음 명령어 인출을 동시에 진행 = 그러므로 명령어..

콤퓨타 2021.11.08

[백준 문제 나의 풀이] 4673번 셀프 넘버

https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net [나의 생각] 일단 숫자를 각 자리수로 나누어 더하는 함수를 새로 생성해야 한다고 생각했다. 숫자를 각 자리수로 나누기 전에 주어지는 숫자의 갯수는 10,000보다 작거나 같은 숫자 중에 셀프넘버를 구함으로 자리수를 나누는 함수는 10,000자리 이내의 모든 숫자를 나눌 수 있도록 해야한다. 그러므로 주어지는 숫자는 한자리, 두자리, 세자리, 네자..

백준 문제풀이 2021.11.08

[컴퓨터구조] CPU의 구조와 기능 - 1

1. CPU의 기본구조 - CPU의 기능 = CPU는 명령어 인출과 명령어 해독를 모든 명령어에 대해서 공통적으로 수행한다. = CPU는 데이터 인출, 데이터 처리, 데이터 저장을 명령어에 따라 필요한 경우에 수행한다. - 명령어 인출(Instruction Fetch) = 기억장치로부터 저장된 명령어를 읽어오는 과정 - 명령어 해독(Instruction Decode) = 수행해야할 동작을 결정하기 위해서 명령어를 해독하는 과정 - 데이터 인출(Data Fetch) = 명령어의 실행을 위해서 데이터가 필요한 경우, 기억장치 또는 입출력장치로부터 데이터를 읽어오는 과정 - 데이터 처리(Data Process) = 데이터에 대한 산술적, 논리적 연산을 수행하는 과정 - 데이터 저장(Data Store) = 데..

콤퓨타 2021.11.01

[백준 문제 나의 풀이] 2563번 색종이

https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net [나의 생각] 가로, 세로 100의 크기를 가진 정사각형 모양의 도화지를 보고 X와 Y 값을 가지는 2차원 좌표평면에 그리는 생각했다. 검은색 색종이 역시 가로, 세로 10의 크기를 가진 정사각형 모양이므로 좌표평면에 올려둘 수 있다고 생각했다. 그리하여 좌표평면 X와 Y는 0에서 시작하여 100까지를 표현함으로 도화지를 그리고 주어지는 값에 따라 검정색 색종이를 조절하여 표현할 수 있다고 생각했다...

백준 문제풀이 2021.06.28

[컴퓨터구조] 컴퓨터의 구성

컴퓨터 시스템의 구성은 하드웨어 > 시스템 소프트웨어 > 응용 소프트웨어 와 같이 상위 개념으로 이루어져있다. 하드웨어는 정보들의 전송통로(Bus)를 제공한다. 또한 처리가 실제로 일어나는 물리적인 실체를 의미한다. 소프트웨어는 정보들의 이동방향, 처리 종류의 지정, 이와 같은 동작들이 일어나는 시간을 지정하는 등의 명령의 집합을 의미한다. 컴퓨터의 기본 구성 요소는 CPU, Memory, I/O Device로 크게 나눌 수 있다. CPU는 "프로그램의 실행"과 "데이터 처리"라는 중추적인 기능을 수행한다. Memory는 "Main Memory"와 "Auxiliary Storage Device"로 나누어진다. - [Main Memory]는 흔히 RAM으로 사용하는 주기억장치를 의미한다. 고속 액세스, 높..

콤퓨타 2021.04.05