전체 글

전체 글

    [컴퓨터 구조] 컴퓨터의 CPU 기본 구조

    1. CPU 기본 구조 CPU에는 레지스터(Register)라는 저장공간이 있음 역할: 빠른 실행을 위해 PC(Program Counter): 다음 실행할 명령어 주소를 가리키는 레지스터 IR(Instruction Register): 가장 최근에 인출한 명령어 보관 레지스터 누산기(ACC, Accumulator): 데이터 일시 보관 레지스터 MAR(Memory Address Register): CPU가 메모리 참조를 위해 보관하는 데이터 주소를 가진 레지스터 MBR(Memort Buffer Register): CPU가 메모리로부터 읽거나, 저장할 데이터 자체를 보관하는 레지스터 2. CPU 기본 실행 구조(4가지) 2.1. Instruction Fetch 실행할 명령어를 메모리에서 읽어 CPU로 가져온다..

    [프로그래머스] 모의고사

    문제 모의고사 https://programmers.co.kr/learn/courses/30/lessons/42840?language=java 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배..

    [컴퓨터 구조] Instruction Set이란?

    1. Instruction Set CPU 에 Instruction Set이 존재 Software = Code + Data Software Engineer: Code를 작성하는 사람 Machine Language CPU는 Instruction Code, 즉 opcode를 만들어놓고, 제공 컴파일 컴파일러는 프로그램이 Code를 기계어로 바꾸는 것이다. 우리가 사용하는 모든 고급 언어는 결과적으로 CPU한테 알려줄 때 opcode를 사용해서 변환을 해야 한다. CPU 같은 경우에는 Operation Instruction Set을 정의하고 어떤 Operation Code를 가지는 지 알려주고 Assembly Language는 Operation Code를 대응할 수 있는 간단한 약자로 만들어놓고 실제로 Code..

    [백준_14235] 크리스마스 선물

    문제 백준 14235번 https://www.acmicpc.net/problem/14235 크리스마스에는 산타가 착한 아이들에게 선물을 나눠준다. 올해도 산타는 선물을 나눠주기 위해 많은 노력을 하고 있는데, 전세계를 돌아댕기며 착한 아이들에게 선물을 나눠줄 것이다. 하지만 산타의 썰매는 그렇게 크지 않기 때문에, 세계 곳곳에 거점들을 세워 그 곳을 방문하며 선물을 충전해 나갈 것이다. 또한, 착한 아이들을 만날 때마다 자신이 들고있는 가장 가치가 큰 선물 하나를 선물해 줄 것이다. 이제 산타가 선물을 나눠줄 것이다. 차례대로 방문한 아이들과 거점지의 정보들이 주어졌을 때, 아이들이 준 선물들의 가치들을 출력하시오. 만약 아이들에게 줄 선물이 없다면 -1을 출력하시오. 첫 번째 줄에서는 아이들과 거점지를..

    [컴퓨터 구조] Program Counter(PC)란?

    1. PC(Program Counter) 간단하게 클럭이 튕길 때마다 1씩 증가하는 기능을 하는 register CPU에 특별한 명령을 통해 PC값을 바꿀 수 있음 바뀌어지면 바뀌어진 값에서 1씩 증가 1.1. 16-bit counter 1씩 증가하는 조합논리회로 1.2. PC = Accumulator + 16-bit counter + control panel 1.3. 여러 숫자를 더하고 싶을 경우(예) 1.4. Automation 0000h 주소부터 데이터가 저장되어 있음 h 는 Hex(16진수)를 의미 네 수를 더하고, 두 수를 더한다고 가정 0000h부터 네 수를 하나씩 할당한다. 첫번째 네 수를 더한 값을 저장 후 두번째 시작할 때 clear 한다음에 0005h부터 다시 시작한다. 그리고 두번째 ..

    [백준_15904] UCPC는 무엇의 약자일까?

    문제 백준 15904번 https://www.acmicpc.net/problem/15904 UCPC는 '전국 대학생 프로그래밍 대회 동아리 연합 여름 대회'의 줄임말로 알려져있다. 하지만 이 줄임말이 정확히 어떻게 구성되었는지는 아무도 모른다. UCPC 2018을 준비하던 ntopia는 여러 사람들에게 UCPC가 정확히 무엇의 줄임말인지 물어보았지만, 아무도 정확한 답을 제시해주지 못했다. ntopia가 들은 몇 가지 답을 아래에 적어보았다. Union of Computer Programming Contest club contest Union of Computer Programming contest Club contest Union of Computer Programming contest club Con..

    [백준_1260] DFS와 BFS

    문제 백준 1260번 https://www.acmicpc.net/problem/1260 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를..

    [컴퓨터 구조] Accumulator란?

    1. Accumulator(가산기) 덧셈을 하는 기기 플립플롭(flip-flop) 구조에서 clear 라는 버튼 추가 data가 1이면 output이 1 하지만, 만약 clear가 1이면 output은 무조건 0 = 즉, clear가 1이면 data가 삭제 8-bit adder와 8-bit latch 로 구성 전체 흐름 최종적으로 X + Y를 만들어야 함 먼저 data-in에 X값을 넣어주면 반대편 data-in은 0이므로 8-bit adder를 통해 X + 0을 통해 data-out이 X가 된다. data-out된 X는 다시 8-bit latch의 data-in으로 들어가 여기서 add가 눌러져 저장되었다가 data-out으로 X가 됨 그리고 다시 8-bit adder로 들어간다. 여기서 8-bit a..