컴퓨터구조

In Computer/컴퓨터구조

[컴퓨터 구조] Local Data on the Stack | 지역 변수 저장하는 메모리 공간

Local Data on the Stack | 지역 변수 저장하는 메모리 공간 프로그래밍 언어에서 함수 호출 시 생성되는 지역 변수들을 저장하는 메모리 공간을 Stack Frame이라고 한다. Stack Frame 메모리 공간은 호출된 함수가 종료되면 사라진다. Stack Frame 메모리 공간은 호출된 함수의 프레임(Activation Record)이라고 한다. Memory Layout | 메모리 레이아웃 프로그램이 메모리에 어떻게 배치되는지를 나타낸 표이다. Text : 프로그램 코드 Static data(정적 데이터) : 전역 변수 (ex.상수, c 정적 변수) Dynamic data(동적 데이터) : malloc과 같은 함수를 사용하여 동적으로 할당된 메모리를 저장한다. Stack : 자동 저장소..

In Computer/Dreamhack

[Hack] 컴퓨터 구조 | Computer Architecture

컴퓨터 구조 | Computer Architecture 컴퓨터 구조는 컴퓨터의 기능 구조에 대한 설계, 명령어 집합구조, 마이크로 아키텍처, 그리고 기타 하드웨 및 컴퓨팅 방법에 대한 설계 등이 포함된다. 컴퓨터의 기능 구조에 대한 설계 컴퓨터가 연산을 효율적으로 하기 위해 어떤 기능들이 컴퓨터에 필요한지 고민하고, 설계하는 분야이다. 대표적으로 폰 노이만 구조, 하버드 구조, 수정된 하버드 구조가 있다. 폰 노이만 구조 연산과 제어를 위해 중앙처리장치(CPU)를, 저장을 위해 기억장치(Memory)를 사용한다. 그리고 장치간에 데이터나 제어 신호를 교환할 수 있도록 버스(bus)라는 전자 통로를 사용한다. 중앙처리장치 | CPU CPU는 프로그램의 연산을 처리하고 시스템을 관리하는 컴퓨터의 두뇌이다. ..

In Computer/컴퓨터구조

[컴퓨터구조] Operands of Register, Memory and Immediate | 레지스터, 메모리, 즉각(상수)의 피연산자

Register Operands | 레지스터 오퍼랜드 산술 Instruction(명령어)는 Register Operands를 사용합니다 MIPS에는 32개의 32비트 레지스터를 사용한다. 자주 접근하는 데이터에 사용 0 ~ 31까지 번호로 이름을 사용 32bit 데이터느 "word"라고 불린다. 어셈블러의 이름 임시 변수(Temporary variables)에 대해서는 $t0, $t1, …, $t9 저장된 변수(Saved variables)에 대한 $s0, $s1, …, $s7 설계 원칙 2: 작을수록 빠르다 c.f. 메인 메모리: 수백만 개의 위치를 가짐 Register Operands Example C code f = (g + h) - (i + j); //f, ... , j in $s0, ..., $..

In Computer/컴퓨터구조

[컴퓨터구조] Arithmetic Operations | 산술 연산

Arithmetic Operations | 산술 연산 덧셈과 뺄셈 - three operands(3개의 피연산자) 2개의 source(소스)와 하나의 destination(목적지)이다. add a, b, c # a get b + c //a = b + c 모든 Arithmetic Operations(산술 연산)은 다음과 같은 형태를 지닌다. 설계 원칙 1: Simplicity favors regularity. 간결성(simplicity)는 규칙성(regularity)을 선호한다. 규칙성(regularity)을 이용하여 간결하게 만든다. 간결성(simplicity)을 통해 더 낮은 비용으로 더 높은 성능을 제공한다. 간결하게 만들어야 저렴한 가격의 기계에서도 높은 성능을 이끌어낼 수 있음. Arithmeti..

In Computer/컴퓨터구조

[컴퓨터구조] The MIPS Instruction Set | MIPS 명령 집합

Instruction Set | 명령 집합 컴퓨터의 Instruction(명령어)들의 Repertorie(레파토리) 각각 컴퓨터마다 Instruction set(명령어 집합)이 다르다. 하지만, 많은 공통점들이 있다. 초창기 컴퓨터에는 매우 간단한 Instruction set(명령어 집합)이 있었다. 단순하게 구현되어 있다. 많은 현대 컴퓨터들은 또한 간단한 Instruction sets(명령어 집합들)을 가지고 있다. The MIPS Instruction Set | MIPS 명령 집합 책 전체에서 MIPS를 예시로 사용되고 있다. 스텐포드 MIPS는 MIPS Technologies에 의해서 상용화 되었다. 임베디드 코어 시장의 큰 부분을 점유율을 차지하고 있다. 가전제품, 네트워크/저장 장치, 카메라,..

In Computer/컴퓨터구조

[컴퓨터구조] Addressing Mondes | 주소 지정 모드 (참고)

Addressing Mondes 그림 참조 Addressing Mondes Summary | 주소 지정 요약 중요한 데이터 주소 지정 모드 : Displacemoent(변위), Immediate(즉시), Reguster Indirect(간접 레지스터) Displacemoent(변위) 크기는 12~16비트 Immediate(즉시) 크기는 8~16바트

In Computer/컴퓨터구조

[컴퓨터구조] Memory Addressing Objects : Big Endian and Little Endian | 메모리 주소 지정

Big Endian Big Endian은 상위 바이트를 뜻합니다. Big Endian은 메모리에 저장될 때 상위 바이트가 먼저 저장되기 때문에 메모리 주소가 작은쪽에 히위 바이트가 저장됩니다. MIPS, Sparc... Little Endian Little Endian은 하위 바이트를 뜻합니다. Little Endian은 메모리에 저장될 때 하위 바이트가 먼저 저장되기 때문에 메모리 주소가 작은 쪽에 상위 바이트가 저장됩니다. Intel 80x86, DEC Vax, RISC-V... 이해를 돕기 위한 그림 메모리에 저장될 때는 아래와 같은 그림으로 저장된다. *msb(Most Significant Bit) : 가장 큰 자릿수의 비트, 즉 가장 왼쪽 비트 *lsb(Least Significant Bit) ..

In Computer/컴퓨터구조

[컴퓨터구조] Amdahl's “Law” | 암달의 법칙

Amdahl's “Law” | 암달의 법칙 컴퓨터 시스템의 일부를 개선할 때 전체적으로 얼마만큼의 최대 성능 향상이 있는지 계산하는데 사용된다. Speedup = 1 / [(1 - P) + (P / S)] "전체 작업에 대한 속도 향상 비율 = 1 / [(1 - 전체 작업 중 개선된 부분이 차지하는 비율) + ( 전체 작업 중 개선된 부분이 차지하는 비율/개선된 부분에 대한 속도 향상 비율)]" 로 정리할 수 있다. 즉, 다시 말해 Speedup : 전체 작업에 대한 속도 향상 비율 P : 전체 작업 중 개선된 부분이 차지하는 비율 S : 개선된 부분에 대한 성능(속도) 향상 비율 Example 시스템의 80%가 개선되어 5배의 성능 향상이 있었다면, 전체 시스템에서 최대 성능 향상은 다음과 같다. Sp..

팽이리
'컴퓨터구조' 태그의 글 목록