본문 바로가기

IT

[컴퓨터 구조] 제어 유니트 (1) 제어 유니트 (1) 안녕하세요 지토우에요.오늘은 제어 유니트에 대해 배워봅시다. 제어 유니트의 기능- 명령어 코드의 해독- 명령어 실행에 필요한 제어 신호들의 발생 마이크로 명령어: 명령어 사이클의 각 주기에서 실행되는 마이크로-연산들에 대응되는 비트들로 이루어진 단어로서, 제어단어 (control word) 라고도 합니다. 마이크로 프로그램: 마이크로 명령어들의 집합 루틴(routine): CPU의 특정 기능을 수행하기 위한 마이크로 명령어들의 그룹ex) 인출 사이클 루틴, 실행 사이클 루틴, 인터럽트 사이클 루틴 제어 유니트의 구조 명령어 해독기 ( instruction decoder): 명령어 레지스터(IR)로부터 들어오는 명령어의 연산 코드를 해독하여 해당 연산을 수행하기 위한 루틴의 시작 주소를.. 더보기
[컴퓨터구조] 컴퓨터의 기본 구조 컴퓨터의 기본 구조 안녕하세요 지토우에요.컴퓨터의 기본 구조에 대해 알아봅시다. 컴퓨터 시스템은 기본적으로 하드웨어와 시스템 소프트웨어로 구성되어 있습니다. 그런 시스템에 각종 응용 소프트웨어들이 탑재되어 프로그램을 처리하게 됩니다 . 컴퓨터가 주어진 작업들을 수행하려면 전기적 신호들로 표현된 정보들을 이동시키거나 처리해서 새로운 정보를 생성해야 합니다.그리고 컴퓨터 정보들의 전송 통로를 제공해주고, 그 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체들을 하드웨어라고 합니다. 그렇다면 소프트 웨어란 무엇일까요?정보들이 이동하는 방향과 정보 처리의 종류를 지정해주고, 그런 동작들이 일어나는 시간을 지정해주는 명령(command)들의 집합을 의미합니다. 한편 소프트웨어는 하드웨어에 의존적인데, 컴퓨터.. 더보기
[자료구조] malloc을 이용한 더블포인터와 주소 안녕하세요 지토우에요.오늘은 malloc을 이용해 더블포인터 소스를 공부해봅시다. 이 소스에 gdb를 돌리면 어떻게 될까요~? [ds1603:~, 4]$ gdb malloc3GNU gdb (GDB) Red Hat Enterprise Linux (7.2-48.el6)Copyright (C) 2010 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law. Type "show copying"and "show warranty".. 더보기
[자바] 이클립스 글씨 크기 변경하기 [자바] 이클립스 글씨 크기 변경하기 안녕하세요. 지토우에요. 오늘은 이클립스의 글씨 크기를 변경하는 법을 알아봅시다. 이클립스 처음 썼을 때 정말 깜짝 놀랐어요. 글씨 크기가 정말 콩만하더라구요... 기본 폰트가 10정도로 설정 되어 있는 것 같습니다. 그런데 출력창은 진짜 더 조그매서 신경질나더라고요 ㅋㅋㅋㅋㅋㅋㅋㅋ 이제 신경질 내지 말고 바꿔보는 방법을 배워볼까요? 일단 폰트 크기를 확인할 수 있습니다. 10입니다. 메뉴에서 window - Preferences 로 들어갑니다. General - Appearance - Colors and Fonts 로 들어간 후 Java - Java Editor Text Font 를 누르고 Edit 을 누릅니다. 그 뒤 글꼴이나 스타일, 크기 등을 원하는 대로 바꿔.. 더보기
[C언어] 포인터 변수의 선언 [C언어] 포인터 변수의 선언 안녕하세요 지토우에요.지난 시간에는 포인터가 어떤 것인지에 대해 간략하게 배웠지요?오늘은 포인터 변수의 선언과 사용에 대해 배울 것입니다.그럼 오늘도 열공합시다 ^0^ 1. 포인터 변수의 선언 포인터 변수도 변수이므로 사용하기 위해서는 선언해야 합니다.다음은 포인터 변수의 선언 형식을 나타내고 있습니다.포인터 변수의 선언은 자료형 다음에 * 연산자를 붙이고 포인터 변수의 이름을 쓰는 식입니다. 자료형 포인터 변수의 자료형을 지정, 자료형 다음에 * 연산자를 붙임포인터 변수 이름 주소를 저장할 변수의 이름을 지정NULL 포인터 설정 포인터 변수 선언 시 NULL 로 초기화 NULL 포인터란 무엇일까요?포인터 변수에 아무 주소도 저장하지 않겠다는 의미입니다.NULL은 '널' 이.. 더보기
[C언어] 포인터 이해하기 [C언어] 포인터 이해하기 안녕하세요. 지토우에요. 오늘은 특이한 변수를 배워보겠습니다. 바로 포인터, 혹은 포인터 변수라고 부르는 아이인데요. 개념적으로 잘 이해하고 계셔야 합니다! 1. 포인터란? 우리는 포인터 변수에 대해 배우면서 & 연산자와 * 연산자를 많이 사용하게 됩니다. 이름부터 알아볼까요? & : Ampersand (앰퍼센드) * : Asterisk(아스테리스크) 입니다. 앞서 이 연산자들에 대해 배웠습니다. & 연산자를 통해 주소를 알 수 있었고 * 연산자를 통해 주소에 저장된 값을 참조할 수 있었지요? 이 친구들을 포인터까지 확장시킵시다. 포인터 변수란 주소를 저장하는 변수 입니다. C언어의 장점 중 하나가 바로 포인터인데요. 기존의 변수는 데이터를 저장하지만 포인터는 메모리 공간의 주.. 더보기
[C언어] 1차원 배열의 주소와 값의 참조 [C언어] 1차원 배열의 주소와 값의 참조 안녕하세요 지토우에요~이번엔 1차원 배열의 주소와 값의 참조에 대해 공부해봅시다. 1. &는 주소를 참조하는 연산자 우선, &에 대해 약간의 설명을 해드리겠습니다.&는 엠퍼센트라고 읽습니다.and를 대신하는 타이포그래픽 부호라고는 하는데,보통 c언어에서는 주소연산자라고 기억하시면 됩니다. &를 사용하면 메모리 공간의 주소를 표현할 수 있는데요.다음 표를 봐주세요. 변수의 주소 참조 배열의 주소 참조 사용법 &변수 이름 &배열 요소 ex) int a=10;printf("%x \n", &a) // a의 주소 int array[2]={10,2}printf("%x \n", &array[0]); // array[0]의 주소printf("%x \n", &array[1]);.. 더보기
[C언어] 배열 선언 시 주의할 점 [C언어] 배열 선언 시 주의할 점 안녕하세요 . 지토우에요. 주말에는 포스팅하기가 어려워서 자꾸 1일 1 포스팅의 약속을 지키지 못하게 되네요... 예약을 걸어서라도 약속을 지키도록 하겠습니다 ㅠ ㅠ 어쨌든, 오늘은 배열 선언 시에 주의할 점에 대해서 알려드릴게요. 1. 배열 요소는 0부터 시작 다음 코드에서 int array[2]는 배열 요소를 총 2개 선언하고 있습니다. 그런데 array[2]=3은 배열의 세 번째 요소에서 데이터 3을 저장하라는 의미로 에러가 발생합니다. 왜냐하면, 배열의 요소는 0부터 시작하기 때문이죠! array[0], array[1]은 존재하지만 array[2]는 존재하지 않습니다. 2. 배열 초기화를 중괄호로 할 때 배열의 선언과 초기화가 개별적으로 이뤄어지면 안됨 다음 코.. 더보기