본문 바로가기
반응형

IT128

프로그래밍 언어의 실행, 프로그램 설계 등 간단한 프로그램을 개발할 때는 사전 분석 없이 바로 코딩에 들어가기도 하지만, 복잡하고 규모가 큰 프로그램을 개발할 때는 사용자의 요구 사항을 분석하고 설계부터 시작해야 합니다. 사용자의 필요를 파악하고 프로그램을 통해 해결할 문제가 무엇인지 확인하는 단계입니다. 이 단계에서는 프로그램의 출력물이 어떤 내용을 포함하고, 이를 위해 입력할 내용은 무엇인지, 폼은 어떻게 구성해야 하는지를 설계합니다. 또한 사용자와 시스템의 인터페이스 방식은 어떻게 할지, 데이터 구조 및 처리 절차에 대한 기본 틀을 어떻게 할지 등 분석하고 대략적인 설계도 합니다. 이 과정이 끝나면 프로그램 설계 단계에 들어갑니다. 프로그램 설계 실제 코딩을 시작할 때 사용할 논리를 프로그래머가 대략 그려내는 단계를 보통 알고리즘 설계라고 .. 2021. 1. 23.
프로그래밍 언어별 특징 프로그래밍 언어는 시간이 지나면서 지속적인 발전을 거듭해왔습니다. 다음은 주요 프로그래밍 언어별 특징에 대하여 알아봅시다. COBOL(COmmon Business Oriented Language)은 사무처리용으로 개발된 프로그래밍 언어입니다. COBOL의 장점은 컴퓨터의 내부적인 특성과 별개로 설계되어 COBOL 컴파일러만 있으면 컴퓨터 기종에 관계없이 바로 사용할 수 있다는 점이 있습니다. 또한 타 프로그래밍 언어에 비해 파일의 순차 및 비순차 처리 기능이 강력하여 작성이 쉽고 이해하기 쉽습니다. 반면 컴파일러에 너무 많은 항목을 포함하고 있어서 이것을 수용하려면 주기억장치의 용량이 커질 수밖에 없다는 단점이 있습니다. 그리고 프로그램 작성량이 많고 길어서 전체적으로 간결하지 못합니다. COBOL 프로.. 2021. 1. 18.
프로그래밍 언어의 개요와 역사 컴퓨터를 구동, 작동시키려면 명령을 내려야 합니다. 프로그래밍 언어는 인간이 컴퓨터와 의사소통을 할 수 있도록 컴퓨터 내에서 내리는 명령으로, 프로그램을 기술하는 언어를 뜻합니다. 프로그램은 인스트럭션(Instruction)이라는 명령어로 구성됩니다. 컴퓨터는 기계어로 작성된 인스트럭션을 논리적 순서에 따라 수행하는데, 논리적 순서란 '문제를 푸는 방법'을 뜻합니다. 컴퓨터는 0이나 1로 된 2진수 형태의 기계어만 처리할 수 있으며 기계어는 컴퓨터 내부의 표현법과 일치하여 컴퓨터는 바로 이해할 수 있지만 인간은 이해하기 쉽지 않습니다. 따라서 인간은 기계어를 대신하여 이해하기 쉬운 프로그래밍 언어(Programming Language)를 개발해 사용하는 것입니다. 저급 언어와 고급 언어 프로그래밍 언어는.. 2021. 1. 13.
컴퓨터 시스템의 성능 향상 기법 중앙처리장치의 구조 변화 명령어 세트와 명령어를 실행하는 중앙처리장치의 구조는 밀접한 관련이 있습니다. 중앙처리장치는 구조적 특성에 따라 복잡 명령어 세트 컴퓨터(CISC : Complex Instruction Set Computer)와 축소 명령어 세트 컴퓨터(RISC : Reduced Instruction Set Computer)로 구분할 수 있습니다. 복잡 명령어 세트 컴퓨터는 CISC라고 부르는데, 많은 수의 명령어와 다양한 주소 지정 모드를 제공하기 때문에 명령어 세트가 큽니다. 대표적인 예는 인텔 x86 호환 프로세서와 모토로라의 MC680x0(68K) 계열 프로세서입니다. CISC는 명령어 하나가 복잡한 기능을 수행하므로 적은 수의 명령어로 프로그램을 작성할 수 있습니다. 그러나 명령어 해독.. 2021. 1. 8.
입력장치, 출력장치의 종류 입력장치는 문자, 목소리, 그림, 숫자 등의 자료를 컴퓨터 내부로 입력하는 장치입니다. 출력장치는 컴퓨터 내부에서 처리한 정보를 인간이 인지할 수 있는 다양한 형태로 변환하여 외부로 표현하는 장치입니다. 이런 입출력 장치를 통틀어 주변장치(Peripheral Device)라고도 합니다. 입력 장치 입력장치는 문자, 목소리, 그림, 숫자 등의 자료를 0과 1의 2진수 형태로 변환시킵니다. 대표적인 입력장치로는 키보드 자판기, 마우스, 조이스틱, 터치스크린, 스캐너 등이 있습니다 키보드 키보드(Keyboard)는 문자와 숫자, 명령어 등을 입력할 수 있는 대표적인 입력장치입니다. 전류를 흐르게 하여 키의 눌림 상태를 파악하고, 파악한 키의 위치를 바이오스(BIOS)를 통해 문자 코드나 제어 코드로 변환한 뒤.. 2021. 1. 3.
기억장치의 계층 구조, 주기억장치의 종류, 캐시 메모리, 보조기억장치 중앙처리장치(CPU)가 어떤 작업을 처리하기 위해서는 데이터와 이를 처리할 프로그램이 필요합니다. 기억장치는 데이터와 프로그램, 연산의 중간 결과 등을 일시적 또는 영구적으로 저장하는 장치입니다. 기억장치의 계층 구조(Memory Hierarchy) 기억장치는 접근 속도, 기억 용량의 크기, 용도에 따라 레지스터, 캐시 메모리, 주기억장치, 보조기억장치로 구분합니다. 레지스터는 중앙처리장치 내에 존재하며, 중앙처리장치의 처리 속도와 비슷한 접근 시간(Access Time)을 가집니다. 그리고 캐시 메모리는 중앙처리장치가 주기억장치에 접근 시 속도 차이를 줄이기 위해 사용됩니다. 또한 실행 중인 프로그램의 명령어와 데이터를 저장하며, 기억 용량은 적지만 접근 시간이 주기억장치보다 5~10배 정도 빠릅니다... 2020. 12. 26.
중앙처리장치(CPU)의 구성과 명령어 처리 과정 그리고 명령어 세트 과거에 폰 노이만(Von Neumann)은 프로그램과 데이터를 기억장치에 저장시킨 후 명령어 순서대로 처리하는 프로그램 내장방식(Stored Program Method)을 제안했습니다. 이 방식을 기반으로 제작된 컴퓨터 시스템을 폰 노이만형 컴퓨터라고 하며 현대에서 대부분의 컴퓨터가 이 방식을 따르고 있습니다. 중앙처리장치(CPU)의 구성 중앙처리장치는 컴퓨터 시스템에서 가장 핵심적인 역할을 수행하는 부분으로 인간으로 따지면 두뇌와 비슷합니다. 주기억장치로부터 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어하는 역할을 합니다. 중앙 처리장치는 아래의 그림과 같이 산술논리연산장치, 제어장치, 레지스터로 구성됩니다. 산술 논리 연산장치 덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술 연산과 논리.. 2020. 12. 21.
하드웨어와 소프트웨어의 구성 컴퓨터 시스템은 아래의 그림과 같이 하드웨어(Hardware)와 소프트웨어(Software)로 구성됩니다. 하드웨어는 컴퓨터를 구성하는 기계적 장치, 소프트웨어는 하드웨어의 동작을 지시하고 제어하는 명령어의 집합입니다. 하드웨어 하드웨어는 중앙처리장치, 기억장치, 입출력 장치로 구성되며, 이들은 시스템 버스로 연결되어 있습니다. 하드웨어의 구성 아래의 그림은 하드웨어 구성을 보여줍니다. 중앙처리장치 : 인간의 두뇌에 해당하는 장치로 CPU(Central Processiong Unit)라고도 합니다. 주기억장치로부터 프로그램 명령어와 데이터를 읽어온 뒤 처리하여 명령어의 수행 순서를 제어합니다. 중앙처리장치는 비교와 연산을 담당하는 산술 논리 연산장치(ALU : Arthmetic Logic Unit)와 명.. 2020. 12. 15.
컴퓨터의 실수 표현 컴퓨터에서 소수점을 표현하는 방식에는 고정 소수점 방식과 부동 소수점 방식이 있습니다. 고정 소수점 방식은 소수점이 항상 고정된 위치에 있다는 의미이며 주로 정수 표현에 사용됩니다. 부동 소수점 방식은 소수점의 위치가 변하기 때문에 실수 표현에 주로 사용되며, 고정 소수점 방식보다 넓은 범위의 수를 표현할 수 있습니다. 부동 소수점 방식은 부호 비트, 지수(Exponent) 부분, 가수(Mantissa) 부분으로 구성됩니다. 지수 부분은 소수점의 위치를 나타내고, 가수 부분은 유효 자릿수를 나타냅니다. 부동 소수점 방식으로 저장된 실수는 다음과 같이 해석됩니다. m x re ( m : 가수 r : 밑수 e : 지수 ) 컴퓨터에서 실수를 표현할 때는 아래의 표와 같이 4바이트의 단일 정밀도(Single P.. 2020. 12. 9.
컴퓨터의 정수 표현 우리가 사는 현실에서는 정수를 표현할 때 자릿수에 제한을 받지 않지만 기억공간이 제한된 컴퓨터에서는 N개의 비트를 사용해 2N개(0~2N-1)의 정수를 표현합니다. 수학에서는 양의 정수를 표현할 때 + 기호를 붙이지 않아도 양의 정수로 간주합니다. 반면 음의 정수는 반드시 - 기호를 붙여 사용합니다. 즉 양의 정수 5는 +5나 5를 모두 허용하지만, 음의 정수 5는 반드시 -5로 표시해야 한다는 것입니다. 보수 보수(Complement)란 진법의 밑수에서 해당되는 수를 뺀 나머지를 의미합니다. 컴퓨터 내부에서는 사칙연산을 수행할 때 덧셈을 담당하는 가산기(Adder)를 이용하므로, 뺄셈은 덧셈 형식으로 변환해야 합니다. 즉 A-B는 우선 B의 보수인 -B를 구한 후 A+(-B)를 수행합니다. 이와 같이 .. 2020. 12. 5.
아스키 코드와 10진 코드, 유니코드란 무엇인가? 컴퓨터에는 숫자, 특수 기호, 한글, 영어 등 다양한 문자가 사용되는데, 이들을 구별하기 위해서는 각 문자를 유일한 값으로 표현하는 코드 체계가 필요합니다. 대표적인 코드 체계로는 아스키코드(ASCII), 2 진화 10진 코드(BCD), 확장 2 진화 10진 코드(EBCDIC), 유니 코드(Unicode) 등이 있습니다. 먼저 아스키코드에 대해서 알아보겠습니다. 아스키코드(ASCII : American Standard Code for Information Interchange)는 미국표준협회(ANSI : American National Standards Institute)가 제정한 데이터 처리 및 통신시스템 상호 간의 정보 교환용 표준 코드입니다. 각 문자를 나타내기 위해 7비트가 사용되지만, 데이터 전.. 2020. 11. 30.
정보의 표현 중 비트와 바이트, 그리고 워드는 무엇인가? 디지털 컴퓨터는 문자나 숫자 등의 정보를 0과 1의 2진 체계로 부호화한 디지털 데이터로 처리합니다. 컴퓨터 내부에서 문자 'A'와 숫자 '10'은 다음의 2진 체계로 부호화됩니다. 비트(Bit : Binary digit)는 컴퓨터에서 정보를 나타내는 최소 단위로, 2진수 0 또는 1을 의미합니다. 1비트로 표현할 수 있는 정보는 2개(0, 1)이며, 2비트로 표현할 수 있는 정보는 4개(00, 01, 10, 11), N비트로 표현할 수 있는 정보는 2N개 입니다. 바이트(Byte)는 문자를 나타내는 최소 단위로, 1 바이트는 8개의 비트로 구성됩니다. 1바이트로는 256(=28)개의 서로 다른 데이터를 표현할 수 있습니다. 영문자나 숫자, 특수문자는 1바이트로 표현할 수 있지만, 한글이나 한자는 2바이.. 2020. 11. 27.
진법 변환 주어진 수를 다른 진법으로 변환하는 것을 '진법 변환'이라고 합니다. 일상생활에서 10진법을 주로 사용하지만, 12진법과 60진법도 함께 사용합니다. 연필 1 다스를 12자루, 1 그로스(Gross)를 12 다스, 1피트(Feet)를 12인치(Inch)로 바꾸는 등 단위를 나타낼 때는 12진법을 사용하고, 1시간을 60분, 1분을 60초, 원의 각도를 360도 등과 같이 시간이나 각을 나타낼 때는 60진법을 사용합니다. 2진수, 8진수, 12진수 -> 10진수 2진수, 8진수, 16진수를 10진수로 변환하는 방법을 알아봅시다. 2진수, 8진수, 16진수 0> 10진수 각 자리의 숫자에 자릿값을 곱한 후 모두 더합니다. 예) 2진수 1011은 각 자리의 자릿값 23, 22, 21, 20을 해당 자리의 숫자.. 2020. 11. 24.
수의 체계 기원전 2000년경 고대 수메르에서는 60을 밑수로 하는 60진법을 사용했습니다. 로마 시대에는 12를 밑수로 하는 12진법을 사용했으며 현재 우리는 0~9의 숫자 10개를 사용하는 10진법을 사용합니다. 컴퓨터에서도 이러한 진수들을 사용하며 사용하는 수 체계에 대해 공부해보도록 하겠습니다. 진법은 임의의 수를 숫자로 표현하는 방법입니다. 임의의 수를 10진법으로 표현하면 10진수가 되고, 2진법으로 표현하면 2진수가 됩니다. 현재 우리가 사용하는 디지털 컴퓨터는 두 개의 전기 신호(0 또는 1)를 이용해 정보를 표현합니다마는 십만, 백만과 같이 큰 수의 경우 2진수로 나타내면 자릿수가 너무 길어 읽기가 불편하기 때문에, 2진수와 상호 변환이 쉽고 자릿수도 짧은 8진수와 16진수를 함께 사용합니다. 진수.. 2020. 11. 22.
컴퓨의 활용 분야 21세기 컴퓨터는 산업, 금융, 의료, 과학기술 및 교육 등 매우 광범위하게 활용되고 있습니다. 일상생활에서 접하는 컴퓨터 기능 이외에 다양하고 무궁무진한 컴퓨터의 활용 분야에 대해서 알아보도록 하겠습니다. 과학기술 분야 과학기술 분야에서는 매우 복잡한 수식이나 알고리즘(Algorithm)의 수행 결과를 얻기 위해 컴퓨터를 사용합니다. 컴퓨터가 탄생하기 이전에는 시간이 많이 걸리더라도 일일이 사람이 계산을 해서 답을 구했지만, 컴퓨터를 활용한 이후로는 매우 빨리 답을 얻을 수 있게 되었습니다. 또한 가상 환경을 모델링하여 시뮬레이션함으로써, 시스템을 먼저 만들지 않고도 성능을 예측할 수 있게 되었습니다. 클라우딩 컴퓨팅 클라우딩 컴퓨팅(Clouding Computing)은 2006년 9월 세계적인 검색 .. 2020. 11. 19.
반응형