Computer Science/컴퓨터 구조

    4. 명령어의 형식과 CPU구조 ( 0-3주소 )

    명령어 형식에서 주소필드수, 즉 몇주소 형식인가는 컴퓨터의 레지스터 구성에따라 다르다. 컴퓨터의 cpu구조는 '단일누산기구조', '범용레지스터구조', '스택구조' 중 하나이다. 명령어 형식 1) 0 - 주소 명령형식 동작코드 동작코드만 존재하고 주소가 없는 형식이다. 이 형식은 스택을 이용하게 된다. 데이터를 기억시킬때 PUSH나 껴낼때 POP을사용한다. (PUSH,POP명령어는 스택에만 존재) 동작방식은 바이너리 연산의 경우 스택의 상단부 데이터 두개로 이루어지며, 연산 수 결과는 top이 지정하는 곳의 하단에 기억된다. 스택 구조 컴퓨터에서 수식을 계산하려면 우선 수식을 역polish표현으로 변환해야 한다. ex) 계산기 2) 1 - 주소 명령형식 동작코드 주소 연산대상이 되는 두개중 하나면 표현하고..

    3. 명령어의 종류

    1) 데이터 처리 명령 (산술, 논리, 시프트 명령) ㉠ 산술명령 : 기본적인 산술 연산은 가산, 감산, 곱셈, 나눗셈이 사칙연산이다. 대부분의 컴퓨터는 사칙 연산을 하는 산술 명령을 사용하지만 소형 컴퓨터는 가산(또는 감산)명령만 사용하기도 한다. 이 경우 곱셈이나 나눈셈은 소프트웨어적인 서브루틴을 이용하여 실행한다. Increment(레지스터나 기억장치내용을 1 증가) Decrement Add / Subtrack / Multiply / Divide Add with carry / Subtrack with borrow / Negate(2's complement) ㉡ 논리연산 및 비트처리명령 : 논리연산명령은 피연산자를 비트별 처리한다. 논리연산 명령을 사용하여 비트를 변경하거나 ..

    2. 명령어의 구조

    명령은 컴퓨터에게 특정 동작을 실행하도록 지시하는 2진코드로 가장 기본적인 부분은 동작코드(op-code)이다. 동작코드는 가감승제나 시프트, 보수와 같은 동작을 지시하는 코드로 n비트 동작 코드는 최대2^n개 동작을 실행할 수 있다. 명령의 동작코드가 지시하는 동작은 기억장치 또는 레지스터에 저장된 데이터에 대해 실행되므로 명령은 동작 뿐만 아니라 피연산자가 저장된 위치 및 결과를 저장할 위치를 지정해야 한다. 보통 피연산자의 위치는 주소로 지정한다. ※ 동작(operation)과 마이크로동작(micro-operation)의 관계 : 동작코드는 기억장치에 저장된 명령의 일부로 컴퓨터에게 특정 동작을 실행하도록 명령하는 이진 코드이다. 제어장치는 기억장치에서 명령을 읽고 동작코드를 해석하여 해당 마이크로..

    1. 중앙처리장치(Centural Processing Unit : CPU)

    컴퓨터구조 입력장치 + 출력장치 + 저장장치 + 처리장치 1. 중앙처리장치(Centural Processing Unit : CPU) 연산장치 제어장치 레지스터 3가지로 구성되어있다. 가. 연산장치(ALU) : 연산을 실행하기 위한 마이크로 동작을 실행 연산징치(Arthmetic and Logic Unit : ALU)는 산술연산 및 논리연산을 실행하며 산술연산의 기본4칙 연산은 가산동작과 시프트 동작을 이용하여 할수 있으므로 가산기와 시프트회로 및 기본적인 논리연산회로로 구성할 수 있다. 연산에 사용되는 data는 레지스터에 기억되로, 연산된 결과도 역시 레지스터에 기억된다. 1) 가산회로 : 병렬가산기로 실현할수 있는 연산은 보수를 이용하면 다음과 같다. 가산, 감산, 전송, Incremet, Decre..

    stat 구조체

    stat 구조체의 st_mode 항목에 파일의 종류와 접근권한 정보 저장 (16bit로 구성) 파일종류 Effective user&group owner접근권한 group 접근권한 others 접근권한 -, d, b, c, l s s t r w x r w x r w x (1) 파일종류 (2) Effective user&group (특수 접근권한) (3)

    리눅스의 특징

    리눅스의 특징 1) 다중작업 (Multi process) 운영체제가 동시에 여러개의 프로그램을 사용할 수 있다. 2) 다중사용자 (Multi User) 여러명의 사용자가 터미널이나 네트워크 연결을 통해 동일한 하나의 리눅스 시스템을 사용할 수 있다. 3) 다중프로세서 (Multi processor) 2개 이상의 CPU로 구성되어있는 시스템으로, 여러 응용프로그램들이 여러프로세서들에 분산될 수 있도록 한다. 4) 이식성과 확장성 한개의 언어로 작성된 프로그램만 사용할 수 있는 것이 아니라 다양한 언어로된 프로그램을 리눅스 환경에 맞추어 컴파일하면 어렵지 않게 사용할 수 있다. 이렇게 만들어진 응용프로그램과 유틸리티들은 그 사용법이 굉장히 유연하다. 대부분 프로그램들은 복잡한 기능을 가지지 않고 가장 기본적..