명령어 사이클은 무엇이고인터럽트는 무엇일까? 명령어 사이클 --CPU가 하나의 명령어를 처리하는 과정에는정해진 흐름이 존재하는데이렇게 정해진 흐름이 "명령어 사이클"이다. 즉, 프로그램 속에서 각 명령어들을 일정한 주기로 반복되며 실행되는데, 해당 주기를 의미한다. 명령어 사이클의 각 단계들인출 사이클 (Fetch Cycle)실행 사이클 (Execute Cycle)간접 사이클 (Indirect Cycle)이 외에도 해석 사이클(Decode Cycle), 쓰기 단계(Write Back Cycle) 등이 존재한다. 인출 사이클 (Fetch Cycle) 메모리에 존재하는 명령어를 CPU로 가져오는 단계를 의미한다. 실행 사이클 (Execute Cycle) "인출 사이클"을 통해 CPU로 가져온..
레지스터는 무엇이고 어떠한 종류들이 있을까? 레지스터 (Register) --레지스터는CPU 내부에 있는 고속의 소형 저장 장치로,주로 데이터와 명령어를 일시적으로 저장하는 데 사용된다. CPU가 명령어를 처리하고 연산을 수행하는 데 필수적인 요소로,CPU 내부의 데이터 처리를 빠르게 수행할 수 있도록 도와준다. 프로그램 속 명령어와 데이터는 실행 전/후로 반드시 레지스터에 저장된다.따라서 레지스터에 저장된 값만 잘 관찰해도 해당 프로그램의 실행 흐름을 파악할 수 있다. CPU 내부에는 다양한 레지스터들이 존재하고 각자 다른 역할을 가지고 있다. 레지스터들은 CPU마다 이름, 크기, 종류가 매우 다양하고,사용하는 CPU의 제조사 홈페이지나 공식 문서 등에서 사용하는 레지스터들의 정보를 확인할 수..
CPU의 구성 요소 중ALU와 제어장치는 어떻게 동작할까? CPU 구성 ---- ALU (Arithmetic Logic Unit) --ALU는CPU에서 가장 중요한 구성 요소 중 하나로산술 연산과 논리 연산을 수행하는 하드웨어 부품이다. (계산을 수행하는 부품) 계산을 수행하기 위해 필요한 정보피연산자 (레지스터를 통해 받아온다.)연산자 (제어장치를 통해 수행할 연산을 알려주는 제어 신호를 받아온다.) 제어장치는 CPU 내에서 수행할 명령어를 해석 후,어떠한 연산을 수행해야 하는지 ALU에게 전달 (연산에 대한 정보를 전달)해당 연산에 필요한 피연산자를 레지스터로부터 가져옴제어장치로부터 받은 명령어(연산)와 레지스터로부터 받은 피연산자를 이용하여 해당 연산 수행연산 결과를 제어장치에 ..
명령어의 구조는 어떻게 되어있는가? 연산 코드와 오퍼랜드 --일반적으로 명령을 할 때"대상"과 "동작"을 포함하여 말한다.[ ex) A와 B를 더해 ] 명령어는 "연산 코드"와 "오퍼랜드"로 구성되어 있다. 연산 코드 (Operation code) : 명령어가 수행할 연산(동작)오퍼랜드 (Operand) : 연산에 사용할 데이터 or 연산에 사용할 데이터가 저장된 위치여기서연산 코드를 연산자오퍼랜드를 피연산자라고도 부른다. 위 그림처럼오퍼랜드는 하나의 명령어 안에 하나도 없을 수도 있고, 1개만 존재할 수 도 있으며, 여러 개가 존재할 수도 있다.이때오퍼랜드가 0개인 명령어 = "0-주소 명령어"오퍼랜드가 1개인 명령어 = "1-주소 명령어"오퍼랜드가 2개인 명령어 = "2-..
고급 언어와 저급 언어는 무엇이며,어떻게 사용하는 것인가? 저급 언어와 고급 언어 --프로그래밍 언어를 사용해서 컴퓨터에게 명령을 전달한다.다만, 컴퓨터는 프로그래밍 언어를 이해할 수 없기 때문에 때문에 프로그래밍 언어를 작성하여 전달해도 이해할 수 없다. 그래서 해당 언어를 작성하면 어떠한 중간 과정을 거쳐 컴퓨터가 이해할 수 있는 언어로 변환하여 컴퓨터에게 전달된다. 저급 언어 (Low-Level Programming Language) : 컴퓨터가 직접 이해하고 실행할 수 있는 언어고급 언어 (High-Level Programming Language) : 사람이 이해할 수 있는 언어 (사람을 위한 언어) 저급 언어 (컴퓨터가 이해할 수 있는 언어) 종류기계어 (Machin Langu..
0과 1로만 어떻게 문자, 숫자를 표현할까? 정보 단위 --컴퓨터는 0과 1로 모든 정보를 표현하고, 0과 1로 표현된 정보만을 이해할 수 있다. 정보 단위는데이터를 표현하고 처리하는 데 사용되는 기본적인 크기를 의미한다. 비트 ( Bit )바이트 ( Byte )킬로바이트 (KiloByte, KB )메가바이트 ( MegaByte, MB )기가바이트 ( GigaByte, GB )테라바이트 ( TeraByte, TB ) 비트 (Bit)는0과 1을 나타내는 가장 작은 정보 단위로 0 또는 1만 표현이 가능하다.(비트는 전기 신호에서 0 = 꺼짐, 1 = 켜짐의 상태를 나타낸다.)즉, 0 또는 1만 표현이 가능한 한 자릿수 단위라고 생각하면 된다. 1bit = 0, 1 총 2가지 정보 표현 가능2..
컴퓨터 구조는 무엇일까? 컴퓨터 구조 --컴퓨터 구조는컴퓨터 시스템의 설계와 동작 원리에 대한 것으로하드웨어와 소프트웨어가 어떻게 상호작용하는지에 대한 이해를 돕는다. 컴퓨터 구조에 대한 지식은 크게 두 가지다.컴퓨터가 이해하는 정보컴퓨터의 네 가지 핵심 부품-- 컴퓨터가 이해하는 정보 --컴퓨터는 0과 1로 표현된 정보만을 이해할 수 있다. 0과 1로 표현된 정보에는 크게 두 종류가 있다.데이터 (Data)명령어 (Instructions) 데이터는컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상 등 정적인 정보를 의미한다.즉, 컴퓨터가 처리해야 할 정보나 자료를 의미하고이러한 데이터는 0과 1로 이루어진 이진수(binary)로 저장되고 처리된다.(컴퓨터와 주고받는 정보나 컴퓨터에 저장된 ..
그래프는 무엇일까? 그래프 (graph) --그래프는노드의 집합과 간선(edge, 엣지)의 집합으로 구성된다. 노드(node)는그래프의 기본 요소로, 보통 정점(Vertex)이라고도 부른다.각 노드는 데이터를 저장할 수 있으며, 다른 노드와의 관계를 나타내는 엣지에 의해 연결된다.엣지(Edge)는두 노드를 연결하는 선으로, 노드 간의 관계나 연결을 표현한다.엣지는 방향이 있는 경우와 없는 경우가 존재한다.- 방향이 없는 엣지는 무방향 엣지(Undirected Edge)라고 부르며 보통 양방향을 의미한다.(무방향 엣지로 이루어진 그래프를 무향 그래프 (Undirected Graph)라고 부른다.)- 방향이 있는 엣지는 유방향 엣지(Directed Edge)라고 부르며 해당 방향을 가리키는 의미다...