컴퓨터 구조 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 보다 많은 명령어를 실행해야

   하지만 하나의 명령어가 단순하여 그 처리 속도가 매우 빠름

'1학기 > IT창의공학' 카테고리의 다른 글

프로그래밍 언어  (0) 2013.04.09
순서도  (0) 2013.04.09
컴퓨터 구조  (0) 2013.04.09
정보의 표현  (0) 2013.04.09
Little Endian / Big Endian  (0) 2013.04.07
//

컴퓨터 구조컴퓨터 구조

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캐쉬

- 디스크 캐쉬

 

 

'1학기 > IT창의공학' 카테고리의 다른 글

프로그래밍 언어  (0) 2013.04.09
순서도  (0) 2013.04.09
컴퓨터 구조 2  (0) 2013.04.09
정보의 표현  (0) 2013.04.09
Little Endian / Big Endian  (0) 2013.04.07
//

정보의 표현정보의 표현

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 )

 

'1학기 > IT창의공학' 카테고리의 다른 글

프로그래밍 언어  (0) 2013.04.09
순서도  (0) 2013.04.09
컴퓨터 구조 2  (0) 2013.04.09
컴퓨터 구조  (0) 2013.04.09
Little Endian / Big Endian  (0) 2013.04.07
//

Little Endian / Big EndianLittle Endian / Big Endian

Posted at 2013. 4. 7. 20:11 | Posted in 1학기/IT창의공학

Big/Little Endian


8비트 단위의 데이터 저장 방식에 따른 차이점이며 PC도 마찬가지이지만
인텔계열의 CPU에서는 메모리에 여러 바이트의 내용을 저장할 때, 하위
바이트가 먼저 오고 상위바이트 일수록 뒤에 오는 Little Endian방식을
따른다. 


모토로라 계열의 CPU처럼 가장 상위 바이트가 먼저오는 방식은
Big Endian이라고 한다. Big은 Litte과는 반대로 상위 어드레스에 하위
데이터 하위 어드레스에 상위 데이터가 저장된다. 해당 설정은 ARM7이 
구현된 칩에 따라 다르지만, 보통 칩 외부에서 핀 입력에 의해 모드가 
결정된다. 삼성반도체의 ARM 관련 프로세스는 초기에는 Big Endian만 
지원했지만 현재는 Big/Little 둘 다 지원되고 있다. ARM7은 외부핀에 
의해 결정되지만 ARM9은 내부 프로그램에 의해 결정된다. Endian 방식을
Application 프로그램 운영 중에 바꾸면 정상동작을 보장받을 수 없으며
비트 단위로 바꾸고자 할 경우는 1바이트씩 Byte Ordering Swap
(0~7<->24~31, 8~15<->16~23)해야 한다. 예를 들어 1바이트 메모리에 
다음과 같이 저장되어 있고 이를 4바이트로 두 가지 방법으로 읽어
올 경우 다음과 같다.

100번지 = 0x78
101번지 = 0x56
102번지 = 0x34
103번지 = 0x12

Big Endian 방법 읽기
0x78563412

Little Endian 방법 읽기
0x12345678


 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

'1학기 > IT창의공학' 카테고리의 다른 글

프로그래밍 언어  (0) 2013.04.09
순서도  (0) 2013.04.09
컴퓨터 구조 2  (0) 2013.04.09
컴퓨터 구조  (0) 2013.04.09
정보의 표현  (0) 2013.04.09
//