일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- UIView
- NavigationBar
- 2020.06.14
- 2020.05.17
- 백준 10828
- 모달인듯 모달 아닌 뷰
- UIPanGestureRecognizer
- BOJ
- Constraint
- 스택
- struct
- SWiFT
- stl
- list
- Stack
- Reversing
- Swing
- Reverse Engineering
- 2020.04.19
- vector
- 순차 컨테이너
- 표준 템플릿 라이브러리
- 컴퓨터 구조
- 백준 1920
- 컴퓨터구조
- 알고리즘
- ios
- class
- Animation
- scroll
- Today
- Total
목록SWING/컴퓨터구조 (8)
야금야금
MIPS 시스템 :밉스 테크놀로지에서 개발한 RISC ISA이다. 1980년대 스탠포드 대학에서 John Hennessy와 그의 동료들에 의해 개발되었으며 Silicon Graphics, Nintendo, Cisco의 제품에서 사용되고 있다. [설계 원칙 1] · 규칙적인 것이 간단성을 위해 좋음 - 일관성있는 명령어 형태 - 같은 수의 피연산자 (두 개의 source와 한 개의 destination) - 하드웨어로 구현하기 쉬움 명령어 - Addition High-level code : a = b + c ; MIPS assembly code : add a, b, c - Subtracton High-level code : a = b - c ; MIPS assembly code : sub a, b, c [..
캐시 기억장치 : 주기억장치에 저장되어 있는 명령어와 데이터 중의 일부를 임시적으로 복사해서 저장하는 장치 특징 - 명령어와 데이터를 저장하고 인출하는 속도가 주기억장치보다 빠름 - 자주 사용되는 명령들을 저장하고 중앙처리장치(CPU)에 빠른 속도로 제공함 - 느리게 동작하는 주기억장치와 빠르게 동작하는 중앙처리장치(CPU) 사이에서 속도 차이를 줄여주는 고속 완충 기억장치 - 캐시 기억장치의 용량에 의해 CPU의 가격이 결정됨 캐시 기억장치가 없는 시스템 ① CPU가 명령어와 데이터를 인출하기 위해 주기억장치에 접근 ② 주기억장치에서 명령어나 필요한 정보를 획득하여 CPU 내의 명령어 레지스터 등에 저장 모든 데이터가 주기억장치에 존재하며 처리과정이 느리다 캐시 기억장치가 있는 시스템 : CPU가 명령..
분기 명령어 : 실행의 흐름을 변경하거나 어떤 루틴을 호출하는데 사용되는 명령어 형태 1. BRZ(branch if zero) 메모리 주소 : 조건 코드가 0이면 해당 번지로 분기하라는 명령어 2. BR 메모리 주소 : 무조건 해당 번지로 분기하라는 명령어 3. BRE(branch if equal) R1, R2, 메모리 주소 : 레지스터 R1과 레지스터 R2의 내용이 같다면 해당 번지로 분기하라는 명령어 ex) BRZ(branch if zero) 211 : 조건 코드가 0이면 211로 분기 BR 202 : 무조건 202번지로 분기 BRE(branch if equal) R1, R2, 235 : 레지스터 R1과 레지스터 R2의 내용이 같다면 235번지로 분기 서브루틴 : 한 블록으로 구성된 명령어 실행 중 ..
메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리가 필요하다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 이는 다음과 같다 출처 : http://tcpschool.com/c/c_memory_structure Code 영역 : 메모리의 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부른다. 기계어로 저장되어 있으며 프로그램이 시작하고 종료될 때 까지 메모리에 존재한다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다. Data 영역 : 프로그램의 전역 변수와 정적(static)변수가 저장되는 영역이다. 데이터 영역은 프로그램의 시작과 함께..
지난 시간에는 명령어의 형식에 대해 공부하였다. 이번에는 명령어를 효과적으로 실행하기 위한 기법 3가지(주소 지정 방식 / 파이프라인 / 인터럽트)를 살펴보도록 하자 주소 지정 방식 주소 지정 방식은 주 기억장치에 데이터가 저장된 위치(=주소)를 피연산자 필드(=오퍼랜드 필드)를 사용하여 제공한다. 담을 수 있는 비트 수에 제한이 있기 때문에 효과적으로 명령어를 처리할 수 있는 다양한 주소 지정 방식이 사용된다. 1) 직접 주소 지정 방식 : 가장 일반적인 개념의 간단한 주소 지정 방식으로 오퍼랜드 필드의 내용이 유효 주소가 되는 방식이다. (EA = A) 장점 : 데이터 인출을 위해 오퍼랜드에 저장된 해당 주소의 기억 장치에 한 번만 접근하고 명령어의 형식이 간단하다. 단점 : 연산 코드를 제외하고 남..
컴퓨터 프로그래밍 언어는 상위 프로그래밍 언어와 하위 프로그래밍 언어로 나뉜다. 사용자는 상위 프로그래밍 언어(C, C++ 등)를 이용해 코드를 작성하고 이 언어는 컴파일러나 인터프리터에 의해 기계어로 번역되어 컴퓨터가 해당 작업을 수행하게 한다. 하위 프로그래밍 언어 중 어셈블리어란 기계어를 사람이 사용하는 언어에 가깝게 문자로 기호화한 것이다. 명령어가 CPU에서 처리될 때 어셈블리 언어의 형태로 처리되며 (CPU에 따라 어셈블리 언어의 형식이 다르다) 어셈블리어가 번역되는 작업을 어셈블(Assemble)이라 한다. 어셈블리 명령어는 다음과 같은 형식을 갖는다. 레이블 부 (Lable) : JUMP, LOOP와 같은 순환/반복 명령에서 CPU실행을 해당 레이블로 이동시킬 때 사용한다 레이블을 생성할 ..
컴퓨터는 외부에서 들어오는 정보를 0과 1로 표현한다. 그 표현법에 대해 알아보자 비트 Bit : 컴퓨터 정보 표현의 기초 단위이다. 0과 1의 값이 저장되는 가장 작은 저장공간을 말한다. 바이트 Byte : 하나의 영문자 혹은 숫자를 표현하기 위해서는 8개의 비트가 필요하다. 이처럼 하나의 문자를 표현하는 8비트를 1바이트라고 한다. (8bit = 1byte) 워드 Word : 바이트들로 구성된 정보의 단위이다. 진법이란? : 사용할 수 있는 숫자의 개수와 자리값을 정의해 주는 수 체계이다. 10진법 : 0~9의 10개의 숫자를 이용하여 수를 표현한다. 사람이 일상생활에서 가장 많이 사용하는 수의 체계이다. 2진법 : 0,1을 사용하여 수를 표현한다. 컴퓨터가 사용하는 수의 체계이다. 16진법 : 0~..
컴퓨터 구조에 대해 학습하고 프로그램 언어가 어떻게 실행되는지 공부해보자 [컴퓨터 시스템의 기본적인 구성요소] * 중앙처리장치(CPU) : 컴퓨터의 모든 장치의 동작을 제어하고 명령을 실행한다. 사람의 두뇌와 같은 역할을 수행하고 산술 논리 연산장치, 레지스터, 제어장치, 내부 버스로 구성된다. * 산술논리연산장치 : 산술 연산과 논리 연산 등의 실질적인 연산을 처리하는 장치. 산술 및 부울 연산기, 상태플러그, 이동기, 보수기로 구성된다. * 레지스터 : CPU내에서 데이터를 임시로 저장하고 처리하는 기억 장소이다. 처리속도가 빠르다. 기억장치 버퍼 레지스터, 명령어 레지스터, 기억장치 주소 레지스터, 명령어 해독기, 프로그램 카운터로 구성된다. * 제어장치 : 명령어를 해독하고 제어신호를 해당장치에 ..