'1학기/IT창의공학'에 해당되는 글 24건
컴퓨터 구조 2컴퓨터 구조 2
Posted at 2013. 4. 9. 22:33 | Posted in 1학기/IT창의공학ⓐ 중앙처리장치
① Central Processing Unit
- 메모리에 저장된 프로그램과 자료를 이용하여 실제 작업을 수행하는 회로 장치
② 주요 구성 요소
- 연산장치 :: 자료의 연산을 수행
- 제어장치 :: 컴퓨터의 작동을 제어
- 레지스터 :: 연산에 필요한 자료를 임시로 저장
- 버스 :: 자료 버스, 제어 버스
㉠ 연산장치
㉮ 연산장치 ( Arithmetic and Logic Unit )
- 더하기, 빼기, 나누기, 곱하기 등의 산술 연산
- Not, And, Or, Xor 등의 논리 연산을 수행하는 회로
㉯ 레지스터의 이용
- 중앙처리장치의 임시기억장소인 누산 레지스터와 자료 레지스터에
저장된 자료를 연산에 참여할 피연산자로 이용
- 결과는 다시 누산 레지스터에 저장되어 필요하면 주기억장치에 저장되거나
다른 연산에 이용
㉡ 제어장치
㉮ 제어장치 ( Control Unit )
- 산술 및 논리 연산에 요구되는 작업을 연속적으로 수행하는 신호를 보냄으로
연산장치와 레지스터가 명령을 수행하게 하는 장치
- 인간의 뇌와 같은 요소
㉯ 구성
- 여러 개의 해독기와 제어기로 구성
㉢ 레지스터
㉮ 정의
- 중앙처리장치 내부에서 연산에 필요한 자료를 잠시 저장하기 위한 임시
기억 장소
- 중앙처리장치는 컴퓨터가 명령을 수행하는 과정을 처리하기 위해 여러 개의
레지스터를 가짐
③ 명령어 처리 과정
㉠ Cpu와 주기억장치 간의 자료 전송
㉡ 기계 주기 ( Machine Cycle )
- 중앙처리장치는 하나의 명령어를 실행하기 위하여 인출, 해독, 실행의 세가지
과정을 거침
ⓑ 마이크로 프로세서의 성능
① 여러 요인으로 결정
- 사이클 당 연산 수와 자료 버스의 폭, 레지스터의 수와 크기, 그리고 캐시 메모리의 크기
등으로 결정
② 자료버스 폭
- 연산 장치와 레지스터 등과 같은 Cpu의 내부 구성 요소 간에 자료를 전달하는 통로의 비트 수
③ 클럭 속도
- 클럭 속도의 단위인 Hz는 1초당 진동의 반복 횟수를 재는 단위
- 프로세서는 하나의 명령어를 특정 수의 클럭 사이클에서 실행 할 수 있으므로 클럭 속도는
연산 속도와 비례
④ 병렬 처리
- 하나의 컴퓨터에서 2개 이상의 Cpu를 이용하여 한 번에 여러 개의 명령어를 동시에 실행
시키는 처리 방법
* 무어의 법칙
- 인텔의 공동 설립자인 고든 무어가 1965년도에 한 연설에서 유래
= 마이크로 칩의 처리 능력은 18개월마다 두배로 증대된다
= 마이크로프로세서의 성능은 약 18개월에서 24개월마다 두 배로 증가
ⓒ 명령어에 따른 프로세서 분류
① Cisc
㉠ Complex Instruction Set Computing, 복합 명령어 집합 컴퓨팅 계열
- 명령어의 구조가 복잡하고 100 ~ 250개의 다양한 명령어를 제공
- 인텔의 80 x 86 계열과 모토로라의 680 x 0 계열의 프로세서
- 복잡한 연산을 하나의 명령어로 처리하려는 의도에서 시작
- Cisc의 명령어는 복잡한 연산을 수행하기 위해 다양한 길이를 가지며 메모리의 자료를
직접 참조하는 연산도 많이 제공
㉡ 장단점
- 복잡한 프로그램을 적은 수의 명령어로 구성할 수 있는 장점
- 복잡한 명령어의 실행을 위한 복잡한 회로가 이용되므로 생산가가 비싸고 전력
소모가 많아 열이 많이 발생하는 단점
② Risc
㉠ Reduced Instruction Set Computing, 축소 명령어 집합 컴퓨팅 계열
- 명령어의 수가 적고 그 구조도 단순
- 레지스터 내부에서 모든 연산이 수행되며 메모리의 참조는 제한적
- 상대적으로 레지스터가 많은 특징
- 명령어는 고정 길이이며 쉽게 해독이 되는 명령어 형식
- 1988년 중반 애플의 매킨토시에 장착된 모토로라의 PowerPC에서 처음 구현된 Risc
프로세서는 이후 Sun, HP, NEC의 워크스테이션 컴퓨터
㉡ 장점
- 전체적으로 Risc 프로세서는 Cisc 프로세서보다 수행속도가 바름
- 하나의 프로그램을 수행하려면 Risc 프로세서는 Cisc 보다 많은 명령어를 실행해야
하지만 하나의 명령어가 단순하여 그 처리 속도가 매우 빠름
[출처] [영진전문대 컴퓨터정보계열] 컴퓨터 구조 II|작성자 소망
컴퓨터 구조컴퓨터 구조
Posted at 2013. 4. 9. 22:33 | Posted in 1학기/IT창의공학ⓐ 프로그램 내장 방식
① 저장 프로그램 방식
㉠ 폰 노이만이 고안
- Stored Program
- 메모리에 자료와 프로그램이 함께 저장
㉡ 중앙처리장치 ( CPU )
- 메모리에서 필요한 자료를 이용
- 저장된 명령어를 순차적으로 실행
ⓑ 명령어 형식
① 명령어 ( Instruction )
- 연산 부분과 피연산 부분으로 구성
* 연산 부분은 명령어가 수행해야 할 기능을 의미하는 코드
* 피연산 부분은 연산에 참여하는 자료를 의미하는 코드
- 명령어가 16비트로 구성
* 4비트는 연산 종류
* 12비트는 피연산자의 메모리 주소
② 명령어 종류
ⓒ 저급언어
① 기계어
- 컴퓨터를 작동시키기 위해 0과 1로 나타낸 컴퓨터의 고유 명령 형식 언어
② 어셈블리어
- 컴퓨터 명령어인 기계어를 사람이 일상 생활에서 사용하는 자연 언어와 유사하게 만든 언어
- 명령어는 연산자와 피연산자를 몇 개의 문자 조합으로 기호화
* 기계어의 까만 부분 예를 들어 " 0111 " 이 ADD를 의미하고 나머지 뒤는 덧셈에 참여하는 피연산자를 나타냄
ⓓ 주기억장치의 구조
① 주기억장치
- 작업 내용인 프로그램 명령어와 프로그램에서 이용할 자료를 저장
② 주소
- 메모리의 저장소는 주소를 이용하여 각각 바이트 단위로 고유하게 식별
- 컴퓨터가 한 번에 작업할 수 있는 데이터의 단위를 워드
* 워드는 32비트 또는 64비트
③ 버스
- 관련 자료 전달경로
- 주소 버스, 자료 버스, 제어 버스
ⓔ 기억장치의 종류
① Ram
- Random Access Memory, 임의 접근 메모리
* 소멸성 기억장치
* 쓰기와 읽기의 두 회로가 있어서 정보의 쓰기와 읽기가 가능
- Dram과 Sram
* Dram은 전원이 연결된 상태에서 일정한 주기마다 전기적으로 재충전 필요
= 주기억장치로 주로 사용 ( Sdram)
* Sram은 전원만 연결되어 있으면 정보가 지워지지않는 기억장치
= 캐쉬 메모리에 주로 사용
② Rom
- 읽기 전용 메모리, Read Only Memory
* 읽기만 가능한 메모리
- 비소멸성 메모리
- Rom도 메모리에 임의접근이 가능
③ 플래쉬 메모리
- Ram과 Rom의 장점을 가진 메모리
- 소비전력이 작은 비소멸성 메모리
* 정보의 입출력도 자유로워 디지털TV, 디지털 캠코더, 휴대폰, 디지털 카메라, PDA, 게임기,
Mp3 등에 널리 이용되는 기억장치
- 메모리 셀들의 한 부분이 섬광처럼 단 한번의 동작으로 지워 질 수 있다고 해서 플래쉬라 명명
④ 캐쉬 메모리
㉠ 캐쉬의 사용 이유
- Cpu에 비해 상대적으로 주변기기의 속도가 매우 느림
- 주기억장치와 Cpu의 속도의 차이를 해결
- 캐시 메모리는 메인 메모리보다 대개 약 10배쯤 더 빠름
* 저장 속도가 빠르고 고가인 Sram을 이용
㉡ 캐쉬의 종류
- 수준 1캐쉬, 수준 2캐쉬
- 디스크 캐쉬
[출처] [영진전문대 컴퓨터정보계열] 컴퓨터 구조 I|작성자 소망
정보의 표현정보의 표현
Posted at 2013. 4. 9. 14:18 | Posted in 1학기/IT창의공학ⓐ 컴퓨터의 자료 표현 원리
① 두 가지 정보 표현
- 컴퓨터 내부에서 전기가 흐르거나 흐르지 않는 두 가지 전기 신호만을
표현할 수 있는 트랜지스터를 이용하여 자료를 처리하고 저장
- 컴퓨터는 전기가 흐를 경우 '1', 흐르지 않을 경우 '0'으로 표현하는 2진수
체계를 사용
② 비트 ( Bit )
- 컴퓨터의 정보 처리 단위 중에서 가장 작은 정보 단위
- Blnary digit
ⓑ 표현 단위와 저장 용량
① 바이트
- 비트가 연속적으로 8개 모인 정보 단위
- 2의 8승인 256가지 종류의 정보 저장 가능
② 니블과 워드
- 바이트의 ½ 크기인 4비트를 니블 ( Nibble )
- 바이트가 4개 모이면 워드 ( Word )
* 시스템마다 크기가 다를 수 있음
③ 저장 용량
- Kb
- Mb
- Gb
- Tb
- Fb
ⓒ 진수 ( 기본적인 진수와 변환법은 게시판에 존재하므로 패스하도록 하겠습니다 ^-^ ! )
① 2진수의 음수 표현
㉠ 1의 보수
- 주어진 이진수의 비트를 각각 0은 1로, 1은 0으로 변환하는 방법
㉡ 2의 보수
- 음수를 표현하는 방식 중 가장 많이 사용되는 방식이 2의 보수를 이용한
표기 방법
* 비트의 모임에서 가장 왼쪽의 비트가 최상위 비트 ( Msb )
- 음수의 이진수 표기인 2의 보수를 구하는 방법
* N비트에서 -a의 2의 보수 계산 방법 :: 2ⁿ - a
- 2의 보수를 구하는 다른 방법
* 단계 1 :: 음수의 절대값인 양의 정수의 이진수를 n 비트에서 구한다.
* 단계 2 :: 단계 1에서 얻은 이진수의 1의 보수를 n 비트에서 구한다.
* 단계 3 :: 단계 2에서 얻은 이진수에 1을 더한 n 비트만을 취한다.
- 4비트에서 -4를 2의 보수로 표현
* 단계 1 :: 음수의 절대값인 양의 정수의 이진수를 n 비트에서 구한다.
* 단계 2 :: 단계 1에서 얻은 이진수의 1의 보수를 n 비트에서 구한다.
* 단계 3 :: 단계 2에서 얻은 이진수에 1을 더한 n 비트만을 취한다.
㉢ 부호가 있는 정수 표현
- 2의 보수 이용
* 컴퓨터는 정수의 양수와 음수를 표현하는데 주로 2진수와 2의 보수를 이용
* 8비트의 메모리로는 2의 8승인 256가지 정보를 표현
㉣ 부호가 없는 정수와 오버플로
- Signed
* 양수와 음수를 모두 다루는 정수
- Unsigned
* 양수만을 다루는 정수
② 오버플로
- n개의 비트로는 표현의 한계가 잇으므로 n비트의 메모리에 표현 범위를 초과하는
수의 값을 저장하는 경우 오버플로 ( OverFlow ) 발생
③ 부동소수
㉠ 정규화
- 실수의 표현을 표준화하는 방법인 정규화는 실수의 소수점을 이동하여 소수점 왼쪽에
단 하나의 자릿수가 오도록 하는 방법
- 정규화된 실수 표현을 부동소수
- 부동 소수는 수의 소수점의 위치를 움직일 수 있게 한다는 의미
ex ) 19 . 15923 = 1 . 915923 x 10²
(정규화 전) (가수) (지수)
( 정규화 후)
ex ) 9876 . 5432 = 9 . 8765432 x 10³
( 정규화 전) ( 정규화 후)
㉡ 지수와 가수
- 부동소수는 소수 부분과 지수 부분으로 구분할 수 있는데 이를 각각 가수와 지수
- 가수는 수의 정밀도를, 지수는 수의 크기를 표현
- 저장방법은 부동소수의 표현을 부호부, 지수부, 가수부로 나누어 이진 표현으로 저장
ⓒ 문자와 논리
① 문자와 코드표
- 영문자는 7개의 비트의 조합으로 표현
② 아스키코드
- Ascll
* American Standard Code for Information Interchange
- 미국 표준협회에서 국제적인 표준으로 정한 문자 코드 체계
* 7비트를 사용하여 128개의 문자, 숫자, 특수문자 코드를 규정
- 아스키코드가 7비트를 이용하지만 실제로 한 문자는 8비트인 1바이트에 저장
* 한 문자에 시작은 0으로, 나머지는 코드값으로 구성
③ Ebcdic
- 엡시딕
* Extended Binary Coded Decimal Interchange Code
* 8비트를 사용하여 문자를 표현하는 코드 표준으로 IBM에서 제정한 코드
④ 유니코드
- 유니코드는 전세계 모든 언어를 하나의 코드 체계 안으로 통합하기 위하여
만들어진 코드
* 전 세계의 문자를 모두 표현하기 위한 2바이트인 16비트로 확장된 코드 체계
* 논리
= 참과 거짓을 의미하는 두가지 정보가 논리 값
= 하나의 비트 정보도 0과 1이므로 이를 각각 거짓과 참으로 표현
ⓓ 정수 연산
① 정수의 덧셈
- 정수의 연산에서 주의할 것은 정해진 비트를 넘어서는 올림은 무시
② 정수의 뺄셈
- 정수의 뺄셈에서는 2의 보수를 이용한 음수의 표현 방법을 이용
- a - b 의 연산은 a + ( - b ) 로 변환하여 덧셈을 수행
- 4 - 4 = 4 + ( - 4 )
Little Endian / Big EndianLittle Endian / Big Endian
Posted at 2013. 4. 7. 20:11 | Posted in 1학기/IT창의공학 1. 빅엔디안
- 주로 UNIX를 사용하는 RISC 프로세서 계열에서 사용하는 바이트 오더
- 네트워크 프로토콜에서 표준으로 사용하는 바이트 오더
- 메모리 시작 주소에 상위 바이트 부터 기록
ex)
4바이트(32bit)값 0x01020304를 빅엔디안 순서로 메모리에
입력되는 과정을 보면 다음과 같다.
=>그림을 보면 네모 한칸이 각각 메모리 한 번지를 의미하며,하위 주소에서 상위 주소로 주소 번지가 증가함을 의미한다.
하위주소 즉 시작 주소에 0x01020304 값중 가장 상위바이트인 0x01을 넣고, 다음 주소에 각각 하위바이트 값들을 넣어준다.
TIP:네트워크 프로토콜에서는 바이트 오더(순서)로 빅엔디안을 따르도록 하고 있으므로,
흔히 Intel계열 프로세서를 사용하는 PC환경에서는 리틀엔디안->빅엔디안 또는
빅엔디안->리틀엔디안 변경 처리를 잘 해주어야만 한다.
(htonl, ntohl, inet_addr 등 주로 사용)
2. 리틀엔디안
- 주로 Intel 프로세서 계열에서 사용하는 바이트 오더
- 메모리 시작 주소에 하위 바이트부터 기록
ex)4바이트(32bit)값 0x01020304를 리틀엔디안 순서로 메모리에
입력되는 과정을 보면 다음과 같다.
=> 그림을 보면 네모 한칸이 각각 메모리 한 번지를 의미하며,하위 주소에서 상위 주소로 주소 번지가 증가함을 의미한다.
하위주소(낮은주소) 즉, 시작 주소에 0x01020304 값 중에 가장 하위바이트인 0x04를 넣어주고 그 다음 상위바이트로 올라가면서 다음 주소번지에 값을 채워넣는다.
[출처] Big/Little Endian|작성자 brokenmagnum